我已将 nat 配置为使我的 CentOS 7 成为路由器。我已经使用 firewalld 来做到这一点。但不幸的是它不起作用。我不知道是什么导致了这个问题。我在 Virtual Box 中尝试了相同的配置,它正在工作。如果我在生产服务器中进行了相同的配置,则不会。
Eth0 ip——我的静态ip
掩码-255.255.252.0
网关-我的 ISP 网关
eth1
ip-192.168.1.30
掩码-255.255.255.0
1) 启用数据包转发
vi /etc/sysctl.conf
added “net.ipv4.ip_forward=1”
sysctl –p
Run Code Online (Sandbox Code Playgroud)
2)在firewalld中配置NAT
i) 将接口“eth1”集成到内部区域
Firewall-cmd --change-interface=eth1 --zone=internal --permanent
Run Code Online (Sandbox Code Playgroud)
• 伪装默认为“关闭”
ii) 将接口“eth0”集成到外部区域
Firewall-cmd --change-interface=eth0 --zone=external --permanent
Run Code Online (Sandbox Code Playgroud)
iii) 将“内部区域”更改为默认区域
Firewall-cmd --set-default-sone=internal --permanent
Run Code Online (Sandbox Code Playgroud)
iv) 添加 DNS 以通过“内部区域”
Firewall-cmd --zone=internal --add-service=dns –-permanent
Run Code Online (Sandbox Code Playgroud)
3) 保存防火墙配置
Firewall-cmd --reload
Firewall-cmd --complete-reload
Run Code Online (Sandbox Code Playgroud)
4)也在iptables里试过
Iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE
Iptables –A FORWARD –i eth1 –j ACCEPT
Echo …Run Code Online (Sandbox Code Playgroud)