Strona 1 z 1

Konfiguracja połączenia wirtualizowanego hosta

: 06 sierpnia 2011, 22:48
autor: rysic
Zainstalowałem sobie wirtualną maszynkę za pomocą lxc. Na hoście, który ma utrzymywać maszyny wirtualne są dwa interfejsy eth5, eth6 i one połączone są w jeden - bond0. Następnie do bond0, według wszelakich instrukcji instalacji lxc, zrobiony jest most do interfejsu br0.
Wygląda to wszystko tak:

Główny host ma konfigurację:

Kod: Zaznacz cały


root@PLHQSRDMZ01:~# cat /etc/network/interfaces 
auto lo
iface lo inet loopback

auto bond0
iface bond0 inet manual
slaves eth5 eth6
bond-mode active-backup
bond-miimon 100
bond-downdelay 0
bond-updelay 0

auto br0
iface br0 inet static
address 10.50.12.100
netmask 255.255.255.0
gateway 10.50.12.1
network 10.50.10.0
bridge_ports bond0
bridge_fd 0
bridge_maxwait 0
bridge_stp off

Kod: Zaznacz cały

root@PLHQSRDMZ01:~# ifconfig 
bond0     Link encap:Ethernet  HWaddr 08:00:27:95:e4:45  
          inet6 addr: fe80::a00:27ff:fe95:e445/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:515 errors:0 dropped:0 overruns:0 frame:0
          TX packets:132 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:37405 (36.5 KiB)  TX bytes:13712 (13.3 KiB)

br0       Link encap:Ethernet  HWaddr 08:00:27:95:e4:45  
          inet addr:10.50.12.100  Bcast:10.50.12.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe95:e445/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:514 errors:0 dropped:0 overruns:0 frame:0
          TX packets:126 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:27959 (27.3 KiB)  TX bytes:13244 (12.9 KiB)

eth5      Link encap:Ethernet  HWaddr 08:00:27:95:e4:45  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:514 errors:0 dropped:0 overruns:0 frame:0
          TX packets:132 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37345 (36.4 KiB)  TX bytes:13712 (13.3 KiB)

