Static IPV6 addr stop working after couple minutes

I request IPV6 pool from linode to avoid the google captcha.
I just deploy my IPV6 according to https://www.linode.com/docs/networking/linux-static-ip-configuration

I can sucessfully use my new IPV6 to visist any IPV6 site, but failed 10 or 20 minutes, then only IPV4 site is reachable. but I can still ping6 my new IPV6 addr and link IPV6 addr from linode VPS

after new IPV6 addr stop working, I can set the IPV6AUTOCONF=yes in ifcfg-eth0, then reboot I can get a SLAAC address again, this SLAAC address can work with IPV6 site, then I switch back IPV6AUTOCONF=no to use my static IPV6 setting, then I can work with my static IPV6 addr for couple minutes untill it again stop working, what's wrong with this?

[root@li1736-54 ~]# ifconfig
eth0: flags=4163<up,broadcast,running,multicast> mtu 1500
inet 172.104.126.54 netmask 255.255.255.0 broadcast 172.104.126.255
inet6 fe80::f03c:91ff:feb6:40a6 prefixlen 64 scopeid 0x20<link>
inet6 2400:8902:e001:89::1000 prefixlen 64 scopeid 0x0<global>
ether f2:3c:91:b6:40:a6 txqueuelen 1000 (Ethernet)
RX packets 15317 bytes 5619549 (5.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 15297 bytes 5674279 (5.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0</global></up,broadcast,running,multicast>

lo: flags=73<up,loopback,running> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 15934 bytes 5367667 (5.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 15934 bytes 5367667 (5.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0</host></up,loopback,running>

[root@li1736-54 ~]# ip -6 address
1: lo: <loopback,up,lower<em>UP> mtu 65536 state UNKNOWN qlen 1000 inet6 ::1/128 scope host validlft forever preferredlft forever 3: eth0: <broadcast,multicast,up,lower< em="">UP> mtu 1500 state UP qlen 1000
inet6 2400:8902:e001:89::1000/64 scope global
validlft forever preferredlft forever
inet6 fe80::f03c:91ff:feb6:40a6/64 scope link
validlft forever preferredlft forever</broadcast,multicast,up,lower<>
</loopback,up,lower<em>

[root@li1736-54 ~]# ip addr
1: lo: <loopback,up,lower<em>UP> mtu 65536 qdisc noqueue state UNKNOWN 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</loopback,up,lower<em>
lft forever preferredlft forever inet6 ::1/128 scope host validlft forever preferredlft forever 2: dummy0: <broadcast,noarp> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether ea:e7:17:70:de:c1 brd ff:ff:ff:ff:ff:ff 3: eth0: <broadcast,multicast,up,lower< em="">UP> mtu 1500 qdisc fq state UP qlen 1000
link/ether f2:3c:91:b6:40:a6 brd ff:ff:ff:ff:ff:ff
inet 172.104.126.54/24 brd 172.104.126.255 scope global eth0
validlft forever preferredlft forever
inet6 2400:8902:e001:89::1000/64 scope global
validlft forever preferredlft forever
inet6 fe80::f03c:91ff:feb6:40a6/64 scope link
validlft forever preferredlft forever
4: teql0: <noarp> mtu 1500 qdisc noop state DOWN qlen 100
link/void
5: tunl0@NONE: <noarp> mtu 1480 qdisc noop state DOWN qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
6: gre0@NONE: <noarp> mtu 1476 qdisc noop state DOWN qlen 1000
link/gre 0.0.0.0 brd 0.0.0.0
7: gretap0@NONE: <broadcast,multicast> mtu 1462 qdisc noop state DOWN qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
8: erspan0@NONE: <broadcast,multicast> mtu 1450 qdisc noop state DOWN qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
9: ipvti0@NONE: <noarp> mtu 1428 qdisc noop state DOWN qlen 1000 link/ipip 0.0.0.0 brd 0.0.0.0 10: ip6</noarp>vti0@NONE: <noarp> mtu 1500 qdisc noop state DOWN qlen 1000
link/tunnel6 :: brd ::
11: sit0@NONE: <noarp> mtu 1480 qdisc noop state DOWN qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
12: ip6tnl0@NONE: <noarp> mtu 1452 qdisc noop state DOWN qlen 1000
link/tunnel6 :: brd ::
13: ip6gre0@NONE: <noarp> mtu 1448 qdisc noop state DOWN qlen 1000
link/[823] 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00</noarp></noarp></noarp></noarp></broadcast,multicast></broadcast,multicast></noarp></noarp></noarp></broadcast,multicast,up,lower<></broadcast,noarp>

[root@li1736-54 ~]# ping6 ns1.linode.com
PING ns1.linode.com(ns1.linode.com (2400:cb00:2049:1::a29f:1a63)) 56 data bytes
--- ns1.linode.com ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5076ms

[root@li1736-54 ~]# ping6 ipv6.google.com
PING ipv6.google.com(tm-in-x65.1e100.net (2404:6800:4008:c00::65)) 56 data bytes
--- ipv6.google.com ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4042ms

[root@li1736-54 ~]# ping6 2400:8902:e001:89::1000
PING 2400:8902:e001:89::1000(2400:8902:e001:89::1000) 56 data bytes
64 bytes from 2400:8902:e001:89::1000: icmpseq=1 ttl=64 time=0.060 ms 64 bytes from 2400:8902:e001:89::1000: icmpseq=2 ttl=64 time=0.079 ms
64 bytes from 2400:8902:e001:89::1000: icmp_seq=3 ttl=64 time=0.066 ms

iptables

-A INPUT -p udp -m state --state NEW -m udp --dport 13440 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 13440 -j ACCEPT
-A INPUT -p icmpv6 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
"/etc/sysconfig/iptables" 55L, 2070C

1 Reply

Hey @leowood - that's definitely a weird behavior you're seeing. The fact that you can intermittently have success with pings should mean that there aren't any firewall/iptables rules directly inhibiting connections.

After digging around on this, this looks like it could be solved with resetting/reconfiguring some network settings. The first thing I would try is restarting NetworkManager:

systemctl restart NetworkManager

*This TecMint post has some more details on troubleshooting with NetworkManager: How to Manage Networking with NetworkManager in RHEL/CentOS 8

If restarting NetworkManager doesn't solve the issue, you may want to look into your network configuration files.

In /etc/sysconfig/network-scripts/ifcfg-eth0, try adding the following directive:

NM_CONTROLLED=no

In ifcfg-eth0, you can also try setting up the following lines with this configuration:

IPV6_DEFAULTGW=...%eth0
IPV6ADDR=2400::.../128
IPV6ADDR_SECONDARIES=2400:.../64

Keep in mind that any time you make any configuration changes, you may need to restart your network services again for them to get applied.

This post has a similar configuration recommendation:

Adding a Public IPv6 Address to a Linux Server (CentOS 6)

If you're interested, this Red Hat tutorial has some stellar explanations/breakdowns of these settings and more:

11.2. INTERFACE CONFIGURATION FILES

Lastly, if you've never used our Network Helper feature (not to be confused with NetworkManager), it automatically configures the IP addresses, gateway, and DNS resolvers for your Linode. Essentially, this will remove the need to manually configure your network settings after rebooting (including reboots after scheduled maintenance). You can enable this from the Cloud Manager in your Linode's configuration profile. The link above has instructions on how to do this.

Something to keep in mind with Network Helper: It will overwrite any manual changes that have been made to your network configurations after a server reboot.

Hope this helps point you in the right direction!

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct