Issues with MTU and static IPv6 configuration on LXC Containers

ishanjain

Member
Nov 27, 2021
9
0
6
74
Hi!

I have run into some bugs after configuring static IPv6 address and gateway on LXC containers in proxmox.

Some details about my network and the proxmox node,


My WAN connection uses 1492 MTU (PPPoE). I use a IPv6 tunnel to get IPv6 connectivity. The MTU on this tunnel is 1472.
I am using Proxmox 7.4-1.

MTU on proxmox host is 1500, MTU in LXC container is 1500.


My issue is, A lot of connections from LXC Containers to public internet over IPv6 are getting stuck at Client Hello.


The IPv6 config in LXC container when I am using SLAAC looks like this,

Code:
--- IPv6 details from affected container

root@lldap:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0@if87: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 92:6c:f5:91:f4:bd brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.0.50.18/24 brd 10.0.50.255 scope global dynamic eth0
       valid_lft 85006sec preferred_lft 85006sec
    inet6 2a0a:6040:4004:50::124/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::906c:f5ff:fe91:f4bd/64 scope link
       valid_lft forever preferred_lft forever


root@lldap:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a0a:6040:4004:50::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via 2a0a:6040:4004:50::1 dev eth0 metric 1024 onlink pref medium

Notice, The interface MTU is set to 1500 and there is no MTU specified in the default route.

In this setup, Connections to t.me or telegram.org are stuck at Client Hello. These sites are accessible from other LXC containers(that are using slaac) and other machines on my network without any errors.

On the affected container I see,

Code:
root@lldap:~# curl https://t.me -v
*   Trying 2001:67c:4e8:f004::9:443...
* Connected to t.me (2001:67c:4e8:f004::9) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):



The IPv6 config in a container configured with SLAAC looks like this,
Code:
--- IPv6 details from a working container(which has address from SLAAC)

root@grafana:~# ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0@if151: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0a:0e:01:16:f9:4c brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.0.50.12/24 brd 10.0.50.255 scope global dynamic eth0
       valid_lft 86335sec preferred_lft 86335sec
    inet6 2a0a:6040:4004:50:80e:1ff:fe16:f94c/64 scope global dynamic mngtmpaddr
       valid_lft 89937sec preferred_lft 86337sec
    inet6 fe80::80e:1ff:fe16:f94c/64 scope link
       valid_lft forever preferred_lft forever


root@grafana:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a0a:6040:4004:50::/64 dev eth0 proto kernel metric 256 expires 89997sec pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::c6ad:34ff:fe9a:9575 dev eth0 proto ra metric 1024 expires 1797sec mtu 1472 pref medium

Notice that there is MTU 1472 specified in the route. This MTU is included in RAs from my router.


Is there some way to specify MTU when using static IPv6 configuration? I do not want to change interface MTU because IPv4 can still use the full 1500 MTU and I will really appreciate a simpler solution that lets me use static ipv6 addresses and doesn't require me to login to every affected instance and make changes there.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!