网络综合实验

架构图

首先准备三台主机:

第一台主机:IP(仅主机) 192.168.0.10

第二台主机:IP (仅主机)192.168.0.100

IP (nat) 172.25.254.100

第三台主机:IP(nat)172.25.254.200

注意前两台主机是rhel9的,第三台是rhel7的

第一台主机进行IP网络配置

仅主机设置IP192.168.0.0网段

复制代码
[root@localhost ~]# vim /etc/NetworkManager/system-connections/

[connection]
id=ens160
uuid=a0c85c17-b95a-313f-bbb3-f621c8c9c47d
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1751975550

[ethernet]

[ipv4]
method=manual
address1=192.168.0.10/24   #仅主机IP

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]
[root@localhost ~]# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens160  a0c85c17-b95a-313f-bbb3-f621c8c9c47d  ethernet  ens160 
lo      f4b1d5fe-5aec-4eba-973a-e500a3c5bb4f  loopback  lo     
[root@localhost ~]# nmcli connection up ens160

通过ip a 查看

第二台主机进行IP网络配置(两个网卡)

复制代码
[root@rh9-node1 ~]# cd /etc/NetworkManager/system-connections/
[root@rh9-node1 system-connections]# ls
ens160.nmconnection  
[root@rh9-node1 system-connections]# cp -p ens160.nmconnection eth1.nmconnection
[root@rh9-node1 system-connections]# ls
ens160.nmconnection  eth1.nmconnection
[root@rh9-node1 system-connections]# vim eth1.nmconnection 

[connection]
id=eth1
type=ethernet
interface-name=eth1


[ipv4]
method=manual
address1=192.168.0.100/24

[root@rh9-node1 system-connections]# nmcli connection reload 
[root@rh9-node1 system-connections]# nmcli connection show 
NAME  UUID                                  TYPE      DEVICE 
eth0  d2975348-e208-38df-9b76-2314670fb475  ethernet  eth0   
eth1  5eb4da26-5d1d-30a5-8747-80181ed055fa  ethernet  eth1   
lo    b9426d7a-6ecf-4d6d-a26c-bc91cae49d80  loopback  lo     
[root@rh9-node1 system-connections]# nmcli connection up eth1
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)

网卡名是eth1是仅主机模式 (没有网关以及DNS)

复制代码
[connection]
id=eth1
type=ethernet
interface-name=eth1


[ipv4]
method=manual
address1=192.168.0.100/24

网卡名为eth0是nat模式(已经有了,就不写过程了,过程相似)

复制代码
[connection]
id=eth0
uuid=d2975348-e208-38df-9b76-2314670fb475
type=ethernet
interface-name=eth0

[ethernet]

[ipv4]
address1=172.25.254.100/24,172.25.254.2
dns=8.8.8.8;
method=manual                                                                     

通过ip a 查看

第三台主机进行IP网络配置(这是rhel7)

复制代码
[root@rh7-node1 ~]# cd /etc/sysconfig/network-scripts/
[root@rh7-node1 network-scripts]# vim ifcfg-ens33

DEVICE=ens33
NAME=lee
BOOTPROTO=none
IPADDR0=172.25.254.200
NETMASK0=255.255.255.0
GATEWAY0=172.25.254.2
DNS1=8.8.8.8
ONBOOT=yes

[root@rh7-node1 network-scripts]# nmcli connection show
NAME  UUID                                  TYPE      DEVICE 
lee   c96bc909-188e-ec64-3a96-6a90982b08ad  ethernet  ens33  
[root@rh7-node1 network-scripts]# nmcli connection up lee

通过ip a 查看

三台主机IP配置完成!

模拟不同网络区域通信

如果想从第一台主机访问第三台主机通过以下操作

在第二台主机上检查仅主机网卡与nat网卡是否通信

1.设置内核路由功能,使同一个系统中的所有网卡都可以互相通信

复制代码
[root@rh9-node1 ~]# sysctl -a | grep "ip_forward"
net.ipv4.ip_forward = 0  #这是关闭的
net.ipv4.ip_forward_update_priority = 1
net.ipv4.ip_forward_use_pmtu = 0
复制代码
[root@rh9-node1 ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1      #把0改成1就生效了

[root@rh9-node1 ~]# sysctl -p
net.ipv4.ip_forward = 1

2.编写火墙规则

出去时做地址转换

复制代码
[root@rh9-node1 ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.100

[root@rh9-node1 ~]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  0.0.0.0/0            0.0.0.0/0            to:172.25.254.100
[root@rh9-node1 ~]# 

3.第一台主机进行增加网关

在仅主机模式网卡的主机中设定网关为双网卡主机的仅主机模式网卡的ip

复制代码
[root@localhost ~]# vim /etc/NetworkManager/system-connections/

[connection]
id=ens160
uuid=a0c85c17-b95a-313f-bbb3-f621c8c9c47d
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1751975550

[ethernet]

[ipv4]
method=manual
address1=192.168.0.10/24,192.168.0.100  #添加网关

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]
[root@localhost ~]# nmcli connection reload 
[root@localhost ~]# nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@localhost ~]# 

4.测试

测试成功!!!

相关推荐
日取其半万世不竭10 小时前
Excalidraw 自建部署指南:白板协作工具完全私有化
服务器·网络·数据库
从零开始学习人工智能10 小时前
同文件同网络,curl 上传飞快,浏览器 HTTP/1.1 却慢到离谱?终于找到元凶!
网络·网络协议·http
程序员小白条10 小时前
别盲目卷算法!2026 程序员\&大学生,最稳的 AI 技术进阶路线全梳理
java·网络·人工智能·网络协议·http·面试
牛奶11 小时前
1秒下单10万次,服务器是怎么扛住的?
大数据·服务器·后端
楼田莉子11 小时前
仿Muduo的高并发服务器:LoopThread模块及其ThreadPool模块
linux·服务器·c++·后端·学习
techdashen11 小时前
等了两年,Cloudflare 终于给规则引擎加上了通配符
服务器·rust
zhangfeng113311 小时前
宝塔服务器完全可以安装 Git,进行版本管理,而且非常简单
运维·服务器·人工智能·git·编程
计算机安禾12 小时前
【计算机网络】第16篇:TCP流量控制——接收窗口调度的缓冲管理问题
网络·tcp/ip·计算机网络
中议视控12 小时前
网络中控系统通过推流软件实现可视化:RTSP,H265,WEB等推流
前端·网络
Cx330❀12 小时前
Qt 入门指南:从零搭建开发环境到第一个图形界面程序
xml·大数据·开发语言·网络·c++·人工智能·qt