综合实验,(dhcp nfs http dns分离解析和dnat)(熬的过日出,熬的过日落,进化熬斗士!)
实验要求:
1)网关服务器:ens36:12.0.0.254/24,ens33:192.168.100.254/24;Server1:192.168.100.101/24;PC1和server2:自动获取IP;交换机无需配置。要求能够使用Xshell等远程工具登录Server1和网关服务器。
2)网关服务器提供DHCP服务给PC1和server2分配对应网段的IP地址。
3)server1服务器上创建密钥对并上传给网关服务器,并使server1的root用户可以使用root用户免交互登录网关服务器。
4)server1服务器安装和启动httpd服务搭建Web网站,首页内容自定,但需要把server2的/share目录中的首页文件index.html,通过NFS挂载到server1的/var/www/html目录下使用。
5)网关服务器:搭建DNS分离,局域网解析www.benet.com 为server1的IP地址,外网解析为12.0.0.254,并且实现SNAT和DNAT 转换成ens36接口地址,PC1可以使用域名www.benet.com解析12.0.0.254直接访问Web网站。
一、搭建网络环境
根据实验要求在VMware中添加VMnet1(192.168.100.0)和VMnet2(12.0.0.0)

网关服务器的VMnet设置

配置ens33网卡如下:

ens36网卡配置如下:

使用Xshell连接网关服务器

server1的VMnet配置

ens33网卡配置如下:

重启ens33网卡后查看IP地址

使用Xshell进行连接

server2的VMnet配置

PC1的VMnet配置

二、DHCP分配网段
注意:所有虚拟机先配置好yum本地源,以及提前关闭防火墙和selinux,防止后面忘记!
网关服务器安装dhcp服务(确认好是否已安装)

1.yum install -y dhcp

2 .复制dhcp配置文件并覆盖原文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

3. 修改配置文件添加ens33和ens37网卡对应的两个网段!

4. 开启dhcp服务

server2的ens33网卡配置如图:

重启网卡然后查看IP地址是否为dhcp自动分配的网段范围内

根据dhcp服务器分配的IP连接xshell

设置pc1的ipv4为【自动获取ip地址】

查看IP地址是否为dhcp自动分配的网段范围内

三、免交互登录网关服务器
1.(server1端)在server1端 生成密钥对(公钥和私钥)
ssh-keygen -t ecdsa

2. (server1)将server1的公钥文件上传至网关服务器的opt目录下
scp /root/.ssh/id_ecdsa.pub root@192.168.100.254:/opt

3. (网关服务器端)导入server1的公钥至网关服务器的公钥库
mkdir /root/.ssh/
cat /opt/id_ecdsa.pub >> /root/.ssh/authorized_keys

4. (server1端)实现登录网关服务器免交互(结束后exit退出,不然影响后面实验)
ssh-agent bash
ssh-add
ssh root@192.168.80.254

四、搭建Web网站
1.(server2端)查看是否安装rpcbind nfs-utils服务
rpm -q rpcbind nfs-utils

2.(server2端) 创建共享目录赋予权限然后修改配置文件
[root@cj0307 ~]# mkdir -p /opt/share/
[root@cj0307 ~]# chmod 777 /opt/share/
[root@cj0307 ~]# vim /etc/exports
/opt/share 192.168.100.0/24(rw,sync,no_root_squash) #配置文件新增的内容

2. (server2端)在共享目录中创建index.html文件,内容如下:

3. (server2端)发布共享的目录

4. (server1端)安装httpd服务并开启,扫描server2的共享目录并挂载到自己的/var/www/html目录下
yum install -y httpd
showmount -e 192.168.100.200
mount 192.168.100.200:/opt/share /var/www/html/

5. (server1端)开启httpd服务,在火狐浏览器中输入本机的IP地址信息查看
systemctl start httpd

五、分离解析和DNAT
1.(网关服务器端)安装bind程序

2.(网关服务器端)修改主配置文件,修改网段为any,然后注释zone区域
vim /etc/named.conf


3. (网关服务器端)修改区域配置文件

4. (网关务器端)修改区域数据文件(lan和wan)

5. (网关服务器端)开启named服务,并进行内网和外网解析测试
[root@cheng0307 named]# systemctl restart named
[root@cheng0307 named]# echo "nameserver 12.0.0.254" > /etc/resolv.conf
[root@cheng0307 named]# nslookup www.benet.com
[root@cheng0307 named]# echo "nameserver 192.168.100.254" > /etc/resolv.conf
[root@cheng0307 named]# nslookup www.benet.com

(server1端)进行域名解析测试如下:

(server2端)进行域名解析测试如下:

(win10—PC端)pc1端设置dns为网关服务器的外网网卡IP地址,然后进行域名解析测试


9. (网关服务器端)开启路由转发功能
net.ipv4.ip_forward = 1

10. (网关服务器端)清空iptables的规则

11. (网关服务器端) 添加新的iptables规则(安装iptables服务)
iptables -t nat -A PREROUTING -i ens36 -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to 192.168.100.101

(win10—PC端)在PC1 通过域名进行访问server1的web服务

附加选项:通过设置SANT相关规则,使PC1访问server1时,源地址由12.0.0.200转换为192.168.100.254
步骤一:(网关服务器端) 添加新的iptables规则
iptables -t nat -I POSTROUTING -s 12.0.0.0/24 -o ens33 -j SNAT --to-source 192.168.100.254
步骤二:(win10—PC端)再次在PC1 通过域名进行访问server1的web服务

步骤三:(server1端)查看/var/log/httpd/access_log日志文件的最底部。

希望和悲伤,都是一缕光。总有一天,我们会再相遇。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)