
centos7设置内网转发
机器A
centos 7开启了iptables
- ens192网卡ip是118.1.1.1可以上外网
- ens224网卡ip是10.1.1.1可以上内网
机器B
ubuntu24.04LTS
ip设置为10.1.1.200
现在配置了网关为10.1.1.1,但是无法连接外网 是什么原因 怎么配置比较合适
解答
问题似乎是关于网络路由和防火墙(iptables)的配置。在你的情况下,你有两个网络接口:ens192和ens224,分别连接到外网和内网。你希望通过ens224接口的机器(IP为10.1.1.1)能够访问外网。
1.首先,你需要确保你的CentOS 7机器已经配置为网络路由。你可以通过以下命令检查:
sysctl net.ipv4.ip_forward
如果这个命令返回net.ipv4.ip_forward = 1,那么你的机器已经配置为网络路由。如果返回net.ipv4.ip_forward = 0,那么你需要启用网络路由。你可以通过以下命令启用网络路由:
sysctl -w net.ipv4.ip_forward=1
2.需要配置iptables防火墙,允许从ens224接口到ens192接口的数据包转发。
可以通过以下命令配置iptables:
iptables -A FORWARD -i ens224 -o ens192 -j ACCEPT
iptables -A FORWARD -i ens192 -o ens224 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE
这些命令做了以下的事情:
- 允许从ens224到ens192的数据包转发。
- 允许从ens192到ens224的已经建立的或者相关的数据包转发。
- 对从ens224到ens192的数据包进行源地址伪装(NAT),使得它们看起来像是从你的CentOS 7机器发出的。
3.需要确保你的10.1.1.200机器的默认网关已经设置为10.1.1.1,并且你的CentOS 7机器可以访问Internet。
可以通过以下命令检查你的CentOS 7机器是否可以访问Internet:
ping 223.5.5.5
果然成功了!