使用 Ubuntu 进行 VLAN 间路由

使用 Ubuntu 进行 VLAN 间路由

我创建了 4 个 VLAN,并尝试将我的 Ubuntu 机器用作 DNS、DHCP 和 L3 路由器。我希望我的 4 个 VLAN 分开但仍然能够相互通信。以下是有关我的设置的一点信息。

电缆调制解调器(桥接)-->Ubuntu 服务器盒(见下文)-->Dell Power connect 2824(处于托管模式)- L2 交换机,IP 地址为 192.168.1.1

(Dell L2 交换机内设置 4 个 VLAN)vlan1(Mgmt)192.168.1.0/24

vlan10(家庭网络)192.168.10.0/24

vlan20(存储/备份/媒体服务器)192.168.20.0/24

vlan30(工作)192.168.30.0/24

Ubuntu 服务器 14.4 LTS eth0 - 电缆调制解调器 IP(WAN)网络掩码 255.255.224.0

eth1 - LAN 端 - 192.168.10.2 网络掩码 255.255.255.0

我无法在这台服务器上设置静态路由来拯救我的生命。在 Ubuntu 服务器上,DNS 工作得很好。DHCP 只为 192.168.10.x 网络分配地址。它不会为其他 VLAN 分配地址。我认为一旦我们让所有 VLAN 正常通信,它就会起作用。

我理解这些概念,但需要具体说明要进行哪些更改才能使其正常工作,并且路由在重启后应该保持不变。感谢您的帮助。


ip address show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:23:7d:f3:10:d2 brd ff:ff:ff:ff:ff:ff
    inet 70.115.129.7/19 brd 255.255.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::223:7dff:fef3:10d2/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:23:7d:f3:10:d0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.2/24 brd 192.168.10.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::223:7dff:fef3:10d0/64 scope link
       valid_lft forever preferred_lft forever


ip route show

default via 70.115.128.1 dev eth0
70.115.128.0/19 dev eth0  proto kernel  scope link  src 70.115.129.7
192.168.10.0/24 dev eth1  proto kernel  scope link  src 192.168.10.2

Linux路由器上配置VLAN接口后的新路由表:

$ ip r s
default via 70.115.128.1 dev eth0
70.115.128.0/19 dev eth0 proto kernel scope link src 70.115.129.7
192.168.1.0/24 dev eth1.1 proto kernel scope link src 192.168.1.10
192.168.10.0/24 dev eth1.10 proto kernel scope link src 192.168.10.2
192.168.20.0/24 dev eth1.20 proto kernel scope link src 192.168.20.1

答案1

在 Linux 服务器上,您需要创建 VLAN 接口并分配静态 IP 地址。有关详细信息,请参阅官方 Ubuntu 文档1

配置 DHCP 以监听除面向电缆调制解调器的 VLAN 之外的所有 VLAN。您需要为每个 VLAN 设置单独的 DHCP 子网。确保通过 DHCP 将与该 VLAN 直接连接的 VLAN 接口的 IP 作为默认路由发送。

使用 tshark/wireshark/tcpdump 进行调试。在 VLAN 接口和以太网接口上使用它们。只有当流量过多时,您才可以过滤 DHCP 数据包:

您能否编辑您的问题并添加来自路由器的以下命令的输出:

ip address show
ip route show

编辑/etc/network/interfaces并确保为每个 VLAN 配置了一个 VLAN 接口。这里仅是 VLAN10:

# Disable IP on eth1, we are not using the native VLAN
iface eth1 inet manual

# VLAN 10 - home network
auto eth1.10
iface eth1.10 inet static
    address 192.168.10.1/24
    vlan-raw-device eth1

确保 eth1 没有分配 IP。您将在 VLAN 接口(如 eth1.10)上分配 IP 地址。

相关内容