This is my experience report after finally successfully setting up an IPv6 tunnel in sys-net in Qubes R4.0 and configuring things so that AppVMs could use it. It was quite a struggle - some things did not work as I expected.
Steps I followed to make it work: 1. Put the commands from Hurricane Electric, my IPv6 over IPv4 tunnel provider, into /rw/config/rc.local in sys-net. 2. As documented, in a dom0 terminal, enable the IPv6 feature: qvm-features sys-net ipv6 1 The rest of the steps I did not find documented anywhere: 3. At this point, dnf stopped working. This turned out to be an MTU issue - I had to add this line to my /rw/config/rc.local in sys-net: ip link set he-ipv6 mtu 1472 I had discovered this 1472 value using: tracepath6 mirrors.fedoraproject.org Although I don't think this was a Qubes issue, the same MTU value that I discovered also has to be used later as well. Side note: at this point, qubes-dom0-update was able to download packages but was not installing anything. However, I think that was because there was nothing that needed to be installed, because the downloaded packages were already up-to-date on dom0. So it wasn't a bug, or in any way related to this change, just a bit confusing. 4. I still had no IPv6 access in my web browsers in my AppVMs, so I investigated why. ipv6 NAT appeared to be set up in ip6tables as promised, but it wasn't working. I then discovered that net-vm didn't have an IPv6 address, other than a locally-scoped IPv6 address, for its virtual network interface. Is this a qubes bug? I added an IPv6 address: ip addr add fc00::10:8:8:71/7 dev vif9.0 and made it routable from sys-firewall: sudo ip -6 route add fc00::10:8:8:71 dev eth0 sudo ip -6 route add default via fc00::10:8:8:71 dev eth0 At this point I could successfully execute ping v6.ipv6-test.com 5. The web browsers still weren't able to use IPv6, and again it turned out to be an MTU issue. I had to execute: echo 1472 > /proc/sys/net/ipv6/conf/eth0/mtu as root, in both sys-firewall and the AppVM. Again, this was based on the MTU value I had discovered earlier. This means that path MTU discovery within the Qubes internal network doesn't work for IPv6 in Qubes. Though, based on something I have read about that, I think that may be a good thing from a security point of view. Can we simplify this process? It's quite complicated. Perhaps the firewall could by default allow through IPv6 ICMP messages to make MTU discovery work, only if they came from the internal network. Or perhaps that's incompatible with NAT of IPv6. I'm new to IPv6 and I'm still learning how it works. -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/CACVBcp51S2jHKkFbK9_jD5ThqMgg0Tp7A3bCMG35LY%2BVwwF1fQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.