本文主要是介绍学会这个,让你在Linux网络配置中超过70%的人!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实验环境:
1)、准备3台虚拟机,一台Windows虚拟机PC1(不限制win7或者win10)、一台Linux服务器server1(IP是172.16.100.100/24)和一台空虚拟机server2。虚拟机网络使用仅主机模式。
2)、server1提供PXE服务,能够使server2可以自动安装Centos7 Linux操作系统。并且server1提供DHCP服务给PC1和server2,分配对应网段的IP地址。
3)、在server1安装和启动httpd服务对外提供Web服务,并搭建DNS服务负责解析地址www.gcc.com,使得PC1能够使用域名www.gcc.com访问Web服务器。
4)、在server2安装NFS服务,提供共享目录/share ,在/share目录中创建文件index.html,文件内容自定义。把server2的/share目录通过NFS挂载到server1的/var/www/html目录下,使得PC1访问Web服务时能够显示自定义的内容。
实验步骤:
需求1:准备3台虚拟机,一台Windows虚拟机PC1(不限制win7或者win10)、一台Linux服务器server1(此处使用centos 7-1)(IP是172.16.100.100/24)和一台空虚拟机server2(此处使用centos 7-test)。虚拟机网络使用仅主机模式。
注意:这3台虚拟机网卡都要设置为仅主机模式VMnet1,创造一个内网环境,方便实验。
注意我们也需要在VMware中的设置中的虚拟网络编辑器中将仅主机模式下的DHCP功能去掉,不然会影响后续的操作.
根据要求更改一下7-1的网卡为172.16.100.100,并重启网卡。
接下来我连接上XShell进行实验,大家也可以在Linux的终端中进行试验。
完成以下需求之前,我们需要将防火墙关闭,正常在Linux实验环境中,基本都是需要关闭防火墙和LInux自带的防护功能的。同时将磁盘进行挂在,创建本地yum源仓库(或者在线源仓库)进行后续需求的软件下载。
之前我已经将本地yum源仓库建好了,这边就不进行赘述了。如果不会建源仓库可以参考我之前写的关于创建本地源仓库或者是创建在线源仓库的博客,里面有详细的步骤。
需求2:server1提供PXE服务,能够使server2可以自动安装Centos7 Linux操作系统。并且server1提供DHCP服务给PC1和server2,分配对应网段的IP地址。
1、进行PXE装机时,需要有TFTP小文件传输协议做支持的。所以我们的第一步就是下载、TFTP相关的软件包。
tftp-server是提供TFTP服务的软件包;xinetd是给TFTP提供支持的,而且TFTP的配置文件是放在xinetd中的。
接着就是更改tftp的配置文件了,存在位置是/etc/xinetd.d/tftp中
需要更改的地方已经狂=框出来了,第一个框改成 no,表示允许多台机子一起装;
第二个框中改成no,表示开启tftp服务。
然后就是开启tftp和xinetd服务,并设为开机自启。
2、安装好TFTP服务后,开始进行DHCP服务的设置。
提供DHCP服务需要在DHCP服务器上(也就是7-1上)安装DHCP软件包,然后修改DHCP的配置文件,来提供IP地址的分配。
当下载好DHCP软件包以后,进入DHCP的配置文件中,配置文件的位置在 /etc/dhcp/dhcpd.conf
但是一开始该配置文件里面是没有内容的,只有一个提示让我们去查看/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example模板。
所以我们查看完该模板以后,将该模板复制到DHCP的配置文档中进行修改。
然后我们就对DHCP的配置文档进行修改,以达到自动分配IP地址的功能。
首先红框中的3行需要我们自己写在配置文档中。
第一行是关闭DNS的自动更新功能,来提高DHCP的效率的。
第二行是指定TFTP服务器的地址的,这样就可以通过TFTP来将分配好的地址传给客户机。
第三行是指定PXE引导程序的文件名,因为IP地址需要在PXE装机的引导程序中进行分配。
接着在该配置文件中找到修改地址池的模板,进行修改(可复制后修改,也可直接在模板中进行修改)。
第一行是设置要分配IP地址的客户机的网段
第二行是设置分配的IP地址的地址池
第三行是指向默认网关地址,即TFTP服务器的地址,原因和上面一样,IP需要通过TFTP进行传输。
修改完DHCP的配置文件以后,将DHCP服务开启,并设为开机自启。
3、设置好DHCP以后,就可以准备Linux内核和初始化镜像文件了。
注意, Linux系统内核的 vmlinuz和镜像文件 initrd.img,存放的位置在 /mnt/images/pxeboot中。
我们需要复制LInux系统的内核文件和初始化镜像文件到TFTP的根目录下,存放到TFTP的根目录下是为了之后装机的时候,通过TFTP将它们传输到需要装机的客户机中然后进行安装。
4、下一步是准备PXE引导程序(用于PXE网络安装的引导程序为 pxelinux.0,由软件 syslinux提供)
PXE的引导程序由软件包syslinux提供,所以我们需要下载该软件包
下载好以后,复制PXE引导程序到TFTP的根目录下。
PXE引导程序的保存位置在/usr/share/syslinux/pxelinux.0
5、接着开始安装FTP服务,并准备centos7安装源
首先需要安装FTP的软件包vsftpd。
然后就是准备centos7的安装源了。安装源就是将7-1服务器的磁盘中的各种配置备份一份到自己在/var/ftp/中创建的centos的目录中。
那么首先就是在ftp的目录下创建一个centos7的目录,为了存放从/mnt下复制过来的大量的文件。
因为/mnt目录下也还有各种目录,所以我们复制的时候需要加上“-rf”,进行强制递归复制。
然后就是开启ftp服务和设为开机自启
6、下一步是配置启动菜单文件。
启动菜单文件是需要存放在/var/lib/tftpboot/pxelinux.cfg目录下的。名称为default
其中pxelinux.cfg目录是需要自己建的,default这个菜单文件也是需要自己创建和编写的。
default中一开始是空白文件,所有的内容都是需要自己添加的。
7、当完成上面各项配置以后,就可以进行半自动化安装了。
8、那么要实现全自动化安装的话,就需要开启Kickstart无人值守功能
首先就是将kickstart相关的软件包system-config-kickstart下载下来。
安装好这个软件包以后,就需要在虚拟机中进行以下图像化的操作了。
在终端下输入“system-config-kickstart”,打开配置程序菜单,按照下面的步骤一步步配置修改后保存即可。
(1)、基本配置:
默认语言设为 “中文(简体) "
时区设为 “Asia/Shanghai”
设置root密码
高级配置中勾选 ”安装后重启"
(2)、安装方法:
选FTP
FTP服务器: ftp://172.16.100.100
FTP目录: centos7
(3)、引导装载程序选项:
“安装类型”:安装新引导装载程序
“安装选项”:在主引导记录 (MBR) 中安装引导装载程序
(4)、分区信息:
主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
布局:添加分区
挂载点: /boot ,文件系统类型:xfs,固定大小: 500M
文件系统类型: swap,固定大小: 4096M
挂载点: /home,文件系统类型: xfs,固定大小:4096M
挂载点: /,文件系统类型:xfs,使用磁盘上全部未使用空间
(5)、网络配置:
添加网络设备 “ens33”
网络类型设为 “DHCP”
(6)、防火墙配置:
禁用SELinux、禁用防火墙
(7)、安装后脚本:
勾选 “使用解释程序":/bin/bash
rm -rf /etc/yum.repos.d/*
echo ‘[local]
name=local
baseurl=ftp://172.16.100.100/centos7
enabled=1
gpgcheck=0’ > /etc/yum.repos.d/local.repo
其它选项保持默认设置即可
(8)、保存自动应答文件
保存的时候保存在/root目录下
接着就是配置需要安装的软件包了
我们可以根据需要将 /root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg 文件中,只需要复制 %packages 到 %end 部分即可。
如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end
接着将保存在/root/ks.cfg文件复制到/var/ftp/ks.cfg中
最后我们编辑引导菜单文件 default,添加 ks 引导参数,为了指定ks.cfg应答文件的URL路径。然后就可以实现自定装机了。
9、最后win10虚拟机可以分配到172.16.100.0网段的IP地址了
需求三:在server1安装和启动httpd服务对外提供Web服务,并搭建DNS服务负责解析地址www.gcc.com,使得PC1能够使用域名www.gcc.com访问Web服务器。
首先在7-1中下载httpd软件包并打开服务,设为开机自启
接着就是配置正向解析了
配置正向解析需要下载软件包bind,因为bind包里有DNS解析的相关的各种配置文件。
首先就是配置主配置文件了,存放位置是/etc/named.conf
“1”处改为DNS服务器的IP地址,此处是7-1的IP地址。
“1”处下面一行为IPV6的设置,视自己情况决定是否修改,我们此处用不到,所以将其注释掉。
“2”处改为any,表示允许所有网段都可访问该服务器。
接着修改区域配置文件,/etc/named.rfc1912.zones
修改如下两处
1为服务器自己的域名
2为存放区域数据配置文件的文件名
接着修改区域数据配置文件
因为区域数据文件是需要我们自己创建的,而其存放的位置是/var/named
我们需要将模板文件named.localhost 复制创建一份gcc.com.zone 文件,注意复制时需要保留源文件的权限和属主的属性复制,所以使用“-p”选项进行复制。
然后就是更改区域数据文件gcc.com.zone了
2处修改为自己的域名和邮箱域名
3处修改为用www进行访问是获取到的IP地址(和gcc,com,的IP是同一个IP)
开启named服务
在win10虚拟机上需要更改如下 配置
然后在win10上就可以正向解析7-1服务器的IP地址了
同时也可以在win10 的浏览器中访问到www.gcc.com的网页
需求4:在server2安装NFS服务,提供共享目录/share ,在/share目录中创建文件index.html,文件内容自定义。把server2的/share目录通过NFS挂载到server1的/var/www/html目录下,使得PC1访问Web服务时能够显示自定义的内容。
首先需要安装 nfs-utils、rpcbind 软件包,并创建共享目录/share
在7-test的“/”目录下创建一个share 目录,然后下该目录下创建一个内容为wo shi gcc ya 的文件index.html
因为要共享share目录,所以就 需要给share目录进行赋权,使该目录具有读写执行的权限。
接着设置修改NFS的配置文件,位置在/etc/exports
地址为一个网段,说明这个网段内的主机都可以共享该目录/share,同时()中的rw是读写的权限,sync是同步内存与磁盘的权限。
接着开启相关的服务。
最后在7-test中使用“1”命令查看共享的文件,使用“2”将该共享的文件进行发布。
记得一定要将7-test的防火墙关闭,不然共享的目录其他主机是获取不到的。
在7-1中安装相关软件,并开启服务。
在7-1中就可以获取到7-test的共享的文件/share了
将共享的文件挂载在7-1的/var/www/html目录下,该目录是http的目录,所以挂载在该目录下就可以在win10的浏览器中访问到该共享目录中的内容了。
综上,所有需求解决。
这篇关于学会这个,让你在Linux网络配置中超过70%的人!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!