我的家庭网络有多个 VLAN,一个用于 LAN,一个用于 WLAN,一个用于 Internet。我想使用桥接,这样就不必为每台机器配置相同的 VLAN,它们都有自己的 VLAN ID 和桥梁分别是LAN、WLAN和互联网。
我已尝试过,但由于某种原因,keep-alive/ttl 似乎被破坏了,因为 SSH 会话等突然断开连接。
我们在工作场所使用了同样的设置,已经工作了 4 年多,拥有 100 多个客户,但它是定制的防火墙/路由器硬件,因此无法访问。我知道它运行的是 Linux。
那么 Debian/Ubuntu 默认网络设置到底哪里出了问题,还是只是 NIC 驱动程序/硬件问题?我尝试过各种 ttl 等设置,但都无济于事。桥接器中发生了问题,因为当前的 VLAN 专用设置工作正常。
接口:
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
allow-hotplug eth1
iface eth0 inet static
iface eth1 inet static
auto vlan111
auto vlan222
auto vlan333
auto vlan444
auto br0
auto br1
auto br2
# LAN
iface vlan111 inet static
vlan_raw_device eth0
# WLAN
iface vlan222 inet static
vlan_raw_device eth0
# ADSL Modem
iface vlan333 inet static
vlan_raw_device eth1
# Internet
iface vlan444 inet static
vlan_raw_device eth0
# LAN bridge
iface br0 inet static
address 192.168.0.1
netmask 255.255.255.0
bridge_ports eth0.111
bridge_stp on
# Internet bridge
iface br1 inet static
address x.x.x.x
netmask x.x.x.x
gateway x.x.x.x
bridge_ports eth1.333 eth0.444
bridge_stp on
post-up iptables -t nat -A POSTROUTING -o br1 -j MASQUERADE
pre-down iptables -t nat -D POSTROUTING -o br1 -j MASQUERADE
# WLAN bridge
iface br2 inet static
address 192.168.1.1
netmask 255.255.255.0
bridge_ports eth0.222
bridge_stp on
系统控制:
net.ipv4.conf.default.forwarding=1
答案1
对于vlan,我们使用以下方法:
自动 eth0.6 iface eth0.6 inet 静态 地址 192.168.6.13 网络掩码 255.255.255.0 广播 192.168.6.255 预先 vconfig add eth0 6 关闭后 vconfig rem eth0.6
桥接接口上的 VLAN 的情况没有太大区别:
自动 br0 iface br0 inet 静态 地址 192.168.0.11 网络掩码 255.255.255.0 广播 192.168.0.255 bridge_stp 开启 bridge_ports eth0 eth1 bridge_bridgeprio 60000 自动 br0.6 iface br0.6 inet 静态 地址 192.168.6.11 网络掩码 255.255.255.0 广播 192.168.6.255 网关 192.168.6.1 预先 vconfig 添加 br0 6 停机后 vconfig rem br0.6
但是,查看您的设置,您似乎试图在不同接口上桥接两个不同的 VLAN。我真的认为您的意思是在您的网络之间进行路由。
您的交换机能识别 VLAN 吗?您可能希望设置交换机,以便将连接到该端口的机器的正确 VLAN 上的正确端口设置为未标记。
答案2
我认为桥接 VLAN 不是一个好主意。VLAN 基本上将一台交换机(或多台交换机)拆分成多个虚拟网段。通过桥接两个 VLAN,您可以将它们拆分的广播域重新连接在一起,从而有效地使它们再次属于同一个网段。那么,为什么要使用 VLAN 呢?
正如许多人建议的那样,您需要在 VLAN 中的不同子网之间进行路由
答案3
您正在合并该文件中的语法。
我的第一个建议是确保您已经安装了 ifupdown-scripts-zg2 以获得正确的 vlan 支持,然后切换到更合理的 ethX.VLAN 命名,并记得添加自动 ethX.VLAN 行以便它们在启动时启动。
答案4
“SSH 在一段时间后断开连接”问题听起来像是我的老敌人,rp_filter。
http://www.tolaris.com/2009/07/13/disabling-reverse-path-filtering-in-complex-networks/
尝试这个:
net.ipv4.conf.lo.rp_filter = 0 net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.rp_filter = 0
对任何仍有 1 组的接口手动设置相同的内容。