VirtualBox konuk makineleri arasında anahtarlamalı bir ağ oluşturmak için Open vSwitch kullanıyorum ve ana işletim sisteminin (Ubuntu 12.04) bu ağa katılmasını ve bu sanal ağın ağ geçidi olarak yapılandırılmasını istiyorum:
İlk olarak, bir vswitch oluşturdum ve cihazlara bağlantı noktaları ekledim (sanal makineler bunları köprülü arayüzler olarak kullanıyor):
ovs-vsctl add-br sw0
ovs-vsctl add-port sw0 tap0
Bundan sonra, statik olarak Lubuntu 12.04 sanal makinenin ipini ayarladım:
ifconfig eth0 192.168.1.3/24 up
route add -net 0.0.0.0/0 gw 192.168.1.1
Ana bilgisayar os tarafında, ben de ip adresini ayarlayın:
ifconfig sw0 192.168.1.1/24 up
Şu anda, Lubunut'tan Ubunutu'ya ping atabiliyorum. Şimdi, ana makinede trafiği ağ 192.168.1.0/24 (internete bağlı) fiziksel iletmek için IP maskeli kullanmak istiyorum:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
Yani Lubuntu (sanal makine), Ubuntu eth1 arayüzüne ping atabilirim, ancak gerçek ağa (örneğin: gerçek LAN'daki ağ geçidi) ulaşamıyorum, denedim:
nslookup google.com
dig @8.8.8.8 yahoo.com
dig @192.168.30.1 google.com
Ağ topolojisi
Internet (real gw) ------ Host OS -------- vswitch -------- VBox Guest 1
192.168.30.1 ip masquerade 192.168.1.0/24
|
------------ VBox Guest 2