网络综合实验

架构图

首先准备三台主机:

第一台主机: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.测试

测试成功!!!

相关推荐
Championship.23.245 小时前
Linux 3.0 锁机制与故障排查详解
linux·运维·服务器
风123456789~7 小时前
【Linux专栏】ls 排除某个文件
linux·运维·服务器
IpdataCloud7 小时前
担心IP暴露隐私?用安全IP查询工具自查,三步配置网络出口
网络·tcp/ip·安全·ip
xy34538 小时前
wireshark 如何捕获信息
网络·测试工具·渗透测试·wireshark
其实防守也摸鱼8 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
玖玥拾9 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
土星云SaturnCloud9 小时前
边缘计算驱动绿氢生产过程智能寻优:电解槽级实时优化技术解析
服务器·人工智能·ai·边缘计算
Web极客码11 小时前
突破并发瓶颈:云端高性能架构如何赋能海外 AI Agent 矩阵的高效产出
服务器·人工智能·架构
一个有温度的技术博主11 小时前
【VulnHub 实战】DC-1 靶机渗透测试笔记(一):信息收集与主机发现
服务器·网络·笔记
白帽小阳11 小时前
2026前端面试题!(附答案及解析)
javascript·网络·python·安全·web安全·网络安全·护网行动