【问题标题】:Problem Bridging Wired Interface to Wireless Interface将有线接口桥接到无线接口的问题
【发布时间】:2009-08-19 04:17:35
【问题描述】:

我正在做与大多数人在桥接以太网和无线接口时所做的相反的事情。我有一个没有无线网卡的盒子,我想通过旁边的盒子提供对互联网的访问,该盒子同时有无线网卡和以太网卡。无线网卡通过无线路由器访问互联网,无线路由器作为私网 192.168.0.* 上的 dhcp 服务器。路由器的 dhcp 服务器配置为从不分配以下任何静态 IP 地址。

我已经在 /etc/network/interfaces 中配置了网桥,打开 br0 时没有报告任何问题。问题是启动网桥后,两台计算机都无法访问互联网。这是我的配置的详细信息:

/etc/network/interfaces:

allow-hotplug eth0
iface eth0 inet static
  address       192.168.0.15
  netmask       255.255.255.0
  broadcast     192.168.0.255

auto wlan0
iface wlan0 inet dhcp
pre-up iwconfig wlan0 channel 4 key <my-key> essid <my-essid> mode Managed

iface br0 inet static
  gateway 192.168.0.1
  address 192.168.0.10
  netmask 255.255.0.0
  broadcast 192.168.0.255
  network 192.168.0.0
  bridge_ports wlan0 eth0
  pre-up iwconfig wlan0 channel 4 key <my-key> essid <my-essid> mode Managed

单独使用无线连接正常,路由如下:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 wlan0
link-local      *               255.255.0.0     U     1000   0        0 wlan0
default         localhost       0.0.0.0         UG    0      0        0 wlan0

当我打开 br0 时,除了每个条目的 Iface 是 br0 之外,路由表是相同的,并且返回“默认”条目需要很长时间。

我注意到的另一个区别是,当我使用 ifconfig 列出接口时,wlan0 在调出 br0 后不再显示 IP 地址。

尝试 ping 路由器 (192.168.0.1) 或公共 Internet 地址时返回的错误是: 来自 br0 的 IP 的“目标主机无法访问”:192.168.0.10。

有什么想法吗?

谢谢, 吉万

【问题讨论】:

  • 我添加了一个 debian 标签,因为 /etc/network/interfaces 是一个 Debian 配置文件(即使您使用的是 Ubuntu,Debian 标签也可能帮助正确的人看到问题)。
  • 大多数无线网卡不支持桥接,除非在某些 WDS 模式下。但这不是编程问题。希望这将很快转移到超级用户。

标签: linux networking debian


【解决方案1】:

去掉eth0wlan0 的所有配置,只需要一个br0 条目:

iface br0 inet dhcp
  bridge_ports wlan0 eth0
  pre-up iwconfig wlan0 channel 4 key <my-key> essid <my-essid> mode Managed

调出br0 应该对 wlan0 和 eth0 做正确的事情(它们没有自己的 IP 地址 - 相反,br0 现在是您的盒子到桥接网络的接口。

【讨论】:

  • 当我尝试使用此配置启动 br0 时,它没有获得任何 DHCP 提供。我检查了路由器的 DHCP 设置,它们看起来不错。自动创建的接口别名 'br0:avahi' 的地址在 169.254.*.* 范围内。我假设这只是一个默认值,如果 DHCP 成功,它将被更新。
  • 听起来您的br0 接口正在选择要使用的eth0 MAC 地址,而您的wlan 驱动程序不支持使桥接工作所需的魔法。您必须使用其他解决方案,例如 proxyarp。
【解决方案2】:

首先,您必须删除用于网桥的每个网络端口的网络配置,因为 bridge-utils 使用脚本自行配置它们。

你的配置应该看起来更像

auto wlan0
pre-up iwconfig wlan0 channel 4 key <my-key> essid <my-essid> mode Managed

auto br0
iface br0 inet static
 gateway 192.168.0.1
 address 192.168.0.10
 netmask 255.255.0.0
 broadcast 192.168.0.255
 bridge_ports wlan0 eth0
 pre-up iwconfig wlan0 channel 4 key <my-key> essid <my-essid> mode Managed
iface br0 inet static
 address 192.168.0.15
 netmask 255.255.255.0
 broadcast 192.168.0.255

(如果您自己设置“广播”,则不需要条目“网络”) (一张网卡可以分配多个ip地址)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    相关资源
    最近更新 更多