I have an external server at Hetzner with Debian 7 and trying to setup KVM with IPv6 Routing (the same setup works for IPv4 without problems).
I have one Ubuntu Server VM with two interfaces which are in two different subnet. The first interface ist connected to the host via a bridge:
Host-eth0 <-- external bridge --> vnet0-VM-vnet1 <-- internal bridge
I configured the bridge to add a static route to the second subnet via the first VM interface:
ip -6 route add 2a01:4f8:X:Y:2::/80 via 2a01:4f8:X:Y:1::3 dev virbr_external
This adds the route entry BEFORE the VM is started. When I use ping6 from the host to the vnet1 interface (2::2) I get this error message:
ping: sendmsg: Network is down
When I don't add the route in the interfaces configuration and call it manually AFTER the VM is started, everything works.
So my question is why does route add for IPv6 addresses only work after the the VM is started?
Additional Configuration Details:
auto lo iface lo inet6 loopback auto eth0 iface eth0 inet6 static address 2a01:4f8:X:Y:0::2 netmask 128 gateway fe80::1 # Bridge between Host and VM auto virbr_external iface virbr_external inet6 static bridge_ports none bridge_stp off bridge_fd 0 address 2a01:4f8:X:Y:1::2 netmask 80 up ip -6 route add 2a01:4f8:X:Y:2::/80 via 2a01:4f8:X:Y:1::3 dev virbr_external # Bridge between VM and other VMs auto virbr_internal iface virbr_internal inet6 manual bridge_ports none bridge_stp off bridge_fd 0
auto lo iface lo inet6 loopback auto eth0 iface eth0 inet6 static address 2a01:4f8:X:Y:1::3 netmask 80 gateway 2a01:4f8:X:Y:1::2 auto eth1 iface eth1 inet6 static address 2a01:4f8:X:Y:2::2 netmask 80
Please tell me if you need more logs (before and after it works), I will gather it then.