我正在尝试暂时将笔记本电脑上的 Wifi 互联网连接与台式电脑共享。我在 wlan0 和 eth0(称为 br0)之间建立了一个桥接,从 dhcp 获取了 br0 上的地址,甚至使用 dhcp 从无线路由器获取了 (Windows) pc 的地址。pc 可以 ping 笔记本电脑,但不能 ping 路由器或上网。我是不是漏掉了什么步骤?
答案1
不幸的是,有些无线网卡不支持桥接。为了从桥接器的有线端转发数据包,无线接口需要“欺骗”源主机的 MAC 地址。如果卡(或驱动程序)无法欺骗数据包,桥接器将无法工作。
您可能想要使用 NAT,或者寻找其他 wifi 设备。
答案2
也许路线表需要一些调整。
http://www.cyberciti.biz/faq/linux-route-add/
每台机器都需要
a) 知道如何访问同一网络中的其他机器
b) 知道如何通过所谓的“网关”访问其他一切(互联网)
正如 Paul 指出的那样,由于您使用的是 DHCP,因此路由表应该已经正确设置,但您可以检查一下。
答案3
我也尝试过类似的桥接方法,但后来我决定使用第二个 NAT 来连接 USB 设备,所以我的设置如下
- 带 NAT 的路由器 - 带 NAT 的台式电脑 - USB 设备
这只需通过 PC 上的一些 iptables 规则即可完成。
答案4
尝试清除你的 iptables 规则。
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
同时清除你的 arp 表:arp -d *