我有一台装有 wifi 的树莓派。我还使用它的以太网连接将互联网连接到我的 XBox 360。我想桥接这些连接并将它们都保持在同一个网络上。
例如,我的 wlan0 在 192.168.1.124 上。我想将 eth0 放在 192.168.1.1 网络内的某个任意 IP 上(例如 192.168.1.125)。我想这样做,以便我的 XBox 360 可以看到网络上的其他计算机,这样我就可以向它传输视频。如果我的 360 位于不同的网络(例如 192.168.2.1),解决方案将不允许我访问我的网络计算机。
关于如何做到这一点有什么建议吗?
编辑:bridge_utils 每隔 10-15 分钟就会给我带来问题。解决问题的唯一方法是重新启动。出于这个原因,我宁愿使用 iptables 解决方案而不是 bridge_utils。
编辑2:接口文件:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.124
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.1
wirless-power off
auto br0
iface br0 inet dhcp
bridge_ports wlan0 eth0
这个桥接连接持续了大约 15-20 分钟,然后就失败了。此时,我必须重新启动 RaspPi 和 XBOX 才能让互联网再次工作。
答案1
以太网桥接
您所描述的基本上是,您的 RaspPi 应该对连接 XBox 和路由器的网络透明。这意味着当您的 XBox 请求 IP 地址(它还没有 IP 地址)时,它将在网络上广播一条应该到达路由器的消息。您的 raspPi 和 XBox 之间的物理链路与 RaspPi 和路由器之间的另一链路之间的桥接应该在以太网级别完成。所以您描述了一个以太网桥,桥接实用程序应该是可行的方法。也许您可以给我们更多信息来找出您的桥接器经常断开连接的原因。
这是如何做的Linux 上的以太网桥接这是另一篇文章Linux 作为以太网桥。
配置
此配置将无线局域网(连接到您的互联网路由器)桥接到您的 XBox。在您的 RaspPi 上:
# The loopback network interface
auto lo
iface lo inet loopback
# This is a list of hotpluggable network interfaces.
# They will be activated automatically by the hotplug subsystem.
auto eth0
allow-hotplug wlan0
auto br0
# The internet network interface
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
# The wireless side of the bridge
iface wlan0 inet manual
wireless-essid MY_ESSID
wireless-key **********
wireless-mode master
# The local network bridge
iface br0 inet dhcp
bridge_ports wlan0 eth0
在您的 XBox 上,将 IP 地址设置为手动 192.168.2.2/255.255.255.0,默认网关为 192.168.2.1。
更多高级配置和信息在这里:使用无线网卡进行桥接
IP 路由/网关
在 IP 层,这称为路由。然而,这种技术旨在将 IP 网络互连在一起,这意味着它们不在同一地址空间中。这可以在 iptables 层使用 IP 伪装(又称 NAT)来实现,从您的问题来看,这不是您想要的方式。
这意味着属于您的互联网路由器网络的 IP 子网将与您的 RaspPI/XBox 链接的 IP 子网不同。您可以尝试通过手动设置 IP 地址来修复属于互联网路由器子网的 IP,然后您需要在互联网路由器上设置静态路由,以便它使用您的 RaspPI 到达您的 XBox。但您需要能够在互联网路由器和 XBox 上添加这些配置。
您可以找到几篇文章: