Unable to connect to IPv6 gateway but can access the internet

May 3, 2022
6
0
1
I'm running proxmox 7.1-12 with the following network config (I have redacted public IPs):

Code:
auto lo
iface lo inet loopback

iface enp35s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address xxx.xxx.xxx.66/29
        gateway xxx.xxx.xxx.65
        bridge-ports enp35s0
        bridge-stp off
        bridge-fd 0

iface vmbr0 inet6 static
        address xxxx:xxxx:7::1/64
        gateway xxxx:xxxx:7::

auto vmbr1
iface vmbr1 inet static
        address 10.0.0.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE

And my ip6 routes:

Code:
::1 dev lo proto kernel metric 256 pref medium
xxxx:xxxx:7::/64 dev vmbr0 proto kernel metric 256 pref medium
fe80::/64 dev vmbr0 proto kernel metric 256 pref medium
fe80::/64 dev vmbr1 proto kernel metric 256 pref medium
default via xxxx:xxxx:7:: dev vmbr0 proto kernel metric 1024 onlink pref medium


With this config, I can access IPv6 sites fine and they report my IP as xxxx:xxxx:7::1, as expected. However, I cannot ping or communicate with the gateway. When running tcpdump, I can see packets received from the gateway however I dont see any entries at all for packets going to the gateway, even when i ping it or try to establish a connection with it (ping6ing the gateway result in no output in both tcpdump and in ping6).

This is especially confusing as traceroute6 clearly shows I am traversing it:

Code:
traceroute to ipv6.icanhazip.com (2606:4700::6812:7361), 30 hops max, 80 byte packets
 1  xxxx:xxxx:7:: (xxxx:xxxx:7::)  0.100 ms  0.088 ms  0.083 ms
 2  e0-3.core1.lon6.he.net (2001:470:1:6a4::1)  0.984 ms  1.342 ms  1.667 ms
 3  ve1000.core2.lon2.he.net (2001:470:0:680::1)  3.726 ms  6.143 ms  8.513 ms
 4  100ge11-2.core1.lon2.he.net (2001:470:0:541::1)  0.340 ms  0.310 ms  0.338 ms
 5  linx-lon1.as13335.net (2001:7f8:4::3417:1)  1.193 ms *  1.322 ms
 6  2400:cb00:21:3:: (2400:cb00:21:3::)  1.354 ms 2400:cb00:376:3:: (2400:cb00:376:3::)  1.941 ms 2400:cb00:377:3:: (2400:cb00:377:3::)  1.726 ms
 7  2400:cb00:377:1024::ac46:58ad (2400:cb00:377:1024::ac46:58ad)  1.151 ms 2400:cb00:373:1024::ac46:a15c (2400:cb00:373:1024::ac46:a15c)  0.794 ms 2400:cb00:377:1024::ac46:58ba (2400:cb00:377:1024::ac46:58ba)  1.104 ms

Here is the tcpdump output for the traceroute: https://pastebin.com/wbqVhF0p

The IPv6 addresses and gateway are provided by my upstream so I can peer with them and announce my own IPv6 addresses. IPv4 is working fine.

Any ideas why I cant reach the gateway?
 
I created an Ubuntu VM, and gave it a network device attached to vmbr0 with an IP of xxxx:xxxx:7::1 and gateway of xxxx:xxxx:7:: (and removed those IPs from the host) and i can route to the gateway fine. So it would appear to be an issue with proxmox or debian specifically (perhaps to do with bridges?)