创建 VLAN 以用作单 NIC 路由器

创建 VLAN 以用作单 NIC 路由器

我的目标是在 KVM 中运行软件路由器(Sophos),使用 X220T 中的单个物理 NIC 作为 WAN 端、LAN 端、主机(Kubuntu)和任何其他 KVM 客户机。

我尝试过https://wiki.ubuntu.com/vlan,但使用 似乎已经过时了/etc/network/interfaces。目前,这些命令似乎可以执行一些操作:

sudo apt-get install VLAN
sudo modprobe 8021q
sudo su -c 'echo "8021q" >> /etc/modules'

sudo vconfig add enp0s25 444
sudo vconfig add enp0s25 888
sudo ip link set up enp0s25.444
sudo ip link set up enp0s25.888

交换机设置:WAN 为 VLAN 444,LAN 为 VLAN 888:

  • 端口 1 - 调制解调器,VLAN 444 的成员,入口pvid444,未标记的出口。
  • 端口 2 - 此 X220T,VLAN 444 和 888 的成员,入口pvid888(我的理解是这仅适用于未标记的数据包,即来自非 VLAN 接口的数据包,但已标记为 444 的数据包将保持为 444,即使 pvid 设置为 888),VLAN 444 和 888 的标记出口。
  • 端口 3-8 - 客户端工作站、VLAN 888 的成员、入口 pvid 888、未标记的出口。

我能够使用virt管理器为 Sophos 提供两个 VLAN 接口(444 直通、888 桥接,因此它将与主机和其他接口共享vguests),但在 ISO 安装程序中,我不知道哪个是哪个eth0eth1所以我猜测 eth0 代表 WAN,eth1 代表 LAN,然后切换电缆尝试两侧,但在任何一种情况下我都无法访问管理地址。

ip addr由于它不工作,现在,我已将 X220T 重新插入旧路由器,以便我至少可以通过 SSH 进入它...这是此时的输出,也许我在某处设置有误?

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether f0:de:f1:61:23:ac brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.22/24 brd 192.168.0.255 scope global dynamic noprefixroute enp0s25
       valid_lft 245314sec preferred_lft 245314sec
    inet6 fe80::39be:9737:c950:363f/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether a0:88:b4:5f:53:bc brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:09:fd:21 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:09:fd:21 brd ff:ff:ff:ff:ff:ff
12: enp0s25.444@enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f0:de:f1:61:23:ac brd ff:ff:ff:ff:ff:ff
    inet6 fe80::f2de:f1ff:fe61:23ac/64 scope link 
       valid_lft forever preferred_lft forever
13: enp0s25.888@enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f0:de:f1:61:23:ac brd ff:ff:ff:ff:ff:ff
    inet6 fe80::f2de:f1ff:fe61:23ac/64 scope link 
       valid_lft forever preferred_lft forever

答案1

使用 iproute2 配置 vlan 所需的步骤如下:

ip link add name ${VLAN interface name} link ${parent interface name} type vlan id ${tag}

"VLAN interface name"- 任何名称;
"parent interface name"- 中继接口;
"tag"- 802.1q VLAN ID

相关内容