通过共享连接(并非真正意义上的“共享”)连接的计算机上无法打开网站。Ping 该网站会收到Packet filtered
消息。
我的家庭网络设置由Ubuntu 手册:
主控电脑:Ubuntu 9.10。eth1 用于提供商连接,eth2 用于内部连接,dhcp3 为从属 PC 提供 IP。我的 ISP 通过 VPN 提供互联网:LAN 可通过 DHCP 访问,为了获得互联网,我使用pppd
带有手动路由的脚本iptables(我没有选中“共享此连接”框,这样根本不起作用)。
脚本如下:
sudo iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
并且 iptables 规则主控电脑:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 192.168.0.0/24 anywhere ctstate NEW
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
在这一个上,我写了网站地址,并且它运行完美。
从属电脑:Ubuntu 9.04 笔记本电脑。以太网连接,使用 DHCP。无法打开或 ping 网站,packet filtered
。从属 PC 上的 Iptables 规则为:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
目前,我只看到 www.s7.ru (89.249.20.27) 受到此问题的影响,我无法判断其他网站是否受到影响:到目前为止,我们还没有发现任何一个网站存在问题。
我进行了一些测试,结果如下:
- nslookup 在两台电脑上均可运行
- ping 不起作用(“数据包过滤”消息)
telnet www.s7.ru 80
然后GET /
从服务器返回“301 永久移动”消息两个都电脑。- 尽管如此,Opera/Firefox 可以打开此网站仅来自主 PC. 从属 PC 无限期地等待服务器的回复。
我怎样才能找到问题的根源?(我猜这是 Iptables 规则)
答案1
由于网关机器上所有链的默认策略都是接受,我认为这个问题与 iptables 规则无关。它更可能是由于 ppp/vpn MTU 数据包大小造成的。