问题:计算机 [Xbox 360 和 Kubuntu 12.04.1 笔记本电脑] 无法通过最近安装的无桌面 Debian 6 笔记本电脑(无线连接到 WLAN 站)访问互联网,但可以成功提供地址dnsmasq
。
尝试:
1.1) /etc/dnsmaq.conf
根据http://wiki.debian.org/HowTo/dnsmasq:添加行
interface=eth0
dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h
1.2)跟随http://www.cyberciti.biz/faq/rhel-fedora-linux-internet-connection-sharing-howto/并使用他们的剧本设置 iptables。
2)跟着Ubuntu 互联网网关方法(iptables)在https://help.ubuntu.com/community/Internet/ConnectionSharing推荐并有效在 Linux 中共享互联网。
Debian 笔记本电脑重新启动了多次,每次尝试之间,有或没有剧本通过 自动执行/etc/rc.local
。
在将iptables-restore
命令添加到该文件时我禁用了该脚本。
编辑1:
网关可 ping 通,平均耗时 39 毫秒。
iptables -nvL
在尝试 #2 生效后,执行以下命令,直接从笔记本电脑的显示器写入:
Chain INPUT (policy ACCEPT 179 packets, 26088 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- wlan0 eth0 192.168.0.0/24 0.0.0.0/0
ctstate NEW
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
ctstate RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT 88 packets, 10716 bytes)
pkts bytes target prot opt in out source destination
编辑2: iptables -t nat -nvL
:
Chain PREROUTING (policy ACCEPT 232 packets, 56438 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 60 packets, 4059 bytes)
pkts bytes target prot opt in out source destination
4 1032 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 64 packets, 5091 bytes)
pkts bytes target prot opt in out source destination
编辑3:我试过https://www.debian-administration.org/articles/23通过告诉 /etc/rc.local 运行它,并单独运行它,但问题仍然完全相同。这次我将 eth1 与 wlan0 进行了切换。
答案1
似乎您设置了错误的执行接口MASQUERADE
。您声明要将笔记本电脑的互联网连接(可能是wlan0
您的机器上的)“共享”到有线连接(似乎是eth0
您的机器上的)。但是,您的POSTROUTING
链式规则配置为eth0
而不是wlan0
(列中的 v 值out
与此相关)。
尝试将您提到的脚本更改为如下形式:
# set wan interface such as eth1 or ppp0
SHARE_IF="wlan0"
然后它使用该接口在以下行中正确设置你的 iptabels 规则:
echo "Setting ${SHARE_IF} as router interface..."
$IPT --table nat --append POSTROUTING --out-interface ${SHARE_IF} -j MASQUERADE