我有以下配置:
M3 上的路由表是:
目标网关 Genmask 标志 MSS 窗口 irtt Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.3.0 0.0.0.0 255.255.255.192 U 0 0 0 eth0
M1 上的路由表是:
目标网关 Genmask 标志 MSS 窗口 irtt Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
因此,基本上 M3 的网关就是 M1,而 M1 的网关就是 M2 的无线互联网接口。如果我 ping8.8.8.8从 M1 来看,一切正常,已收到回复。从 M1 到 M3 以及从 M3 到 M1 执行 ping 操作也是可行的。
我已将 M1 配置为网关流量转发器,使用引火者包并用它来停止防火墙。
iptables 策略是接受一切。
问题:我尝试过 ping ip8.8.8.8来自 M3 但没有成功。
这个问题的根源是什么?
答案1
从 M1 可以 ping 通外部,从 M3 可以 ping 通 M1。因此,唯一的错误配置可能发生在作为中间人的 M1 内部。
我不熟悉 firestarter 包,但在 Debian 中我会按如下方式配置 M1(以 sudo 形式发出命令):
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
第一个命令通常允许转发。其他两个指令激活 nat(第一个)并允许从 M3 转发。我怀疑这可能是问题的根源,因为您说 iptables 已被禁用。