一,实验拓扑:

二,需求

APPSRV:

主机名:appsrv.example.com

ip地址:192.168.100.10

网关:192.168.100.254

网卡为NAT模式

STORAGESRV:

主机名:storagesrv.example.com

ip地址:192.168.100.20

网关:192.168.100.254

网卡为NAT模式

ROUTERSRV:

主机名:routersrv.example.com

NAT模式网卡ip地址:192.168.100.254

仅主机模式网卡ip为:192.168.0.254

CLIENT:

主机名:client.example.com

网卡为仅主机模式,自动获取ip地址,获取的ip地址的网段为192.168.0.0/24

需求:

APPSRV:

  • DNS

  • 部署主DNS服务器

  • 为example.com域提供域名解析

 

二、DHCP

1、为client客户端网络分配地址,地址池范围:192.168.0.110-192.168.0.190/24;

2、域名解析服务器:按照实际需求配置DNS服务器地址选项;

3、网关:按照实际需求配置网关地址选项;

三、WEB服务

1、DocumentRoot为/luoqi

2、要求通过http://www.example.com能够成功访问该站点,内容为welcome to luoqi.

STORAGESRV:

  • NFS服务

  1. 共享/webdata目录

  2. 用于存储appsrv主机的web数据

  3. 仅允许appsrv主机访问该共享

ROUTERSRV:auto

  • Route

1、开启路由转发,为当前实验环境提供路由功能。

  • dhcp中继

1、安装DHCP中继;

2、允许客户端通过中继服务获取网络地址;

问题一:DNS

在appsrv部署DNS服务,在storagesrv,验证需要把网卡DNS改为192.168.100.10

在主机为:appsrv.example.com

[root@ycy2 ~]# hostnamectl set-hostname client.example.com
[root@ycy2 ~]# hostnamectl set-hostname appsrv.example.com
[root@ycy2 ~]# bash
[root@appsrv ~]#

[root@appsrv ~]# yum -y install bind bind-chroot
[root@appsrv ~]# vim /etc/named.conf


[root@appsrv ~]# vim /etc/named.rfc1912.zones


[root@appsrv ~]# cd /var/named
[root@appsrv named]# cp -p  named.localhost ycy.com
[root@appsrv named]# cp -p named.empty com.ycy
[root@appsrv named]# vim ycy.com


[root@appsrv named]# vim com.ycy


[root@appsrv named]# systemctl restart named
[root@appsrv named]# systemctl enable named

客户端storagesrv查看

在storagesrv使用nslookup命令解析www.example.com(因为DNS服务配置在appsrv.example.com中,所以www.example.com的对应ip为192.168.100.10)

将storagesrv的DNS改为192.168.100.10

[root@storagesrv ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@storagesrv ~]# systemctl restart network
[root@storagesrv ~]# nslookup
> www.example.com
Server:        192.168.100.10
Address:    192.168.100.10#53

Name:    www.example.com
Address: 192.168.100.10

问题二:nfs

在storagesrv部署nfs,共享目录为/webdata

[root@storagesrv ~]# yum -y install nfs-utils rpcbind
[root@storagesrv ~]# mkdir /webdata
[root@storagesrv ~]# chmod 777 /webdata

[root@storagesrv ~]# vim /etc/exports
[root@storagesrv ~]# ls -ld /webdata
drwxrwxrwx. 2 root root 6 Aug 24 17:11 /webdata

[root@storagesrv ~]# systemctl restart nfs-server
[root@storagesrv ~]# systemctl enable nfs-serve

[root@storagesrv ~]# systemctl restart rpcbind
[root@storagesrv ~]# systemctl enable rpcbind

问题三:WEB

在appsrv部署WEB www.example.com,内容为welcome to luoqi 

[root@appsrv ~]# mkdir /luoqi
[root@appsrv ~]# mount -t nfs 192.168.100.20:/webdata /luoqi

[root@appsrv ~]# mount -a
[root@appsrv ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/sda2               xfs        50G  3.6G   47G   8% /
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G   13M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  163M  852M  17% /boot
tmpfs                   tmpfs     394M   12K  394M   1% /run/user/42
tmpfs                   tmpfs     394M     0  394M   0% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0 100% /mnt
192.168.100.20:/webdata nfs4       50G  3.6G   47G   8% /luoqi
[root@appsrv ~]# yum -y install httpd
[root@appsrv ~]# vim /etc/httpd/conf/httpd.conf 


[root@appsrv ~]# cd /luoqi
[root@appsrv luoqi]# ls
[root@appsrv luoqi]# echo "welcom to luoqi" > /luoqi/index.html
[root@appsrv luoqi]# ls
index.html
[root@appsrv luoqi]# systemctl restart httpd

[root@appsrv luoqi]# systemctl enable httpd

 

问题四:DHCP

在appsrv部署DHCP服务,在routersrv部署DHCP中继,客户机为client

服务端:

[root@appsrv ~]# yum -y install dhcp
[root@appsrv ~]# vim /etc/dhcp/dhcpd.conf   
[root@appsrv ~]# cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
[root@appsrv ~]# vim /etc/dhcp/dhcpd.conf 


[root@appsrv ~]# systemctl restart dhcpd

[root@appsrv ~]# systemctl enable dhcpd

 

中继:需要添加一块ens36,

把ens33IP地址和网关都改为192.168.100.254

把ens36IP地址和网关都改为192.168.0.254

开启路由转发

在虚拟网络编辑器添加一个网段192.168.0.0

在添加一块网卡设置为刚才的网段

[root@routersrv ~]# nmcli connection show
NAME                UUID                                  TYPE      DEVICE 
ens33               c96bc909-188e-ec64-3a96-6a90982b08ad  ethernet  ens33  
virbr0              ec411aa5-5fee-4df1-a1cd-df1af2cee6f7  bridge    virbr0 
Wired connection 1  b9c0d77d-ad7a-3b1f-860a-af2b6232405b  ethernet  ens36  
[root@routersrv ~]# nmcli connection delete Wired\ connection\ 1 
[root@routersrv ~]# nmcli connection add con-name ens36 ifname ens36 type ethernet 
[root@routersrv ~]# nmcli connection modify ens36 ipv4.addresses 192.168.0.254/24 ipv4.gateway 192.168.0.254 ipv4.method manual connection.autoconnect yes
[root@routersrv ~]# nmcli connection up ens36
[root@routersrv ~]# nmcli connection modify ens33 ipv4.addresses 192.168.100.254/24 ipv4.gateway 192.168.100.254 ipv4.method manual connection.autoconnect yes
[root@routersrv ~]# nmcli connection up ens33
[root@routersrv ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@routersrv ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens36
[root@routersrv ~]# systemctl restart network
[root@routersrv ~]# cd /etc/yum.repos.d/
[root@routersrv yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@routersrv yum.repos.d]# rm -rf *
[root@routersrv yum.repos.d]# ls
[root@routersrv yum.repos.d]# vim server.repo
[root@routersrv yum.repos.d]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@routersrv yum.repos.d]# yum -y install dhcp
[root@routersrv ~]# vim /etc/sysctl.conf 
[root@routersrv ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@routersrv ~]# dhcrelay 192.168.100.10

中继需要两块网卡:

客户端:将网络适配器改为192.168.0.0仅主机模式,并把网卡改为通过dhcp获取IP

 

 

 

三,验证:

1,在storagesrv使用nslookup命令解析www.example.com

2,在client中的网卡的配置文件

3,在client中执行ip a show ens33命令

4,在appsrv中执行df -Th命令

5,在storagesrv中执行cat  /etc/exports

6,在storagesrv中使用命令curl http://www.example.com

 

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