![Ping 回复无法到达 LAN 机器,但可以到达 Linux 路由器网关,互联网无法在客户端运行](https://linux22.com/image/614705/Ping%20%E5%9B%9E%E5%A4%8D%E6%97%A0%E6%B3%95%E5%88%B0%E8%BE%BE%20LAN%20%E6%9C%BA%E5%99%A8%EF%BC%8C%E4%BD%86%E5%8F%AF%E4%BB%A5%E5%88%B0%E8%BE%BE%20Linux%20%E8%B7%AF%E7%94%B1%E5%99%A8%E7%BD%91%E5%85%B3%EF%BC%8C%E4%BA%92%E8%81%94%E7%BD%91%E6%97%A0%E6%B3%95%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BF%90%E8%A1%8C.png)
我已将 Centos 6.2 配置为网关机器,它有两个接口
eth0 的 IP 地址由 isp 116.xxx(静态)提供,eth1 的 IP 地址为 192.168.0.1(未配置 dns、dhcp,仅在路由器盒中启用了 ip 转发)。
客户端机器配置为:
ip address 192.168.0.5 and gateway 192.168.0.1
我重新启动 centos 后,iptables 规则并没有全部消失。
遵循的步骤
路由器机器:两个接口eth0:116.XXX(静态ip)eth1:192.168.0.1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A 转发 -i eth0 -j 接受
将 iptable 规则保存在/etc/sysconfig/iptables
Selinix 已被禁用。
/etc/sysctl.conf 上完成的更改
sysctl -w net.ipv4.ip_forward=1
但是当系统重启时一切都消失了。
答案1
当您说您启用了 IP 转发时,您是否在 sysctl.conf 中进行了设置,以便它在重启后仍然有效?
通过 sysctl -w net.ipv4.ip_forward=1 或 echo 1 >/proc/sys/net/ipv4/ip_forward 进行设置仅适用于当前运行时,并且它会在启动时重置为默认值或 /etc/sysctl.conf 中的内容。
还要确保您的 iptables 规则已保存在 /etc/sysconfig/iptables 中