eth6      Link encap:Ethernet  HWaddr 08:00:27:95:e4:45  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:60 (60.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

Kod: Zaznacz cały

root@PLHQSRDMZ01:~# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth5
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth5
MII Status: up
Link Failure Count: 0
Permanent HW addr: 08:00:27:95:e4:45

Slave Interface: eth6
MII Status: up
Link Failure Count: 0
Permanent HW addr: 08:00:27:48:60:b1

Kod: Zaznacz cały

root@PLHQSRDMZ01:~# cat /var/lib/lxc/plhqsrwww01/config 
lxc.tty = 4
lxc.pts = 1024
lxc.rootfs = /var/lib/lxc/plhqsrwww01/rootfs
lxc.cgroup.devices.deny = a
# /dev/null and zero
lxc.cgroup.devices.allow = c 1:3 rwm
lxc.cgroup.devices.allow = c 1:5 rwm
# consoles
lxc.cgroup.devices.allow = c 5:1 rwm
lxc.cgroup.devices.allow = c 5:0 rwm
lxc.cgroup.devices.allow = c 4:0 rwm
lxc.cgroup.devices.allow = c 4:1 rwm
# /dev/{,u}random
lxc.cgroup.devices.allow = c 1:9 rwm
lxc.cgroup.devices.allow = c 1:8 rwm
lxc.cgroup.devices.allow = c 136:* rwm
lxc.cgroup.devices.allow = c 5:2 rwm
# rtc
lxc.cgroup.devices.allow = c 254:0 rwm

lxc.utsname = plhqsrwww01
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
#lxc.network.hwaddr = 00:FF:12:34:56:00
lxc.network.ipv4 = 10.50.12.101/25

# mounts point
lxc.mount.entry=proc /var/lib/lxc/plhqsrwww01/rootfs/proc proc nodev,noexec,nosuid 0 0
lxc.mount.entry=devpts /var/lib/lxc/plhqsrwww01/rootfs/dev/pts devpts defaults 0 0
lxc.mount.entry=sysfs /var/lib/lxc/plhqsrwww01/rootfs/sys sysfs defaults  0 0

Kod: Zaznacz cały

root@PLHQSRDMZ01:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.50.12.0      0.0.0.0         255.255.255.0   U     0      0        0 br0
0.0.0.0         10.50.12.1      0.0.0.0         UG    0      0        0 br0
Host wirtualizowany przez lxc

Kod: Zaznacz cały

plhqsrwww01:~# ifconfig 
eth0      Link encap:Ethernet  HWaddr e6:7b:db:5a:dc:95  
          inet addr:10.50.12.101  Bcast:10.50.12.0  Mask:255.255.255.0
          inet6 addr: fe80::e47b:dbff:fe5a:dc95/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:904 (904.0 B)  TX bytes:384 (384.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Kod: Zaznacz cały

plhqsrwww01:~# cat /etc/network/interfaces 
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
	address 10.50.12.101
	netmask 255.255.255.0
	gateway 10.50.12.1

Kod: Zaznacz cały

plhqsrwww01:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.50.12.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         10.50.12.1      0.0.0.0         UG    0      0        0 eth0
Teraz jest taka sytuacja, że interfejsy hosta głównego (10.50.12.100) oraz wirtualizowanego (10.50.12.101) mogą się komunikować wysyłając ping. Host główny może wysyłać ping do rutera, a nawet do innej podsieci, ale host wirtualizowany nie może wysłać sygnału ping ani do rutera ani tym bardziej do innej podsieci. Co może być nie tak?

: 15 sierpnia 2011, 13:51
autor: sethiel

Kod: Zaznacz cały

lxc.network.ipv4 = 10.50.12.101/25
Tu Ci się maski nie zgadzają (ale to akurat zapewne nie jest rozwiązanie).
Może lxc ma tagowanie ramek IP, aby kilka maszyn wirtualnych mogło działać?
Zgaduję - ale może to to.

: 15 sierpnia 2011, 19:28
autor: rysic
Niestety, to nie to. Poprawiłem i dalej jest to samo.
Dodam tylko jeszcze, że maszyna jest na virtualboksie.

Najgorsze jest to, że jak usnę bond0 z całego łańcucha, to jest to samo. Zaczynam podejrzewać virtualboksa.

: 16 sierpnia 2011, 18:40
autor: grzesiek
Czy listing:

Kod: Zaznacz cały

[font=monospace]root@PLHQSRDMZ01:~# route -n
[/font]wkleiłeś cały?
Coś w nim jest nie tak, bo on nie uwzględnia interfejsów eth5, czy eth6. Nie bardzo rozumiem co chcesz osiągnąć używając 'bond0' ale mi się wydaje, że to samo można osiągnąć bez niego. Ja mam tylko most i również dwa pozostałe interfejsy o różnych sieciach. Wszystko działa baz łączenia tych fizycznych interfejsów w np. 'bond0'.

: 19 sierpnia 2011, 11:11
autor: rysic
A co jeszcze byś chciał dostać w wyniku polecenia:

Kod: Zaznacz cały

route -n
Wkleiłem wszystko.
Bond0 jest potrzebny po to aby zapewnić odporność na awarie. Testuję teraz LXC na maszynie wirtualnej w virtualboksie bez bond0 i wygląda po prostu na to, że virtualbox nie lubi mieć mostu wewnątrz maszyny wirtualnej, bo kłóci się to z jego przełącznikiem dla interfejsów.

Dodane:
Wygląda na to, że takie rozwiązanie nie jest wspierane (wirtualizacja na wirtualizacji to najprawdopodobniej dwa mosty na sobie - domyślam się, że virtualbox tak to robi). Ewentualne rozwiązanie problemu znajduje się tutaj: http://forum.suse.pl/index.php/topic,24 ... #msg169169