爱吃大橘子
爱吃大橘子
发布于 2025-05-28 / 2 阅读
0

centos7网络共享

网络拓扑说明

设备1双网卡机器:

网卡1(公网):网卡名ens33,IP 192.168.200.56

网卡2(内网):网卡名ens36,IP 192.168.120.129

设备2单网卡机器:

网卡1(内网):网卡名ens33,IP 192.168.120.130

设备1的ens36和设备2的ens33可以相互通讯都在一个内网网段内

设备2可以通过设备1上公网原理:设备2把本地网关设置成设备1网卡ens36的IP地址,流量请求发送到设备1的ens36网卡上,ens36把请求转发到ens33网卡上

双网卡机器设置:

开启ipv4转发

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

[root@template ~]# sysctl -p

配置nat转发(iptables设置)

iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE

注释:

-t nat: 指定操作的是nat表,用于网络地址转换

-A POSTROUTING: 将规则追加到POSTROUTING链(数据包离开防火墙之前处理)

-o eth1: 匹配出站接口为ens33(公网网卡)的数据包

-j MASQUERADE: 执行MASQUERADE动作(动态源地址转换)

作用:将所有通过ens331出去的数据包的源IP改为ens33的IP地址,实现多台内网机器共享一个公网IP上网

192.168.120.0网段为内网网段,ens33为内网通讯网段

iptables -A FORWARD -i ens36 -o ens33 -j ACCEPT

-A FORWARD: 将规则追加到FORWARD链(处理经过本机转发的数据包)

-i eth0: 匹配入站接口为ens36(内网网卡)的数据包

-o eth1: 匹配出站接口为ens33(公网网卡)的数据包

-j ACCEPT: 允许匹配的数据包通过

作用:允许从内网到公网的转发流量。
iptables -A FORWARD -i ens33 -o ens36 -m state --state RELATED,ESTABLISHED -j ACCEPT

查询规则

[root@template ~]# iptables -t nat -L -n -v

保存规则

service iptables save

systemctl restart iptables

单网卡机器配置

设置默认网关为双网卡机器的内网ip地址

[root@client ~]# ip route add default via 192.168.120.129

查看路由信息
[root@client ~]# ip route
default via 192.168.120.129 dev ens33 
192.168.120.0/24 dev ens33 proto kernel scope link src 192.168.120.130 metric 100 

配置机器dns

[root@client ~]# echo "nameserver 223.5.5.5" > /etc/resolv.conf

验证配置

在内网机器上测试

[root@client ~]# curl ifconfig.me

220.196.192.83[root@client ~]#