Kind of a follow up to hetzner server setup with public IPv6 addresses.
I have re-setup the server (#7), created a virtual machine, and installed LXD inside the virtual machine.
The virtual machine has an IPv6 public address (and is reachable). Created a network (vnet0), set the public IPv6 CIDR notation, and then created a container. LXD gave it a public IPv6 address, but the address is not reachable from the outside.
From Virtual Machine
VM1 $ 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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:77:43:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.132/24 brd 192.168.122.255 scope global dynamic enp1s0
valid_lft 2835sec preferred_lft 2835sec
inet6 2a01:abcd:abcd:abcd:5054:ff:fe77:4320/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 3579sec preferred_lft 3579sec
inet6 fe80::5054:ff:fe77:4320/64 scope link
valid_lft forever preferred_lft forever
3: lxdbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:3e:73:f1:5a brd ff:ff:ff:ff:ff:ff
inet 10.207.139.1/24 scope global lxdbr0
valid_lft forever preferred_lft forever
inet6 fd42:fa85:138c:a438::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fe73:f15a/64 scope link
valid_lft forever preferred_lft forever
9: veth62f97733@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master lxdbr0 state UP group default qlen 1000
link/ether 2e:d1:6b:42:3c:5a brd ff:ff:ff:ff:ff:ff link-netnsid 0
12: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:3e:0d:4d:e2 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/24 scope global vnet0
valid_lft forever preferred_lft forever
inet6 2a01:abcd:abcd:abcd::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fe0d:4de2/64 scope link
valid_lft forever preferred_lft forever
18: veth5da724ff@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vnet0 state UP group default qlen 1000
link/ether f2:a4:d0:b2:85:1e brd ff:ff:ff:ff:ff:ff link-netnsid 2
VM1 $ ip -6 r
::1 dev lo proto kernel metric 256 pref medium
2a01:abcd:abcd:abcd::/64 dev enp1s0 proto ra metric 100 expires 3064sec pref medium
2a01:abcd:abcd:abcd::/64 dev vnet0 proto kernel metric 256 pref medium
fd42:fa85:138c:a438::/64 dev lxdbr0 proto kernel metric 256 expires 3118sec pref medium
fe80::/64 dev enp1s0 proto kernel metric 256 pref medium
fe80::/64 dev lxdbr0 proto kernel metric 256 pref medium
fe80::/64 dev vnet0 proto kernel metric 256 pref medium
default via fe80::5054:ff:fe3c:b2d3 dev enp1s0 proto ra metric 100 expires 1264sec mtu 1500 pref medium
The container is allocated a public IPv6 address but this is not pingable
HOME $ ping6 2a01:abcd:abcd:abcd:216:3eff:fea4:ae2
PING 2a01:abcd:abcd:abcd:216:3eff:fea4:ae2(2a01:abcd:abcd:abcd:216:3eff:fea4:ae2) 56 data bytes
From 2a01:abcd:abcd:abcd::2 icmp_seq=1 Destination unreachable: Address unreachable
From 2a01:abcd:abcd:abcd::2 icmp_seq=2 Destination unreachable: Address unreachable
From 2a01:abcd:abcd:abcd::2 icmp_seq=3 Destination unreachable: Address unreachabl
From within the container
APACHE $ 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
17: eth0@if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:3e:a4:0a:e2 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 10.0.0.171/24 brd 10.0.0.255 scope global dynamic eth0
valid_lft 3329sec preferred_lft 3329sec
inet6 2a01:abcd:abcd:abcd:216:3eff:fea4:ae2/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 3331sec preferred_lft 3331sec
inet6 fe80::216:3eff:fea4:ae2/64 scope link
valid_lft forever preferred_lft forever
APACHE $ ip -6 r
2a01:abcd:abcd:abcd::/64 dev eth0 proto ra metric 100 expires 3364sec pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::216:3eff:fe0d:4de2 dev eth0 proto ra metric 100 expires 1564sec mtu 1500 pref medium
This is how the netplan is setup in the VM, maybe this might be causing the problem for the LXD bridge?
VM1 $ cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp1s0:
dhcp4: true
version: 2
VM1 $ lxc network show vnet0
config:
ipv4.address: 10.0.0.1/24
ipv4.nat: "true"
ipv6.address: 2a01:abcd:abcd:abcd::2/64
ipv6.nat: "true"
description: Public IPv6 Addresss
name: vnet0
type: bridge
used_by:
- /1.0/instances/apache
managed: true
status: Created
locations:
- none
I tried adjusting the netplan in the VM as follows by setting a static IPv6 and the gateway, but this made no difference.
network:
ethernets:
enp1s0:
dhcp4: true
addresses:
- 2a01:abcd:abcd:abcd:0000:0000:0000:0007/128
gateway6: fe80::1
version: 2
Any thoughts on what LXD needs to get this working?