是否可以执行以下操作:
Machine1 Kubuntu 8.04 desktop wired internet Cable modem
Machine2 eepc701 Xubuntu 1O.04 wired machine1 cross ethernet cable
Machine3 nokia n900 wireless to machine2 Wifi card machine2 mode master
路由表:
机器1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
XX.XX.160.0 * 255.255.252.0 U 0 0 0 eth2
link-local * 255.255.0.0 U 1000 0 0 eth2
default XX.XX-160-1.xxx 0.0.0.0 UG 0 0 0 eth2
机器2
192.168.1.192 * 255.255.255.192 U 0 0 0 ath0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
default user.local 0.0.0.0 UG 0 0 0 eth0
机器3
192.168.1.192 * 255.255.255.192 U 0 0 0 wlan0
正在做:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
在机器2上,机器2上的dhcp3服务器的ip地址也传送到了#3
ping #3 -> ath0 ok
ping #2 -> wlan0 ok
ping #2 -> #1 ok
ping #1 -> ath0 ok
ping #3 -> #2 eth0 network unreachable
ping #1 -> #3 network unreachable
接入点已打开。出现什么故障?
答案1
答案2
为什么您的子网掩码以 192(/26)结尾,而它完全位于 /24 中?
如果要使用双重 NAT,则两个范围必须不重叠。
较大子网中的机器(机器 1)不会自动知道它必须通过机器 2 路由数据包。机器 1 将仅使用 ARP 来查找您的 192.168.1.192,这总是会失败,因为后者不在有线以太网上。您必须更改机器 1 上的路由表,以便它知道 192.168.1.0/24 的一部分只能通过机器 2 访问。
另一种解决方案是在机器 2 上创建有线和无线网络之间的桥接,以便 IP 认为它们是同一个子网。这在 Windows 下很容易做到,但在 Linux 下需要进行大量手动配置(http://www.linuxjournal.com/article/8172)。
答案3
非常感谢billc.cn。
如下:
机器1
192.168.10.1 * 255.255.255.255 UH 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
XX.XX.160.0 * 255.255.252.0 U 0 0 0 eth2
link-local * 255.255.0.0 U 1000 0 0 eth2
default XX.XX-160-1.xxx 0.0.0.0 UG 0 0 0 eth2
机器2
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.10.0 * 255.255.255.0 U 0 0 0 ath0
default user-local 0.0.0.0 UG 0 0 0 eth0
dhcpd.conf:
option subnet-mask 255.255.255.0;
option broadcast-adress 192.168.1.255;
#next line was the last I changed before singing "Deo Gratias"
>option routers 192.168.10.1;
option domain-name-servers 89.2.0.1, 89.2.0.2;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.2 192.168.10.3
}