R7800 IPV6 drops

  • ATTENTION! As of November 1, 2020, you are not able to reply to threads 6 months after the thread is opened if there are more than 500 posts in the thread.
    Threads will not be locked, so posts may still be edited by their authors.
    Just start a new thread on the topic to post if you get an error message when trying to reply to a thread.

kuan529

New Around Here
Hi , my ISP provides IPv6 over pppoe. I’ve set it up on my R7800 and got It working. However, IPv6 will drop after few days when ISP renew my public IP ( every 2-3 days). IPv4 does reconnect automatically after renew, but IPv6 doesn’t. I have to disable IPv6 and then re-enable to bring it back.

I’m currently on the latest Voxel’s firmware. I haven’t tried the stock but even if IPv6 works fine on the stock I don’t want to go back to stock only because IPv6. Voxel firmware is way to more reliable.

Is there a solution or workaround to fix this issue? Any command line I can use on telnet to force IPv6 reconnect automatically?
 

HELLO_wORLD

Very Senior Member
I had to customize a lot IPv6 scripts in my case, but different ISP setting.

In your case, yes, a script is a solution.
There are several approaches to do it. One would be to test regularly (cron job or loop/sleep script) IPv6 connectivity and restart it if needed.

Check your WAN interface (brwan or ppp0):
Code:
ifconfig ppp0 && echo 'ppp0' || /bin/nvram get wan_ifname

1) Cron rule (replace WAN_INTERFACE):
Code:
* * * * * { /bin/ping6 -I WAN_INTERFACE -c 1 ipv6.google.com || /etc/init.d/init6 restart; } >/dev/null 2>&1



2) Or loop/sleep script:
Create this file: check_ipv6.sh
Code:
#!/bin/sh
while :; do
  /bin/ping6 -I WAN_INTERFACE -c 1 ipv6.google.com || /etc/init.d/init6 restart
  sleep 60;
done >/dev/null 2>&1

Then make it executable and run it.
Code:
chmod +x check_ipv6.sh
./check_ipv6.sh &

You would have to run it after each reboot, or automatize its start adding this line in post-mount.sh if you have a USB drive, or rc.local (before exit 0), replace PATH_TO by the full path to your script:
Code:
PATH_TO/check_ipv6.sh &
 

kuan529

New Around Here
I had to customize a lot IPv6 scripts in my case, but different ISP setting.

In your case, yes, a script is a solution.
There are several approaches to do it. One would be to test regularly (cron job or loop/sleep script) IPv6 connectivity and restart it if needed.

Check your WAN interface (brwan or ppp0):
Code:
ifconfig ppp0 && echo 'ppp0' || /bin/nvram get wan_ifname

1) Cron rule (replace WAN_INTERFACE):
Code:
* * * * * { /bin/ping6 -I WAN_INTERFACE -c 1 ipv6.google.com || /etc/init.d/init6 restart; } >/dev/null 2>&1



2) Or loop/sleep script:
Create this file: check_ipv6.sh
Code:
#!/bin/sh
while :; do
  /bin/ping6 -I WAN_INTERFACE -c 1 ipv6.google.com || /etc/init.d/init6 restart
  sleep 60;
done >/dev/null 2>&1

Then make it executable and run it.
Code:
chmod +x check_ipv6.sh
./check_ipv6.sh &

You would have to run it after each reboot, or automatize its start adding this line in post-mount.sh if you have a USB drive, or rc.local (before exit 0), replace PATH_TO by the full path to your script:
Code:
PATH_TO/check_ipv6.sh &

Appreciate your help with clear instruction.
I will try and test for couple days. Will report back here.
 

kuan529

New Around Here
It has been 4 straight days. IPv6 connectivity keeps up and running fine.

However, there is another issue... I notice ICMPv6 is blocked when I do online test on “ipv6-test.com”. I also found out that there is an option “Allow external IPv6 hosts ping internal IPv6 hosts” in the debug.htm, but it seems not working properly. ICMPv6 was still blocked after I checked the option. I then did some researches and realized it is Netgears problem...

The information I got was back to 2019. Wondering if there is a solution/ workaround now?
 

HELLO_wORLD

Very Senior Member
It has been 4 straight days. IPv6 connectivity keeps up and running fine.

However, there is another issue... I notice ICMPv6 is blocked when I do online test on “ipv6-test.com”. I also found out that there is an option “Allow external IPv6 hosts ping internal IPv6 hosts” in the debug.htm, but it seems not working properly. ICMPv6 was still blocked after I checked the option. I then did some researches and realized it is Netgears problem...

The information I got was back to 2019. Wondering if there is a solution/ workaround now?

Great :)

I have ICMPv6 reachable on ipv6-test.com, so it is not a NG problem, or to be more precise, it can work with R7800 and @Voxel ’s firmware.

After, IPv6 depends a lot on the ISP and its infrastructure behind...
What is https://ipv6-test.com/pingtest/ telling you?
 

microchip

Very Senior Member
In (very) recent firmware, NETGEAR only allows echo requests to be reachable for IPv6. This is how it passes IPv6 tests and gives the illusion that it complies. It does not, since there are more ICMPv6 options that need to be passed too. I wrote my own IPv6 firewall which fully complies with passing ICMPv6 options like "destination-unreachable" or "packet-too-big" (to give a few examples). ASUS routers by default also fully comply with ICMPv6, at least my old AC66U used to under RMerlin firmware.
 

HELLO_wORLD

Very Senior Member
In (very) recent firmware, NETGEAR only allows echo requests to be reachable for IPv6. This is how it passes IPv6 tests and gives the illusion that it complies. It does not, since there are more ICMPv6 options that need to be passed too. I wrote my own IPv6 firewall which fully complies with passing ICMPv6 options like "destination-unreachable" or "packet-too-big" (to give a few examples). ASUS routers by default also fully comply with ICMPv6, at least my old AC66U used to under RMerlin firmware.
Do you mind sharing your IPv6 firewall settings?
 

microchip

Very Senior Member

Similar threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top