hubungkan Open vSwitch switch ke jaringan nyata: iptables masquerade

9

Saya menggunakan Open vSwitch untuk membuat jaringan yang diaktifkan antara mesin guest virtualBox, dan saya ingin agar host OS (Ubuntu 12.04) bergabung dengan jaringan ini dan mengkonfigurasinya sebagai gateway dari jaringan virtual ini:

Pertama, saya membuat vswitch dan saya menambahkan port untuk mengetuk perangkat (yang digunakan mesin virtual sebagai antarmuka penghubung):

ovs-vsctl add-br sw0
ovs-vsctl add-port sw0 tap0

Setelah itu, saya mengatur secara statis ip mesin virtual Lubuntu 12.04:

ifconfig eth0 192.168.1.3/24 up
route add -net 0.0.0.0/0 gw 192.168.1.1

Di sisi os host, saya juga mengatur alamat ip:

ifconfig sw0 192.168.1.1/24 up

Saat ini, saya dapat melakukan ping dari Lubunut ke Ubunutu. Saya ingin sekarang, di mesin host menggunakan IP masquerade untuk meneruskan lalu lintas dari jaringan 192.168.1.0/24 ke interace fisik saya (terhubung ke Internet):

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE

Jadi dari Lubuntu (mesin virtual), saya dapat melakukan ping antarmuka Ubuntu eth1, tetapi saya tidak dapat mencapai jaringan nyata (misalnya: gateway pada LAN nyata), saya telah mencoba:

nslookup google.com
dig @8.8.8.8 yahoo.com
dig @192.168.30.1 google.com

Topologi Jaringan

   Internet (real gw) ------ Host OS -------- vswitch -------- VBox Guest 1
           192.168.30.1   ip masquerade    192.168.1.0/24
                                                |
                                                 ------------ VBox Guest 2
LokmanDz
sumber
Silakan tambahkan kemajuan apa pun jika Anda punya. Saya memiliki masalah yang sama.
Masood_mj

Jawaban:

1

Jawabannya bukan milik saya, tapi ... Coba ikuti Open vSwitch di VirtualBox

Ada juga file teks singkat dari beberapa orang Fedora dengan subjek yang sama: libvirt dan OpenVSwitch dalam bentuk file teks ... tidak dapat menemukannya.

sesuai komentar, inilah ringkasan singkat:

(1) Buat antarmuka vnet0 dan br0 bridge:

ovs-vsctl add-br br0
ip tuntap add mode tap vnet0
ip link set vnet0 up
ovs-vsctl add-port br0 vnet0
ip link # (View the created interface)

(2) putar VM yang menggunakan antarmuka vnet0 (sebagai adaptor yang dijembatani)

(3) menghubungkan bridge br0 ke jaringan nyata:

ovs-vsctl add-br br0 
ovs-vsctl add-port br0 eth0 
ovs-vsctl add-port br0 vnet0 
ifconfig eth0  0 && ifconfig br0 192.168.1.(X) netmask 255.255.255.0
route add default gw 192.168.1.1 br0
route del default gw 192.168.1.1 eth0
Droopy4096
sumber
Karena Anda menautkan ke artikel eksternal yang dapat berubah, disarankan untuk meringkas solusi dalam jawaban Anda dan referensi artikel itu sebagai gantinya.
Esa Jokinen
0

Aktifkan forwarding pada saat reboot oleh un-komentar baris ini di /etc/sysctl.conf :

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
Oktavianus
sumber