Networking

使用 Open vSwitch 的 GRE 隧道

  • April 25, 2021

我正在嘗試使用以下設置(沒有任何成功)按照此處所述實現隧道:

測試設置

ho1是僅主機介面。我想連接Nested Guest 11Nested Guest 21

我已經閱讀了其他一些教程,例如:

https://blog.scottlowe.org/2013/05/07/using-gre-tunnels-with-open-vswitch/

http://networkstatic.net/open-vswitch-gre-tunnel-configuration/

https://costiser.ro/2016/07/07/overlay-tunneling-with-openvswitch-gre-vxlan-geneve-greoipsec/#.YIHTG9JR2Uk

但我顯然錯過了一些東西。我想我對這裡tap使用的那些設備做錯了。

更新

Guest1(網路介面)

lo               UNKNOWN        127.0.0.1/8 ::1/128
ens33            UP             192.168.41.140/24 fe80::4f54:fbff:6d87:b5a7/64
ens34            UP             192.168.239.128/24 fe80::761f:aa88:a28a:aeba/64
virbr1           DOWN           192.168.100.1/24
virbr1-nic       DOWN
virbr0           DOWN           192.168.122.1/24
virbr0-nic       DOWN
virbr2           DOWN           192.168.10.1/24
virbr2-nic       DOWN
vboxnet0         UP             192.168.56.1/24 fe80::800:27ff:fe00:0/64
ovs-system       DOWN
br0              DOWN
tap0             DOWN           10.1.1.1/8 fe80::9401:52ff:fe46:86e6/64
br1              DOWN

ovs-vsctl show(我現在已經刪除了其他埠)

   Bridge br1
       Port br1
           Interface br1
               type: internal
   Bridge br0
       Port br0
           Interface br0
               type: internal
   ovs_version: "2.15.0"

根據這個我應該添加一個點擊介面br0,這個命令:ovs-vsctl add-port br0 tap0。我tap0用這個命令創建:ip tuntap add mode tap tap0. 這是問題所在。我不知道應該使用哪個 IP 地址來分流,或者我什至應該為其分配一個地址?然後如何將它連接到嵌套的來賓。我為嵌套的客人使用 VirtualBox,我厭倦了連接到 VirtualBox 上的橋接適配器。在這種情況下,嵌套的訪客沒有獲得 IP 地址。

從這裡的圖片中我不明白的另一件事是,br0如果我不添加eth0到外部世界(傳輸網路)是如何連接的br0

更新 2

我還嘗試對vboxnetX嵌套的來賓使用 hostonly 介面。在這種情況下,嵌套來賓有一個 IP 地址,但是當我添加時vboxnetXbr0我失去了來賓和嵌套來賓之間的連接。

我讓它工作了。這個答案幫助了我。我的配置有兩個問題。

首先,我應該為嵌套的訪客添加一個 IP 地址。啟動並連接到tap0嵌套訪客後,我為嵌套訪客配置了靜態 IP。

其次,我注意到我有一個重複的 MAC 地址。那是因為我Guest1在安裝後複製了,Nested Guest 11所以具有相同的 MAC 地址。我更改了MAC地址並再次嘗試。Nested Guest11``Nested Guest21``Nested Guest21

起初它沒有用。Guest1由於崩潰,我被迫重新啟動。之後我又試了一次。這次嵌套的虛擬機能夠相互 ping 通。

我的配置:

客人 1

ovs-vsctl show

Bridge br0
   Port gre0
       Interface gre0
           type: gre
           options: {remote_ip="192.168.239.129"}
   Port tap0
       Interface tap0
   Port br0
       Interface br0
           type: internal
ovs_version: "2.15.0"

ip -br a

lo               UNKNOWN        127.0.0.1/8 ::1/128
ens33            UP             192.168.41.140/24 fe80::4f54:fbff:6d87:b5a7/64
ens34            UP             192.168.239.128/24 fe80::761f:aa88:a28a:aeba/64
virbr2           DOWN           192.168.10.1/24
virbr2-nic       DOWN
virbr1           DOWN           192.168.100.1/24
virbr1-nic       DOWN
virbr0           DOWN           192.168.122.1/24
virbr0-nic       DOWN
vboxnet0         DOWN
ovs-system       DOWN
br0              DOWN
gre0@NONE        DOWN
gretap0@NONE     DOWN
erspan0@NONE     DOWN
gre_sys@NONE     UNKNOWN        fe80::989f:9eff:fe5d:d7ce/64
tap0             UP             fe80::9401:52ff:fe46:86e6/64

嵌套的 Guest11

在此處輸入圖像描述

客人2

ovs-vsctl show

Bridge br0
   Port tap0
       Interface tap0
   Port gre0
       Interface gre0
           type: gre
           options: {remote_ip="192.168.239.128"}
   Port br0
       Interface br0
           type: internal
ovs_version: "2.15.0"

嵌套的 Guest21

在此處輸入圖像描述

在這種情況下也忘了補充一點,客人和嵌套客人之間沒有聯繫,我認為這是意料之中的。

引用自:https://serverfault.com/questions/1061326