项目要求:
1)准备3台虚拟机,一台Windows虚拟机PC1(不限制win7或者win10)、一台Linux服务器server1(IP是172.16.100.100/24)和一台空虚拟机server2。虚拟机网络使用仅主机模式。
2)server1提供DHCP服务给PC1和server2分配对应网段的IP地址。
3)server1提供PXE服务,能够使server2可以自动安装Centos7 Linux操作系统。
4)在server1安装和启动httpd服务对外提供Web服务,并搭建DNS服务负责解析地址www.mhh.com,使得PC1能够使用域名www.mhh.com访问Web服务器。
5)在server2安装NFS服务,提供共享目录/share ,在/share目录中创建文件index.html,文件内容自定义。把server2的/share目录通过NFS挂载到server1的/var/www/html目录下,使得PC1访问Web服务时能够显示自定义的内容。
项目要求一:
1)修改服务器server1虚拟机IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #编辑网卡配置文件
systemctl restart network #重启网卡令更改后配置生效
ifconfig #查看网卡配置详情
重启并查看是否更改成功
2)配置虚拟机网络使用仅主机模式
编辑→虚拟网络编辑器→点击更改设置,然后改为“仅主机模式”,圈的使用本地DHCP关掉,因为本地DHCP和之后要配置的网段不在同一网段,会导致冲突。然后“应用”,然后“确定”。
3)创建新虚拟机步骤
兼容性
安装来源
操作系统选择
选位置安装
处理器设置
虚拟机内存至少要2G,否则装机会提示内存空间不足,出错卡住
网络类型选主机模式
I/O控制器类型默认
磁盘类型默认
选择磁盘默认
容量大小自定
指定磁盘默认
自定义硬件
声卡和打印机不需要选择移除
网络适配器选仅主机模式
使用物理驱动器选择自动检测
配置完成
PXE(项目要求2和3)
1)配置本地yum源仓库
mount /dev/cdrom /mnt/ #把光盘挂载到/mnt目录下
cd /etc/yum.repos.d/ #切换到yum.repos.d目录下
mkdir repos.bak #新建一个目录,用于备份里面原有的文件或目录
mv *.repo repos.bak #将所有的里面所有的文件移动到刚创建的目录中
vim local.repo
[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定URL 访问路径为光盘挂载目录
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=0 #不验证软件包的签名
yum clean all #删除yum缓存
yum makecache #更新yum缓存
配置完成以后:wq保存并退出
2)安装、配置及启用TFTP
yum -y install tftp-server xinetd
vim /etc/xinetd.d/tftp
:wq保存配置文件后,开启服务并设为开机自启
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
3)安装并启用 DHCP 服务
yum -y install dhcp #安装dhcp服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #用实例模板覆盖主配置文件
vim /etc/dhcp/dhcpd.conf #编辑dhcp配置文件
ddns-update-style none; #禁用 DNS 动态更新
next-server 172.16.100.100; #指定 TFTP 服务器的地址
filename "pxelinux.0"; #指定要下载的 PXE 引导程序的文件
subnet 172.16.100.0 netmask 255.255.255.0 { #声明要分配的网段地址
range 172.16.100.100 172.16.100.200; #设置地址池
option routers 172.16.100.100; #默认网关地址指向TFTP服务器的IP地址
}
systemctl start dhcpd
systemctl enable dhcpd
通过vim /etc/dhcp/dhcpd.conf 编辑dhcp配置文件
:wq保存配置文件,然后开启dhcp服务并设为开机自启
4)准备 Linux 内核、初始化镜像文件
mount /dev/sr0 /mnt #挂载光盘
cd /mnt/images/pxeboot #切换到光盘的pxeboot目录下
cp vmlinuz /var/lib/tftpboot/ #复制 Linux系统的内核文件到TFTP根目录下
cp initrd.img /var/lib/tftpboot/ #复制初始化镜像文件(linux引导加载模块)到TFTP根目录下
5)PXE引导程序
yum -y install syslinux #PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制 PXE引导程序 到TFTP根目录下
ls /var/lib/tftpboot/ #查看是否已经复制过来
6)安装FTP服务,准备CentOS7安装源
yum -y install vsftpd #安装ftp服务
mkdir /var/ftp/centos7 #创建安装源目录
cp -rf /mnt/* /var/ftp/centos7/ #将挂载的光盘里的镜像文件强行复制到刚创建的目录里
复制以后查看已复制成功
systemctl start vsftpd #启动ftp服务
systemctl enable vsftpd #设置开机自启ftp服务
7)配置启动菜单
默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
cd /var/lib/tftpboot #切换到tftp根目录下
ls #查看有没有pxelinux.cfg,没有就创建一个
mkdir /var/lib/tftpboot/pxelinux.cfg #创建一个pxelinux.cfg目录
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto #指定默认入口名称
prompt 0 #设置是否等待用户选择,“1”表示等待用户控制
label auto #图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz #kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.163.5/centos7
label linux text #文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.163.5/centos7
label linux rescue #救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.163.5/centos7
8)关闭防火墙并开启新虚拟机验证PXE网络安装
systemctl stop firewalld.service #关闭防火墙服务
setenforce 0 #关闭安全选项
开启新创建的虚拟机(下图加载中)
PXE网络安装完成
验证项目要求2
1)虚拟机win10上验证(PC1)
2)新装虚拟机上开机验证(server2)
配置正向解析(项目要求4)
1)关闭防火墙及安全选项(前面已关不再操作),安装bind包
yum install -y bind #安装bind软件包
rpm -qc bind #查询bind软件包配置文件所在路径
/etc/named.conf #主配置文件
/etc/named.rfc1912.zones #区域配置文件
/var/named/named.localhost #区域数据配置文件
2)修改主配置文件
vim /etc/named.conf
options {
listen-on port 53 { any; }; #监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
#######listen-on-v6 port 53 { : : 1; }; #ipv6行如不使用可以注释掉或者删除
directory "/var/named"; #区域数据文件的默认存放位置
dump-file "/var/named/data/cache_dump.db"; #域名缓存数据库文件的位置
statistics-file "/var/named/data/named_stats.txt"; #状态统计文件的位置
memstatistics-file "/var/named/data/named_mem_stats.txt"; #内存统计文件的位置
allow-query { any; }; #允许使用本DNS解析服务的网段,也可用any代表所有
......
}
zone "." IN { #正向解析"."根区域
type hint; #类型为根区域
file "named.ca"; #区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
};
include "/etc/named.rfc1912.zones"; #包含区域配置文件里的所有配置
3)修改区域配置文件
vim /etc/named.rfc1912.zones #可在文件里有模版, 可复制粘贴后修改
zone "mhh.com" IN { #正向解析"benet.com"区域
type master; #类型为主区域
file "mhh.com.zone"; #指定区域数据文件为benet.com.zone
allow-update { none; };
}
4)配置正向区域数据文件
cd /var/named/
cp -p named.localhost mhh.com.zone #保留源文件的权限和属主的属性复制
vim /var/named/mhh.com.zone
$TTL 1D #设置缓存解析结果的有效时间,就是一条域名解析记录在DNS服务器中的存留时间为1天
@ IN SOA mhh.com. admin.mhh.com. ( #admin.mhh.com这里也可以用原文件里的地址,表示管理员邮箱
0 ;serial
1D ;refresh 1H ;retry
1W ;expire
3H ) ;minimum
NS mhh.com. #记录当前区域的DNS服务器的名称
A 172.16.100.100 #记录主机IP地址
www IN A 172.16.100.100 #记录正向解析www.benet.com对应的IP
#"@"这里是一个变量,当前DNS区域名
#SOA标记用于同步主从服务器的区域数据,如更新序列号相同则不会更新
#"benet.com."此为完全合格域名(FQDN),后面有个"."不能漏掉
"#"admin.benet.com."表示管理员邮箱,这里的"@"是变量,所以用"."代替
通过vim /var/named/mhh.com.zone进入区域数据配置文件
5)打开dns服务,关闭防火墙
6)测试DNS解析
PC1上验证
服务器上验证
NFS
在server2上操作
1)首先确认server2作为NFS服务器的IP地址,使用ifconfig查看
2)安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
3) 设置共享目录
mkdir -p /opt/share
chmod 777 /opt/share/
vim /etc/exports
/opt/share 172.16.100.102/24(rw,sync,no_root_squash)
客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、“?”通配符。
常用选项 “rw” 表示允许读写,“ro” 表示为只读;
sync :表示同步写入到内存与硬盘中。
async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
no_root_squash : 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
all_squash :所有访问用户都映射为匿名用户或用户组。
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
4)启动 NFS 服务程序
先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
netstat -anpt | grep 111 #查看rpcbind端口111是否开启, rpcbind默认使用tcp的111端口
5)在/opt/share目录下创建文件并编辑
6)查看本机发布的 NFS 共享目录
exportfs -rv #发布共享
showmount -e #查看共享
在server1上操作
7)客户机访问NFS共享资源
首先和server2一样,查询和安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind
systemctl stop firewalld.service
setenforce 0
showmount -e 172.16.100.102 #查看 NFS 服务器端共享了哪些目录
8)挂载NFS共享目录
cd /var/www/html #切换到要挂载的目录下
ls #查看是否有index.html文件
touch index.html #创建index.html文件
mount 172.16.100.102:/opt/share /var/www/html #挂载共享目录
9)验证共享是否成功
查看index.html内容发现server1上已经实现
打开虚拟机win10(PC1)发现无法访问
然后在server1上重新安装和启动http服务
再次在PC1上查看,PC1访问Web服务时能够显示自定义的内容。
来源:oschina
链接:https://my.oschina.net/u/4375265/blog/4815307