libvirt/qemu ipv4/ipv6 Dual Stack
Moin,
unter link hatte der martin.s eine Dual Stack Anleitung gepostet, leider ist mir diese viel zu umständlich
anyway, libvirt/qemu kann auch dual stack von ganz alleine, wir brauchen dafür nur die basic pakete
aptitude install libvirt-bin qemu qemu-kvm
danach noch fix die /etc/network/interfaces anpassen
iface eth0 inet6 static
address foobar:gna
netmask 128
gateway fe80::1
nun legen wir unter /etc/libvirt/qemu/networks
eine xml Konfiguration an, welche von libvirt verwaltet wird
z.b touch br0.xml && uuid-gen
<network>
<name>br0</name>
<uuid>()</uuid>
<forward dev='eth0' mode='route'>
<interface dev='eth0'/>
</forward>
<bridge name='br0' stp='on' delay='0'/>
<mac address='()'/>
<ip address='()' netmask='255.255.255.()'>
</ip>
<ip family='ipv6' address='():3a' prefix='64'>
</ip>
</network>
die () sollten nun nach und nach ersetzt werden, bei der IPv4 Adresse die erste verwendbare aus dem zugeteilten subnetz verwenden, da diese von libvirt als bridge verwendet wird. Bei der IPv6 Adresse einfach die nächste verwendbare nehmen.
danach reicht ein
virsh net-define br0.xml
und ein
virsh net-start br0
ifconfig br0
br0 Link encap:Ethernet HWaddr ()
inet addr:() Bcast:() Mask:255.255.255.240
inet6 addr: () Scope:Link
inet6 addr: ()3a/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:157221868 errors:0 dropped:0 overruns:0 frame:0
TX packets:148160196 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:151210249254 (151.2 GB) TX bytes:34342903306 (34.3 GB)
/etc/libvirt/qemu/networks # ip route
default via ().193 dev eth0
()/27 via ().193 dev eth0
()/27 dev eth0 proto kernel scope link src ().214
().144/28 dev br0 proto kernel scope link src ().145
/etc/libvirt/qemu/networks # ip -6 route
()::2 dev eth0 proto kernel metric 256
()::/64 dev br0 proto kernel metric 256
fe80::/64 dev eth0 proto kernel metric 256
fe80::/64 dev br0 proto kernel metric 256
default via fe80::1 dev eth0 metric 1024
alles andere wie z.b IP forwarding (/etc/sysctl.conf
) wird auch von libvirt gemacht und automatisch auf die entsprechenden werte gesetzt. Innerhalb der KVM bekommt diese automatisch über dnsmasq (kommt als abhänigkeit) eine IPv6 Adresse zugewiesen mit entsprechenden Routen etc. Will man diese auch noch fest setzen einfach die interfaces der KVM bearbeiten.
iface eth0 inet6 static
address (zugewiesen:von:Hetzner):(mac:adresse:der:kvm)
netmask 64
ifdown eth0 && ifup eth0
und schon sind die KVM Server im Dual Stack erreichbar (DNS Einträge nicht vergessen/Mailserver Konfiguration anpassen…)