我有带 VLAN 的家庭网络,一个用于 LAN,一个用于 WLAN,一个用于 Internet。我想使用桥接,而不是为每台机器配置这些相同的 VLAN,它们有自己的 VLAN ID,网桥是 LAN、WLAN 和互联网。
我已经尝试过了,但由于某种原因,keep-alive/ttl 似乎被破坏了,因为 SSH 会话等突然断开连接。
我们有相同的设置在工作场所工作了 4 年以上,有 100 多个客户,但它是自定义防火墙/路由器硬件,因此无法访问它。我知道它运行Linux。
那么 Debian/Ubuntu 默认网络设置做错了什么还是只是 NIC 驱动程序/硬件问题?我试图用 ttl 等设置弄乱 araund 没有任何运气。网桥中发生了坏事,因为当前的仅 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
我们对 vlan 使用以下方法:
桥接接口上的 vlan 的情况并没有太大的不同:
但是,查看您的设置,您似乎正在尝试在不同接口上的两个不同 vlan 之间进行桥接。我真的认为您的意思是在您的网络之间进行路由。
您的交换机了解 VLAN 吗?您可能希望将交换机设置为在连接到该端口的机器的正确 VLAN 上将正确的端口设置为未标记。
我不认为桥接 VLAN 是一个好主意。VLAN 基本上将一个交换机(或多个交换机)分解为多个虚拟网段。通过桥接两个 VLAN,您可以将它们分解的广播域重新连接在一起,从而有效地使它们再次属于同一网段。那么,为什么首先要使用 VLAN?
正如许多人建议的那样,您需要在 VLAN 中的不同子网之间进行路由
是否可以选择仅插入第三个网卡并使用 3 个不同的接口进行路由/伪装?
除非您的 ISP 在家中为您提供标记的 vlan 连接,否则我怀疑将其设置为 VLAN 有很多目的。
否则,你能显示你的路由表吗?要让流量在两者之间通过,您需要每个 VLAN 的路由。
您正在该文件中组合语法。
我的第一个建议是确保您已安装 ifupdown-scripts-zg2 以获得适当的 vlan 支持,然后切换到更明智的 ethX.VLAN 命名,并记住添加 auto ethX.VLAN 行,以便它们在启动时启动。
“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 组的任何接口手动设置相同的值。