Linux ਉੱਤੇ ਫਾਰਵਰਡਿੰਗ ਚਾਲੂ ਕਰਨ ਤੋਂ ਬਾਅਦ IPv6 ਦਾ ਡਿਫ਼ਾਲਟ ਰੂਟ ਗਾਇਬ ਹੋ ਗਿਆ
IPv6 ਫਾਰਵਰਡਿੰਗ ਚਾਲੂ ਕਰਨ ਨਾਲ ਕਰਨਲ ਅਪਲਿੰਕ ਉੱਤੇ ਰਾਊਟਰ ਇਸ਼ਤਿਹਾਰਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦਾ ਹੈ, ਅਤੇ ਸਿੱਖਿਆ ਡਿਫ਼ਾਲਟ ਰੂਟ ਖ਼ਤਮ ਹੋ ਜਾਂਦਾ ਹੈ। ਇਸ ਨੂੰ accept_ra ਨਾਲ ਠੀਕ ਕਰੋ।
ਮੈਂ ਇੱਕ Debian ਗੇਟਵੇ ਉੱਤੇ net.ipv6.conf.all.forwarding=1 ਸੈੱਟ ਕੀਤਾ ਤਾਂ ਜੋ ਉਹ VPN ਕਲਾਇੰਟਾਂ ਦੀ ਟ੍ਰੈਫ਼ਿਕ ਅੱਗੇ ਭੇਜ ਸਕੇ, ਅਤੇ ਲਗਭਗ ਅੱਧੇ ਘੰਟੇ ਬਾਅਦ ਮਸ਼ੀਨ ਕੋਲ ਕੋਈ IPv6 ਡਿਫ਼ਾਲਟ ਰੂਟ ਨਹੀਂ ਬਚਿਆ। ਉੱਪਰਲਾ ਰਾਊਟਰ ਚੱਲ ਰਿਹਾ ਸੀ, link-local ਗੁਆਂਢੀ ਅਜੇ ਵੀ ਜਵਾਬ ਦੇ ਰਿਹਾ ਸੀ, ਅਤੇ ਅਪਲਿੰਕ ਕੋਲ ਅਜੇ ਵੀ ਆਪਣਾ ਵਿਸ਼ਵ ਪੱਧਰੀ ਪਤਾ ਸੀ। ਜੋ ਰੁਕਿਆ ਸੀ ਉਹ ਕਰਨਲ ਦੀ ਉਸ ਇੰਟਰਫ਼ੇਸ ਉੱਤੇ ਰਾਊਟਰ ਇਸ਼ਤਿਹਾਰ ਲੈਂਦੇ ਰਹਿਣ ਦੀ ਤਿਆਰੀ ਸੀ। sysctl ਲਿਖਣ ਵੇਲੇ ਰੂਟ ਗਾਇਬ ਨਹੀਂ ਹੋਇਆ; ਉਹ ਤਦ ਗਾਇਬ ਹੋਇਆ ਜਦੋਂ RA ਤੋਂ ਸਿੱਖੇ ਡਿਫ਼ਾਲਟ ਰੂਟ ਦੀ ਉਮਰ ਖ਼ਤਮ ਹੋਈ ਅਤੇ ਕਿਸੇ ਨੇ ਉਸਨੂੰ ਨਵਿਆਇਆ ਨਹੀਂ।
ਪਹਿਲੀ ਨਜ਼ਰ ਵਿੱਚ ਕੁਝ ਵੀ ਟੁੱਟਿਆ ਨਹੀਂ ਲੱਗਾ। ਫਾਰਵਰਡਿੰਗ ਕੰਮ ਕਰ ਰਹੀ ਸੀ, ਪੁਰਾਣਾ ਰੂਟ ਕੈਸ਼ ਵਿੱਚ ਰਹਿਣ ਤੱਕ ਕਲਾਇੰਟ ਲੰਘ ਰਹੇ ਸਨ, ਅਤੇ ਨਾਕਾਮੀ ਉਸ ਬਦਲਾਅ ਤੋਂ ਬਾਅਦ ਆਈ ਜਿਸਨੇ ਇਸਨੂੰ ਪੈਦਾ ਕੀਤਾ। ਇਹੀ ਦੇਰੀ ਕਾਰਨ ਦੋਸ਼ ਉੱਪਰਲੇ ਪਾਸੇ ਜਾਂ ਉਸ ਫਾਇਰਵਾਲ ਨਿਯਮ ਉੱਤੇ ਪਾਇਆ ਜਾਂਦਾ ਹੈ ਜੋ ਕਦੇ ਸ਼ਾਮਲ ਹੀ ਨਹੀਂ ਸੀ।
ਕਿਸੇ ਵੀ sysctl ਨੂੰ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ ਰੂਟਾਂ ਦੀ ਸਾਰਣੀ ਪੜ੍ਹੋ
ip -6 route show default ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਸਿਰਫ਼ ਗੇਟਵੇ ਨਹੀਂ, ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਪੜ੍ਹੋ। RA ਤੋਂ ਸਿੱਖਿਆ ਡਿਫ਼ਾਲਟ ਰੂਟ proto ra ਨਾਲ ਨਿਸ਼ਾਨਿਤ ਹੁੰਦਾ ਹੈ, ਤਰਜੀਹ ਰੱਖਦਾ ਹੈ ਅਤੇ expires ਦੀ ਉਲਟੀ ਗਿਣਤੀ ਦਿਖਾਉਂਦਾ ਹੈ। ਹੱਥ ਨਾਲ ਜੋੜੇ ਰੂਟ ਵਿੱਚ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਵੀ ਨਹੀਂ ਹੁੰਦਾ, ਅਤੇ ਇਹੀ ਫ਼ਰਕ ਦੱਸਦਾ ਹੈ ਕਿ ਰੂਟ ਦਾ ਮਾਲਕ ਕਿਹੜਾ ਤੰਤਰ ਹੈ।
$ ip -6 route show default
default via fe80::1 dev eth0 proto ra metric 1024 expires 1432sec hoplimit 64 pref mediumਫਿਰ ਪਤਾ ਵੇਖੋ: ip -6 addr show dev eth0। ਘੰਟਿਆਂ ਵਿੱਚ ਮਾਪੀ ਤਰਜੀਹੀ ਅਤੇ ਵੈਧ ਉਮਰ ਵਾਲਾ ਵਿਸ਼ਵ ਪੱਧਰੀ ਪਤਾ ਉਸ ਡਿਫ਼ਾਲਟ ਰੂਟ ਨਾਲੋਂ ਵੱਧ ਜੀਵੇਗਾ ਜਿਸਦੀ ਰਾਊਟਰ ਉਮਰ ਮਿੰਟਾਂ ਵਿੱਚ ਮਾਪੀ ਜਾਂਦੀ ਹੈ। ਪਤਾ ਮੌਜੂਦ ਹੋਵੇ ਪਰ ਡਿਫ਼ਾਲਟ ਰੂਟ ਨਾ ਹੋਵੇ, ਇਹ ਇਸ਼ਤਿਹਾਰ ਸਮੱਸਿਆ ਦਾ ਨਿਸ਼ਾਨ ਹੈ। ਜੇ ਪਤਾ ਵੀ ਨਾ ਹੋਵੇ ਤਾਂ ਪਹਿਲਾਂ ਲਿੰਕ, ਪ੍ਰੀਫ਼ਿਕਸ ਜਾਣਕਾਰੀ ਜਾਂ ਦੁਹਰੇ ਪਤਿਆਂ ਦੀ ਪਛਾਣ ਵੱਲ ਲੱਗਣਾ ਚਾਹੀਦਾ ਹੈ।
ਫਾਰਵਰਡਿੰਗ RA ਪ੍ਰੋਸੈਸਿੰਗ ਕਿਉਂ ਬੰਦ ਕਰਦੀ ਹੈ
RA 134 ਕਿਸਮ ਦਾ ICMPv6 ਪੈਕਟ ਹੈ, ਜੋ link-local ਸਰੋਤ ਤੋਂ 255 ਹੌਪ ਸੀਮਾ ਨਾਲ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। ਕਰਨਲ ਇਸਨੂੰ ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ ਇੰਟਰਫ਼ੇਸ ਦਾ accept_ra ਵੇਖਦਾ ਹੈ। ਡਿਫ਼ਾਲਟ ਮੁੱਲ 1 ਹੈ, ਅਤੇ 1 ਦਾ ਮਤਲਬ ਹਾਂ ਨਹੀਂ। ਇਸਦਾ ਮਤਲਬ ਹੈ: ਸਿਰਫ਼ ਤਦ ਤੱਕ ਸਵੀਕਾਰ ਕਰੋ ਜਦੋਂ ਤੱਕ ਇਹ ਹੋਸਟ ਫਾਰਵਰਡ ਨਹੀਂ ਕਰ ਰਿਹਾ। forwarding=1 ਸੈੱਟ ਕਰੋ ਅਤੇ ਉਹ ਸ਼ਰਤ ਪੂਰੀ ਨਹੀਂ ਹੁੰਦੀ, ਇਸ ਲਈ ਇਸ਼ਤਿਹਾਰ ਉਸ ਅੰਦਰਲੇ ਕਿਸੇ ਪ੍ਰੀਫ਼ਿਕਸ ਜਾਂ ਡਿਫ਼ਾਲਟ ਰਾਊਟਰ ਉੱਤੇ ਵਿਚਾਰ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਸੁੱਟ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ।
ਤਿੰਨ ਮੁੱਲ ਹਨ, ਅਤੇ ਫਾਰਵਰਡਿੰਗ ਤੋਂ ਸਿਰਫ਼ ਤੀਜਾ ਬਚਦਾ ਹੈ:
accept_ra | forwarding=0 | forwarding=1 |
|---|---|---|
| 0 | ignored | ignored |
| 1 (default) | accepted | ignored |
| 2 | accepted | accepted |
ਦੋ ਹੋਰ ਝੰਡੇ ਤੈਅ ਕਰਦੇ ਹਨ ਕਿ ਅਸਲ ਵਿੱਚ ਕੀ ਇੰਸਟਾਲ ਹੁੰਦਾ ਹੈ। accept_ra_defrtr ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ ਕਿ ਇਸ਼ਤਿਹਾਰ ਦਾ ਡਿਫ਼ਾਲਟ ਰਾਊਟਰ ਰੂਟ ਬਣਦਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਅਤੇ accept_ra_pinfo ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ ਕਿ ਪ੍ਰੀਫ਼ਿਕਸ ਜਾਣਕਾਰੀ ਪਤਾ ਸੰਰਚਨਾ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਜਾਂ ਨਹੀਂ। accept_ra_defrtr ਬੰਦ ਕਰਨਾ ਫਾਰਵਰਡਿੰਗ ਹੋਸਟ ਉੱਤੇ ਬਿਨਾਂ ਡਿਫ਼ਾਲਟ ਰੂਟ ਸਿੱਖੇ SLAAC ਪਤੇ ਰੱਖਣ ਦਾ ਆਮ ਤਰੀਕਾ ਹੈ। ਇਹ accept_ra ਨਾਲੋਂ ਵੱਖਰਾ ਲੀਵਰ ਹੈ, ਅਤੇ ਪਤੇ ਚਾਹੀਦੇ ਪਰ ਰੂਟ ਨਾ ਚਾਹੀਦਾ ਹੋਵੇ ਤਾਂ ਇਹੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਕਰਨਲ ਦਾ IP sysctl ਹਵਾਲਾ ਤਿੰਨੇਂ ਦੀ ਸੂਚੀ ਦਿੰਦਾ ਹੈ।
ਤਿੰਨ ਕਮਾਂਡਾਂ ਨਾਲ ਪੁਸ਼ਟੀ ਕਰੋ
ਪਹਿਲਾਂ ਉਹ ਮੁੱਲ ਪੜ੍ਹੋ ਜੋ ਚੱਲ ਰਹੇ ਹਨ, ਨਾ ਕਿ ਉਹ ਫ਼ਾਈਲ ਜਿਸਨੂੰ ਤੁਸੀਂ ਲੋਡ ਮੰਨ ਰਹੇ ਹੋ:
sysctl net.ipv6.conf.eth0.forwarding net.ipv6.conf.all.forwarding \
net.ipv6.conf.eth0.accept_ra net.ipv6.conf.eth0.accept_ra_defrtrਦੂਜਾ, ਸਾਬਤ ਕਰੋ ਕਿ ਇਸ਼ਤਿਹਾਰ ਅਜੇ ਵੀ ਆ ਰਹੇ ਹਨ। ICMPv6 ਕਿਸਮ ਦੇ ਬਾਈਟ ਉੱਤੇ ਫਿਲਟਰ ਕਰਨਾ ਕਾਫ਼ੀ ਹੈ, ਅਤੇ ਇਹ ਗੁਆਂਢੀ ਖੋਜ ਦੀ ਟ੍ਰੈਫ਼ਿਕ ਦੀ ਕੰਧ ਪੜ੍ਹਨ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ:
tcpdump -ni eth0 'icmp6 and ip6[40] == 134'ਜੇ ਕਈ ਮਿੰਟਾਂ ਤੱਕ ਕੁਝ ਨਾ ਦਿਸੇ ਤਾਂ accept_ra ਤੁਹਾਡੀ ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ। ਉੱਪਰਲੇ ਪਾਸੇ ਇਸ਼ਤਿਹਾਰ ਦੇਣਾ ਬੰਦ ਕਰ ਦਿੱਤਾ, ਰਸਤੇ ਵਿੱਚ ਕੁਝ ICMPv6 ਫਿਲਟਰ ਕਰ ਰਿਹਾ ਹੈ, ਜਾਂ ਉਹ ਇੰਟਰਫ਼ੇਸ ਸੱਚਮੁੱਚ ਉਸ ਸੈਗਮੈਂਟ ਵਿੱਚ ਨਹੀਂ ਹੈ ਜੋ ਤੁਸੀਂ ਸੋਚ ਰਹੇ ਹੋ। ਤੀਜਾ, ਆਪ ਇੱਕ ਇਸ਼ਤਿਹਾਰ ਮੰਗੋ ਅਤੇ ਉਸਦੇ ਖੇਤਰ ਪੜ੍ਹੋ:
rdisc6 eth0rdisc6 Debian ਅਤੇ Ubuntu ਉੱਤੇ ndisc6 ਪੈਕੇਜ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਆਉਟਪੁੱਟ ਵਿੱਚ ਕੁਝ ਹੋਰ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਰਾਊਟਰ ਉਮਰ ਅਤੇ ਤਰਜੀਹ ਵੇਖੋ। ਰਾਊਟਰ ਉਮਰ 0 ਵਾਲਾ ਇਸ਼ਤਿਹਾਰ ਡਿਫ਼ਾਲਟ ਰਾਊਟਰ ਹਟਾਉਣ ਦਾ ਹੁਕਮ ਹੈ, ਅਤੇ accept_ra ਦਾ ਕੋਈ ਮੁੱਲ ਉਸਨੂੰ ਵਰਤੋਂਯੋਗ ਰੂਟ ਨਹੀਂ ਬਣਾਉਂਦਾ। ਇਸੇ ਤਰ੍ਹਾਂ ਬ੍ਰਿਜ ਮੋਡ ਵਾਲਾ ਉੱਪਰਲਾ CPE ਵੀ ਫੜਿਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਪ੍ਰੀਫ਼ਿਕਸ ਵੰਡਦਾ ਹੈ ਪਰ ਆਪਣੇ ਆਪ ਨੂੰ ਕਦੇ ਰਾਊਟਰ ਵਜੋਂ ਪੇਸ਼ ਨਹੀਂ ਕਰਦਾ।
ਅਪਲਿੰਕ ਨੂੰ ਇੱਕੋ-ਇੱਕ ਇਜਾਜ਼ਤ ਦੇਣ ਵਾਲਾ ਇੰਟਰਫ਼ੇਸ ਬਣਾਓ
ਜੇ ਉੱਪਰਲਾ ਪਾਸਾ ਹੀ ਡਿਫ਼ਾਲਟ ਰਾਊਟਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਤਾਂ ਫਾਰਵਰਡਿੰਗ ਦੇ ਬਾਵਜੂਦ ਉੱਥੇ ਹੀ ਇਸ਼ਤਿਹਾਰ ਸਵੀਕਾਰ ਕਰੋ, ਅਤੇ ਹੋਰ ਕਿਤੇ ਨਹੀਂ:
# /etc/sysctl.d/60-ipv6-router.conf
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.eth0.accept_ra = 2
net.ipv6.conf.eth0.accept_ra_defrtr = 1ਸੀਮਾ ਤੈਅ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ ਕਿਉਂਕਿ Linux ਵਿੱਚ IPv6 ਫਾਰਵਰਡਿੰਗ ਇੱਕ ਵਿਸ਼ਵ ਪੱਧਰੀ ਸਵਿੱਚ ਹੈ, ਹਰ ਲਿੰਕ ਲਈ ਇੱਕ ਨਹੀਂ। net.ipv6.conf.wg0.forwarding ਵਿੱਚ 1 ਲਿਖੋ ਅਤੇ ਫਿਰ net.ipv6.conf.all.forwarding ਪੜ੍ਹੋ: ਵਿਸ਼ਵ ਪੱਧਰੀ ਮੁੱਲ ਪਲਟ ਜਾਂਦਾ ਹੈ ਅਤੇ ਹਰ ਇੰਟਰਫ਼ੇਸ ਫਾਰਵਰਡ ਕਰਨ ਲੱਗਦਾ ਹੈ। ਤੁਸੀਂ ਸੁਰੰਗ ਉੱਤੇ ਰਾਊਟਰ ਅਤੇ LAN ਉੱਤੇ ਆਮ ਹੋਸਟ ਇਕੱਠੇ ਨਹੀਂ ਹੋ ਸਕਦੇ। ਜਿਸਨੂੰ ਸੀਮਿਤ ਕਰ ਸਕਦੇ ਹੋ ਉਹ ਸਵੀਕ੍ਰਿਤੀ ਹੈ। accept_ra=2 ਅਪਲਿੰਕ ਉੱਤੇ ਰੱਖੋ ਅਤੇ ਸੁਰੰਗ ਤੇ LAN ਇੰਟਰਫ਼ੇਸ 1 ਜਾਂ 0 ਉੱਤੇ ਛੱਡ ਦਿਓ, ਤਾਂ ਜੋ ਸੁਰੰਗ ਰਾਹੀਂ ਆਇਆ ਭਟਕਿਆ ਇਸ਼ਤਿਹਾਰ ਉਸ ਵੱਲ ਦਿਸਦਾ ਡਿਫ਼ਾਲਟ ਰੂਟ ਨਾ ਲਗਾ ਸਕੇ।
ਅਸਥਾਈ sysctl -w ਅਗਲੇ ਬੂਟ ਤੱਕ ਨਹੀਂ ਟਿਕੇਗਾ, ਅਤੇ systemd-networkd ਤੇ NetworkManager ਦੋਵੇਂ ਇਹ ਮੁੱਲ ਆਪਣੀ ਸੰਰਚਨਾ ਤੋਂ ਲਿਖਦੇ ਹਨ। networkd ਵਿੱਚ ਅਪਲਿੰਕ ਦੀ .network ਫ਼ਾਈਲ ਵਿੱਚ IPv6Forwarding=yes ਅਤੇ IPv6AcceptRA=yes ਸੈੱਟ ਕਰੋ; networkd ਕਰਨਲ ਦੇ ਉਸੇ ਕਾਰਨ IPv6Forwarding ਨੂੰ ਵਿਸ਼ਵ ਪੱਧਰੀ ਦੱਸਦਾ ਹੈ। NetworkManager ਵਿੱਚ ਅਪਲਿੰਕ ਉੱਤੇ ipv6.method=auto ਹੀ accept_ra ਦਾ ਮੁੱਲ ਚਲਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ ਪਹਿਲੀ ਜਾਂਚ ਉੱਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਥਾਂ nmcli connection up ਤੋਂ ਬਾਅਦ sysctl ਦੁਬਾਰਾ ਪੜ੍ਹੋ।
ਸਥਿਰ ਬਦਲ ip -6 route add default via fe80::1 dev eth0 ਸੱਚਮੁੱਚ ਕੰਮ ਕਰਦਾ ਹੈ, ਅਤੇ ਜਦੋਂ ਉੱਪਰਲੇ ਰਾਊਟਰ ਕੋਲ ਸਥਿਰ link-local ਪਤਾ ਹੋਵੇ ਤਾਂ ਇਹ ਵਾਜਬ ਜਵਾਬ ਹੈ। ਸਾਫ਼ ਜਾਣੋ ਕਿ ਤੁਸੀਂ ਕੀ ਛੱਡ ਰਹੇ ਹੋ। ਸਥਿਰ ਡਿਫ਼ਾਲਟ ਰੂਟ ਕਦੇ ਨਵਿਆਇਆ ਨਹੀਂ ਜਾਂਦਾ ਅਤੇ ਕਦੇ ਵਾਪਸ ਨਹੀਂ ਲਿਆ ਜਾਂਦਾ, ਇਸ ਲਈ ਉੱਪਰਲਾ ਪਾਸਾ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਵੀ ਉਹ ਮਰੇ ਗੁਆਂਢੀ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਰਹਿੰਦਾ ਹੈ। RA ਦਾ ਰੂਟ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਨਾਕਾਮ ਹੁੰਦਾ ਹੈ; ਸਥਿਰ ਚੁੱਪਚਾਪ ਨਾਕਾਮ ਹੁੰਦਾ ਹੈ।
ਫਾਰਵਰਡ ਕੀਤਾ ਪੈਕਟ ਜਾਂਚੋ, ਗੇਟਵੇ ਦਾ ਆਪਣਾ ਨਹੀਂ
ਗੇਟਵੇ ਦੇ ਆਪਣੇ ਪਿੰਗ ਉਸ ਰੂਟ ਉੱਤੇ ਸਫਲ ਹੋ ਸਕਦੇ ਹਨ ਜਿਸਨੂੰ ਕੋਈ ਕਲਾਇੰਟ ਵਰਤ ਨਹੀਂ ਸਕਦਾ, ਅਤੇ ਇਸ ਲਈ ਵੀ ਸਫਲ ਹੋ ਸਕਦੇ ਹਨ ਕਿ ਗੇਟਵੇ ਹੀ ਸਰੋਤ ਹੈ। ਜੁੜੇ ਕਲਾਇੰਟ ਤੋਂ ਜਾਂਚੋ, ਫਿਰ ਗੇਟਵੇ ਨੂੰ ਪੁੱਛੋ ਕਿ ਉਹ ਉਸ ਕਲਾਇੰਟ ਦੇ ਪਤੇ ਲਈ ਕੀ ਕਰੇਗਾ:
# on the VPN client
ping -6 -c 3 2001:4860:4860::8888
# on the gateway, using a client address
ip -6 route get 2001:4860:4860::8888 from fd42:20::2ਫਿਰ ਇੱਕ ਰਾਊਟਰ ਉਮਰ ਉਡੀਕੋ ਅਤੇ ਦੁਬਾਰਾ ਵੇਖੋ। ਜੋ ਸਥਿਰ ਹਾਲਤ ਚਾਹੀਦੀ ਹੈ ਉਹ proto ra ਨਾਲ ਨਿਸ਼ਾਨਿਤ ਡਿਫ਼ਾਲਟ ਰੂਟ ਹੈ ਜਿਸਦਾ expires ਮੁੱਲ ਵਾਰ-ਵਾਰ ਰੀਸੈਟ ਹੁੰਦਾ ਹੈ, ਨਾਲ ਹੀ all.forwarding=1। ਜੇ expires ਸਿਰਫ਼ ਉਲਟੀ ਗਿਣਤੀ ਕਰ ਰਿਹਾ ਹੈ ਤਾਂ ਇਸ਼ਤਿਹਾਰ ਅਜੇ ਵੀ ਕਿਤੇ ਸੁੱਟੇ ਜਾ ਰਹੇ ਹਨ, ਅਤੇ ਆਮ ਦੋਸ਼ੀ ਉਹ ਨੈੱਟਵਰਕ ਮੈਨੇਜਰ ਹੈ ਜੋ ਬੂਟ ਵੇਲੇ ਦਾ sysctl ਚੱਲਣ ਤੋਂ ਬਾਅਦ accept_ra ਦੁਬਾਰਾ ਲਿਖਦਾ ਹੈ।
ਇਸਨੂੰ ਬੰਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਚਾਰ ਗੱਲਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ: ਡਿਫ਼ਾਲਟ ਰੂਟ proto ra ਹੈ ਅਤੇ ਨਵਿਆਇਆ ਜਾ ਰਿਹਾ ਹੈ, accept_ra=2 ਸਿਰਫ਼ ਅਪਲਿੰਕ ਲਈ ਲਾਗੂ ਹੈ, ਰੀਬੂਟ ਤੋਂ ਬਾਅਦ ਅਤੇ ਮੈਨੇਜਰ ਰੀਸਟਾਰਟ ਤੋਂ ਬਾਅਦ ਵੀ ਫਾਰਵਰਡਿੰਗ 1 ਹੈ, ਅਤੇ IPv6 ਪਿੰਗ ਕਲਾਇੰਟ ਪੂਰਾ ਕਰਦਾ ਹੈ, ਗੇਟਵੇ ਨਹੀਂ। ਸਿਹਤਮੰਦ ਰੂਟ ਹੁੰਦਿਆਂ ਵੀ ਕਲਾਇੰਟ ਨਾਕਾਮ ਹੋਵੇ ਤਾਂ ਅਗਲਾ ਸ਼ੱਕੀ ਵਾਪਸੀ ਦਾ ਰਸਤਾ ਜਾਂ ਉੱਪਰਲਾ ਫਾਇਰਵਾਲ ਹੈ, ਇਸ਼ਤਿਹਾਰ ਨਹੀਂ।