ndppd
ndppd copied to clipboard
Not working with OVH & Proxmox
Hi,
Idk why but ndppd doesnt write adverts to OVH gateway and I'm unable to use IPv6 inside LXC containers.
root@ovh1:~# ndppd -vvvv
(notice) ndppd (NDP Proxy Daemon) version 0.2.4
(notice) Using configuration file '/etc/ndppd.conf'
(debug) {
(debug) proxy vmbr0 {
(debug) rule 2001:41d0:602:XXXX::/64 {
(debug) static
(debug) }
(debug) }
(debug) }
(warning) Low prefix length (64 <= 120) when using 'static' method
(debug) fd=3, hwaddr=d0:50:99:de:ef:d
(debug) iface::allmulti() state=1, _name="vmbr0"
(debug) proxy::create() if=vmbr0
(debug) rule::create() if=vmbr0, addr=2001:41d0:602:XXXX::/64, auto=no
(debug) iface::fixup_pollfds() _map.size()=1
(debug) reading routes
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, daddr=ff02::1:ff00:0, len=86
(debug) proxy::handle_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, taddr=2001:41d0:602:3f5b::
(debug) checking 2001:41d0:602:XXXX::/64 against 2001:41d0:602:3f5b::
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, daddr=ff02::1:ff00:0, len=86
(debug) proxy::handle_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, taddr=2001:41d0:602:3f5b::
(debug) checking 2001:41d0:602:XXXX::/64 against 2001:41d0:602:3f5b::
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, daddr=ff02::1:ff00:0, len=86
(debug) proxy::handle_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, taddr=2001:41d0:602:3f5b::
(debug) checking 2001:41d0:602:XXXX::/64 against 2001:41d0:602:3f5b::
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, daddr=ff02::1:ff00:0, len=86
(debug) proxy::handle_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, taddr=2001:41d0:602:3f5b::
(debug) checking 2001:41d0:602:XXXX::/64 against 2001:41d0:602:3f5b::
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, daddr=ff02::1:ff00:0, len=86
(debug) proxy::handle_solicit() saddr=2001:41d0:602:3fff:ff:ff:ff:fd, taddr=2001:41d0:602:3f5b::
(debug) checking 2001:41d0:602:XXXX::/64 against 2001:41d0:602:3f5b::
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=fe80::606a:fdff:fe4c:f6f8, daddr=2001:41d0:602:XXXX::2, len=86
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=fe80::1018:5dff:fede:7c64, daddr=2001:41d0:602:XXXX::2, len=86
(debug) iface::read() len=24
(debug) iface::read_advert() saddr=fe80::80a4:e7ab:ff7f:0, taddr=fe80::606a:fdff:fe4c:f6f8, len=24
(debug) iface::read() len=24
(debug) iface::read_advert() saddr=fe80::80a4:e7ab:ff7f:0, taddr=fe80::1018:5dff:fede:7c64, len=24
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=fe80::606a:fdff:fe4c:f6f8, daddr=fe80::d250:99ff:fede:ef0d, len=86
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=fe80::1018:5dff:fede:7c64, daddr=fe80::d250:99ff:fede:ef0d, len=86
(debug) reading routes
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=::, daddr=ff02::1:ff4c:f6f8, len=86
(debug) proxy::handle_solicit() saddr=::, taddr=fe80::606a:fdff:fe4c:f6f8
(debug) checking 2001:41d0:602:XXXX::/64 against fe80::606a:fdff:fe4c:f6f8
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=::, daddr=ff02::1:ff00:102, len=86
(debug) proxy::handle_solicit() saddr=::, taddr=2001:41d0:602:XXXX::102
(debug) checking 2001:41d0:602:XXXX::/64 against 2001:41d0:602:XXXX::102
(debug) session::create() pr=b3f65890, saddr=::, daddr=ff02::1:ff00:102, taddr=2001:41d0:602:XXXX::102 =b3f66540
(debug) iface::write_advert() daddr=::, taddr=2001:41d0:602:XXXX::102
(debug) iface::write() daddr=::, len=32
(debug) session::~session() this=b3f66540
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=2001:41d0:602:XXXX::102, daddr=ff02::1:ff00:2, len=86
(debug) proxy::handle_solicit() saddr=2001:41d0:602:XXXX::102, taddr=2001:41d0:602:XXXX::2
(debug) checking 2001:41d0:602:XXXX::/64 against 2001:41d0:602:XXXX::2
(debug) session::create() pr=b3f65890, saddr=2001:41d0:602:XXXX::102, daddr=ff02::1:ff00:2, taddr=2001:41d0:602:XXXX::2 =b3f66540
(debug) iface::write_advert() daddr=2001:41d0:602:XXXX::102, taddr=2001:41d0:602:XXXX::2
(debug) iface::write() daddr=2001:41d0:602:XXXX::102, len=32
(debug) session::~session() this=b3f66540
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=2001:41d0:602:XXXX::102, daddr=ff02::1:ff00:0, len=86
(debug) proxy::handle_solicit() saddr=2001:41d0:602:XXXX::102, taddr=2001:41d0:602:XXXX::
(debug) checking 2001:41d0:602:XXXX::/64 against 2001:41d0:602:XXXX::
(debug) session::create() pr=b3f65890, saddr=2001:41d0:602:XXXX::102, daddr=ff02::1:ff00:0, taddr=2001:41d0:602:XXXX:: =b3f66540
(debug) iface::write_advert() daddr=2001:41d0:602:XXXX::102, taddr=2001:41d0:602:XXXX::
(debug) iface::write() daddr=2001:41d0:602:XXXX::102, len=32
(debug) session::~session() this=b3f66540
(debug) iface::read() len=24
(debug) iface::read_advert() saddr=2001:41d0:602:XXXX:80a4:e7ab:ff7f:0, taddr=2001:41d0:602:XXXX::102, len=24
(debug) iface::read() len=86
(debug) iface::read_solicit() saddr=fe80::606a:fdff:fe4c:f6f8, daddr=fe80::d250:99ff:fede:ef0d, len=86
^C(error) Shutting down...
(notice) Bye
(debug) iface::~iface()
(debug) iface::allmulti() state=1, _name="vmbr0"
My sysctl.conf on the host:
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.vmbr0.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.vmbr0.accept_ra = 0
net.ipv6.conf.all.router_solicitations = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.proxy_ndp = 1
net.ipv6.conf.all.proxy_ndp = 1
net.ipv4.ip_forward = 1
Host network configuration:
root@ovh1:~# ip -6 a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
4: vmbr0: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 2001:41d0:602:XXXX::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::d250:99ff:fede:ef0d/64 scope link
valid_lft forever preferred_lft forever
5: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::3c05:3fff:fe3f:e8e8/64 scope link
valid_lft forever preferred_lft forever
root@ovh1:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2001:41d0:602:XXXX::/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 2001:41d0:602:40ff:ff:ff:ff:ff dev vmbr0 proto kernel metric 1024 onlink pref medium
Guest network configuration:
root@ovh1:~# pct enter 102
root@dcbot:~# ip -6 a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0@if33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 2001:41d0:602:XXXX::102/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::606a:fdff:fe4c:f6f8/64 scope link
valid_lft forever preferred_lft forever
3: eth1@if34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::1cc1:f6ff:fef9:f38/64 scope link
valid_lft forever preferred_lft forever
root@dcbot:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2001:41d0:602:XXXX::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via 2001:41d0:602:XXXX::2 dev eth0 proto static metric 1024 pref medium
Host -> gateway works Host -> global IPv6 works Host -> Guest works
Guest -> gateway doesn't work Guest -> global IPv6 doesn't work Guest -> Hsot works