在 OVS、KVM、Linux 设置中,VLAN 无法连接到互联网

在 OVS、KVM、Linux 设置中,VLAN 无法连接到互联网

我有一台 Linux 工作站,上周遇到了 KVM 和 OVS 问题。我的目标是有两个 VLAN(vlan10、vlan20),并且它们都应该能够 (a) 互相访问和 (b) 访问互联网(除非受到 iptables 限制)。

周二深夜我成功了,但后来决定重命名它们并更改它们的 IP 块(并且系统也进行了升级),自从我这样做以来,vlan10 或 vlan20 中的任何虚拟机都无法访问互联网。我尝试多次删除并重新创建设置,但没有任何运气,因此我向社区求助。任何帮助都非常感谢。谢谢!

当前状态:

Guest_Vlan20 可以 ping 通 (IP 地址 192.168.102.100/24)

  1. Vlan10 中的访客
  2. Vlan20 中的访客
  3. 主机的 Vlan10 和 Vlan20 接口(分别名为“vlan10”和“vlan20”)
  4. 主机的主 LAN IP(名为“mybridge”)

*访客已被静态分配 IP 以及默认路由

Guest_Vlan20 无法 ping 通:

  1. 路由器 IP 地址或互联网

主机视图 (局域网IP 192.168.1.10/24,vlan20 IP:192.168.102.1/24):

  1. 主机能够从 (a)“mybridge”接口 (b) vlan10 接口和 (c) vlan20 接口 ping 通互联网
  2. 主机能够 ping 通 vlan10 和 vlan20 中的客户机

*主机和客户机未运行任何 iptables 规则(执行 iptables -F)

路由器视图 (IP 192.168.1.1/24):

  1. 从路由器我可以 ping 通 (a) 主机的 LAN IP (b) “vlan20” 和 “vlan10” 接口 IP
  2. 从路由器上我无法 ping 通 Guest_Vlan10 或 Guest_Vlan20 机器
  3. 路由器具有到 vlan10 和 vlan20 IP 块的静态路由(如第 (1) 点所证明)

服务器/工作站上的当前配置:

virsh net-dumpxml ovs-mySwitch
<network connections='1'>  
  <name>ovs-mySwitch</name>
  <forward mode='bridge'/> 
  <bridge name='mybridge'/>
  <virtualport type='openvswitch'/>
  <portgroup name='vlan10'>
    <vlan>
      <tag id='10'/>
    </vlan>   
  </portgroup>
  <portgroup name='vlan20'>
    <vlan>
      <tag id='20'/>
    </vlan>
  </portgroup>
</network>

**为了进一步隔离问题,我从 ovs-vsctl 中删除了 vlan10*

ovs-vsctl show
1d144a6d-0d5f-421c-4417-0be1cc44f2b9
    Bridge mybridge
        Port mybridge
            Interface mybridge
                type: internal
        Port "vlan20"
            tag: 20  
            Interface "vlan20"
                type: internal
        Port "vnet0"
            tag: 20 
            Interface "vnet0"
        Port "eno1"
            Interface "eno1"

用于创建此场景的命令:

1. 创建桥梁

ovs-vsctl add-br mybridge
ovs-vsctl add-port mybridge eno1
ip addr delete 192.168.1.10/24 dev eno1
ip link set mybridge up
ip addr add 192.168.1.10/24 dev mybridge
ip route del default via 192.168.1.1 dev eno1
ip route add default via 192.168.1.1 dev mybridge

2. 在 ovs 中创建端口并标记

#ovs-vsctl add-port mybridge vlan10 -- set interface vlan10 type=internal
ovs-vsctl add-port mybridge vlan20 -- set interface vlan20 type=internal

#ovs-vsctl set port vlan10 tag=10
ovs-vsctl set port vlan20 tag=20

3. 分配 IP 并开启 VLAN 接口

ip addr add 192.168.102.1/24 dev vlan20
ip link set vlan20 up

任何帮助都将不胜感激。谢谢。

相关内容