网络综合实验

架构图

首先准备三台主机:

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

测试成功!!!

相关推荐
Julien20047 小时前
控制 SELinux 文件上下文
linux·运维·服务器
sulikey7 小时前
Linux Core Dump 完全指南:从原理到实战的崩溃调试手册。什么是core dump?程序报错core dumped怎么办?
linux·服务器·操作系统·调试·coredump
Lifangyun_WD7 小时前
第一次租 GPU 服务器怎么开始?镜像、SSH、数据存储和停机前要做什么
服务器·云计算·gpu算力·gpu算力租赁
DevLoom_8 小时前
SD卡插电脑提示:驱动器中的磁盘未被格式化?恢复数据正确处理步骤
运维·服务器·电脑
STQY燊桐启元(深圳)电子科技8 小时前
医疗精密电源散热方案:相变陶瓷片保障医疗设备长效稳定低干扰
大数据·网络·人工智能
yyuuuzz10 小时前
记一次 VPS 性能排查:共享 CPU 突发额度导致的限流
运维·服务器·人工智能
冰雪青松10 小时前
Ubuntu 运维命令大全:从入门到精通的实战参考手册
运维·服务器·ubuntu
前端 贾公子10 小时前
第09章:上下文与记忆 (2)
java·服务器·前端
CDN36010 小时前
节点智能调度实操:解决出海区域访问快慢不均、节点拥堵、跨洋延迟高,CDN 全网择优落地方案
运维·服务器·网络
roman_日积跬步-终至千里11 小时前
【数据治理(6)】DataOps 不是调度工具,而是让数据产品长期可信的运行机制
java·服务器·网络