KVM zwischen verschiedenen interfaces routen ipv6

bojarang

New Member
Hallo ssf,

ich habe 2 öffentliche IPs, ein ipv6 Subnetz (/64) und mehrere VMs. Der Host (squeeze) hat zwei virtuelle Bridges, eine ipv6 Adresse (1111:2222:3333:4444::2), sowie eine öffentliche ipv4 Adresse.

An virbr0 sind alle VMs in einem privaten Netz (192.168.x.x). Die Services gehen per NAT an die entsprechenden Rechner. Ebenfalls sind alle Rechner per ipv6 (1111:2222:3333:4444::4-10) zu erreichen, und können sich untereinander erreichen.

An virbr1 hängt eine VM mit öffentlicher ipv4 IP sowie 1111:2222:3333:4444::3 als ipv6 Adresse.

Jetzt kann die VM an virbr1 die VMs an virbr0 nicht erreichen und umgekehrt. Alle Routingversuche von mir sind gescheitert. Auch habe ich kurz darüber nach gedacht die VM an virbr1 in ein /127 Netz zu stecken, damit sie das Gateway 1111:2222:3333:4444::2 benutzt um an die anderen VMs zu kommen. Das funktioniert alles aber nicht.

Jetzt ist meine Frage, wie müssten die Routen (wahrscheinlich auf dem Host?) aussehen, bzw. sind Routen da das/ein richtiges Mittel, oder mache ich das per ip6tables?

ip route "was über virbr0 kommt und an 1111:2222:3333:4444::3 gehen soll, geht über dev virbr1"

ip route "was über virbr1 kommt und an 1111:2222:3333:4444::/64 geht, geht über virbr0"

Vielen Dank schon mal!
 
Also ich bin ein Stück weiter gekommen. Ich habe das /64 Netz in weitere Teilnetze unterteilt:

host eth0 -1111:2222:3333:4444::2/64

virbr0 - 1111:2222:3333:4444::20/123
vm1 - 1111:2222:3333:4444::21/123


virbr1 - 1111:2222:3333:4444::40/123
vm2 - 1111:2222:3333:4444::41/123



Jetzt können sich untereinander alle Maschinen pingen. Allerdings kommen die VMs nicht mehr raus und sie lassen sich auch nicht von außen pingen. Laut tcpdump kommen allerdings Pakete an eth0 von 1111:2222:3333:4444::2 an.
Somit denke ich, dass es sich um das Problem handelt welches hier im letzten Teil beschrieben ist. Allerdings löst:

ip -6 neigh add proxy 1111:2222:3333:4444:41 dev eth0

das Problem nicht. Weiß nicht ob das dann jetzt mit den Subnetzen und virtuellen Brücken zu tun hat, welche in den kleineren Teilnetzen sind?

bei einem "ping6 ipv6.google.com" von vm2 sagt tcpdump auf dem host folgendes:

#tcpdump -i eth0 -v ip6
Code:
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

23:01:43.773870 IP6 (hlim 63, next-header ICMPv6 (58) payload length: 64) 1111:2222:3333:4444::41 > fra07s07-in-x63.1e100.net: [icmp6 sum ok] ICMP6, echo request, length 64, seq 1

23:01:44.252989 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) fe80::2ac0:daff:fe46:a71a > ff02::1:ff00:41: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 1111:2222:3333:4444::41
	  source link-address option (1), length 8 (1): 28:c0:da:46:a7:1a

[...]
 
okay. ich hatte einen zahlendreher in etwa wie:

ip -6 neigh add proxy 1111:2222:3334:4444:41 dev eth0


jetzt geht alles. prost ....
 
Back
Top