ਲੈਪਟਾਪ ਕੋਲ IPv6 ਪਤਾ ਹੈ, ਟਨਲ IPv4 ਉੱਤੇ ਚੱਲ ਰਹੀ ਹੈ, ਫਿਰ ਵੀ ਹਰ IPv6 ਜਾਂਚ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ। ਜਾਂ ਇਸ ਤੋਂ ਵੀ ਮਾੜਾ: ਜਾਂਚ ਸਫਲ ਹੁੰਦੀ ਹੈ ਅਤੇ ਟ੍ਰੈਫਿਕ ਕਦੇ ਟਨਲ ਵਿੱਚ ਦਾਖਲ ਹੋਏ ਬਿਨਾਂ ISP ਦੇ ਰਾਹੀਂ ਬਾਹਰ ਚਲਾ ਜਾਂਦਾ ਹੈ। ਦੋਵੇਂ ਨਤੀਜੇ ਇੱਕੋ ਗੁੰਮ ਫੈਸਲੇ ਵੱਲ ਮੁੜਦੇ ਹਨ: ਕਿਸੇ ਨੇ ਰਾਊਟਰ ਨੂੰ ਅਜਿਹਾ ਪ੍ਰੀਫਿਕਸ ਨਹੀਂ ਦਿੱਤਾ ਜੋ ਉਹ ਕਲਾਇੰਟਾਂ ਵੱਲ ਰੂਟ ਕਰ ਸਕੇ। ਕਲਾਇੰਟ ਤੋਂ ਬਾਹਰ ਵੱਲ ਮਾਰਗ ਚੱਲਣ ਨਾਲ ਪਤਾ ਲੱਗਦਾ ਹੈ ਕਿ ਕਿਹੜਾ ਟੁਕੜਾ ਗੁੰਮ ਹੈ।

ਉੱਥੋਂ ਸ਼ੁਰੂ ਕਰੋ ਜਿੱਥੇ ਕਲਾਇੰਟ ਹੈ

ਸਰਵਰ ਨੂੰ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ ਕਲਾਇੰਟ ਵੇਖੋ। ip -6 addr ਨੇ ਪੂਲ ਤੋਂ ਟਨਲ ਪਤਾ ਦਿਖਾਉਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ip -6 route ਨੇ ਟਨਲ ਡਿਵਾਈਸ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਧੱਕਿਆ ਪ੍ਰੀਫਿਕਸ ਦਿਖਾਉਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇ ਪਤਾ ਹੈ ਪਰ ਰੂਟ ਨਹੀਂ, ਤਾਂ ਧੱਕਾ ਗੁੰਮ ਹੈ ਜਾਂ ਕਲਾਇੰਟ ਨੇ ਇਸ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ। ਜੇ ਦੋਵੇਂ ਨਹੀਂ, ਤਾਂ ਸਰਵਰ ਨੇ ਕੁਝ ਵੀ ਨਹੀਂ ਦਿੱਤਾ।

ਫਿਰ ਵੇਖੋ ਕਿ ਕਲਾਇੰਟ ਬਾਹਰੀ ਦੁਨੀਆ ਬਾਰੇ ਕੀ ਮੰਨਦਾ ਹੈ। ਟਨਲ ਉੱਤੇ ਡਿਫਾਲਟ ਰੂਟ ਸਾਰੇ IPv6 ਟ੍ਰੈਫਿਕ ਦਾ ਦਾਅਵਾ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਕਿ 2000::/3 ਲਈ ਰੂਟ ਸਿਰਫ਼ ਗਲੋਬਲ ਯੂਨੀਕਾਸਟ ਦਾ ਦਾਅਵਾ ਕਰਦਾ ਹੈ। ਦੋਵੇਂ ਸਹੀ ਹੋ ਸਕਦੇ ਹਨ, ਅਤੇ ਉਹ ਲੀਕ ਬਾਰੇ ਵੱਖਰੇ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਦਿੰਦੇ ਹਨ।

ਬਿਨਾਂ ਕਿਸੇ IPv6 ਡਿਫਾਲਟ ਵਾਲਾ ਕਲਾਇੰਟ ਹਰ ਜਨਤਕ ਜਾਂਚ ਵਿੱਚ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਟਨਲ ਆਪ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਿਹਤਮੰਦ ਹੈ। ਇਹ ਨੀਤੀ ਦੀ ਖੱਪ ਹੈ, ਟੁੱਟੀ ਟਨਲ ਨਹੀਂ।

ਉਹ ਪੂਲ ਜਾਂਚੋ ਜਿਸ ਨੂੰ ਸਰਵਰ ਸੱਚਮੁੱਚ ਰੂਟ ਕਰ ਸਕਦਾ ਹੈ

ਸਰਵਰ ਸਿਰਫ਼ ਉਸੇ ਪ੍ਰੀਫਿਕਸ ਤੋਂ ਦੇ ਸਕਦਾ ਹੈ ਜਿਸ ਨੂੰ ਉਹ ਸੱਚਮੁੱਚ ਕੰਟਰੋਲ ਕਰਦਾ ਹੈ। ਜੇ ISP /56 ਪ੍ਰਤੀਨਿਧ ਕਰਦਾ ਹੈ, ਤਾਂ ਟਨਲ ਲਈ ਇੱਕ /64 ਰਾਖਵਾਂ ਰੱਖੋ ਅਤੇ ਬਾਕੀ LAN ਲਈ ਛੱਡੋ। ਜਿੱਥੇ ISP WAN ਉੱਤੇ ਸਿਰਫ਼ ਇੱਕ /64 ਦਿੰਦਾ ਹੈ ਅਤੇ ਹੋਰ ਕੁਝ ਰੂਟ ਨਹੀਂ ਕਰਦਾ, ਉੱਥੇ LAN ਪ੍ਰੀਫਿਕਸ ਨੂੰ ਛੇੜੋ ਨਾ ਅਤੇ ਟਨਲ ਨੂੰ ਵਿਲੱਖਣ ਸਥਾਨਕ ਰੇਂਜ ਦਿਓ, ਇਹ ਮੰਨ ਕੇ ਕਿ ਕਲਾਇੰਟਾਂ ਕੋਲ ਕੋਈ ਗਲੋਬਲ ਨਿਕਾਸ ਨਹੀਂ ਹੋਵੇਗਾ।

ਪੂਲ ਅਤੇ ਧੱਕਾ ਇਕੱਠੇ ਚੱਲਦੇ ਹਨ। server-ipv6 2001:db8:80:10::/64 ਪਤੇ ਦਿੰਦਾ ਹੈ, ਅਤੇ push "route-ipv6 2000::/3" ਕਲਾਇੰਟਾਂ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਟਨਲ ਵਿੱਚ ਕੀ ਭੇਜਣਾ ਹੈ। 2000::/3 ਧੱਕਣ ਨਾਲ ਗਲੋਬਲ ਯੂਨੀਕਾਸਟ ਢਕਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ link-local ਤੇ multicast ਰੇਂਜ ਟਨਲ ਤੋਂ ਬਾਹਰ ਰਹਿੰਦੇ ਹਨ।

ਚੁਣਿਆ ਪ੍ਰੀਫਿਕਸ ਤੈਨਾਤੀ ਰਿਕਾਰਡ ਵਿੱਚ ਲਿਖੋ। ਅਗਲੀ ਵਾਰ ISP ਹੈਂਡਓਫ ਬਦਲਣ ਵਾਲੇ ਨੂੰ ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਟਨਲ ਪਹਿਲਾਂ ਹੀ ਕਿਹੜਾ /64 ਲੈ ਚੁੱਕੀ ਹੈ।

ਦੂਜੇ ਪਰਿਵਾਰ ਲਈ ਫਾਰਵਰਡਿੰਗ ਚਾਲੂ ਕਰੋ

IPv4 ਫਾਰਵਰਡਿੰਗ ਦਾ ਮਤਲਬ IPv6 ਫਾਰਵਰਡਿੰਗ ਨਹੀਂ। net.ipv6.conf.all.forwarding=1 ਸੈੱਟ ਕਰੋ ਅਤੇ IPv4 FORWARD ਨੀਤੀ ਪਹਿਲਾਂ ਹੀ ਜੋ ਮਨਜ਼ੂਰ ਕਰਦੀ ਹੈ ਉਹ ਸਭ ਦਰਸਾਓ। ਜਿਸ ਰਾਊਟਰ ਦੀ FORWARD ਚੇਨ ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ ਸੁੱਟ ਦਿੰਦੀ ਹੈ, ਉੱਥੇ ਨਿਯਮਾਂ ਦਾ ਸਮੂਹ ਗੁੰਮ ਹੋਣਾ ਬਿਲਕੁਲ ਮਰੀ ਟਨਲ ਵਰਗਾ ਦਿਸਦਾ ਹੈ।

ਹੈਂਡਸ਼ੇਕ ਸਫਲ ਹੁੰਦਾ ਹੈ, ਕਲਾਇੰਟ ਨੂੰ ਪਤਾ ਮਿਲਦਾ ਹੈ, ਅਤੇ ਵਾਪਸ ਕੁਝ ਨਹੀਂ ਆਉਂਦਾ। ਦੋਵੇਂ ਦਿਸ਼ਾਵਾਂ ਅਤੇ WAN ਹਿੱਸੇ ਲਈ ਨਿਯਮ ਜੋੜੋ, ਕਿਉਂਕਿ LAN ਤੱਕ ਪਹੁੰਚ ਕੇ ਇੰਟਰਨੈੱਟ ਤੱਕ ਨ ਪਹੁੰਚਣ ਵਾਲੀ ਟਨਲ ਤੀਜੀ ਜਾਂਚ ਵਿੱਚ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ। ਫੇਲ੍ਹ ਕੋਸ਼ਿਸ਼ ਤੋਂ ਬਾਅਦ ਚੇਨ ਦੇ ਕਾਊਂਟਰ ਵੇਖੋ, ਕਿਉਂਕਿ ਜੋ ਨਿਯਮ ਕਦੇ ਨਹੀਂ ਮਿਲਿਆ ਉਹ ਮਿਲ ਕੇ ਸੁੱਟਣ ਵਾਲੇ ਨਿਯਮ ਨਾਲੋਂ ਵੱਖਰੀ ਸਮੱਸਿਆ ਹੈ।

ip6tables -A FORWARD -i br0 -o tun0 -j ACCEPT
ip6tables -A FORWARD -i tun0 -o br0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
ip6tables -A FORWARD -i tun0 -o wan0 -j ACCEPT

ਇੱਕ ਸਾਈਡ ਇਫੈਕਟ ਉਨ੍ਹਾਂ ਨੂੰ ਫੜਦਾ ਹੈ ਜੋ ਅੰਤ ਵਿੱਚ ਟਨਲ ਨੂੰ ਦੋਸ਼ ਦਿੰਦੇ ਹਨ। ਫਾਰਵਰਡਿੰਗ ਚਾਲੂ ਕਰਨ ਨਾਲ ਕਰਨਲ Router Advertisement ਰਾਹੀਂ ਪਤਾ ਸੰਰਚਨਾ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਜਦੋਂ ਤੱਕ ਹੋਰ ਨਾ ਕਿਹਾ ਜਾਵੇ, ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ ਸਿੱਖਿਆ ਡਿਫਾਲਟ ਰੂਟ ਉਸ ਨਾਲ ਗਾਇਬ ਹੋ ਜਾਂਦਾ ਹੈ। ਜਾਂ ਤਾਂ WAN ਇੰਟਰਫੇਸ ਉੱਤੇ ਸਪਸ਼ਟ ਡਿਫਾਲਟ ਰੂਟ ਪਿੰਨ ਕਰੋ, ਜਾਂ ਉੱਥੇ ਜਾਣ-ਬੁੱਝ ਕੇ accept_ra ਨੂੰ 2 ਉੱਤੇ ਰੱਖੋ। ਕਿਸੇ ਵੀ ਬਦਲਾਅ ਤੋਂ ਬਾਅਦ, ਕਲਾਇੰਟ ਦੁਬਾਰਾ ਜਾਂਚਣ ਤੋਂ ਪਹਿਲਾਂ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਰਾਊਟਰ ਕੋਲ ਅਜੇ ਵੀ ਬਾਹਰ ਜਾਣ ਦਾ ਵਰਤੋਂਯੋਗ IPv6 ਮਾਰਗ ਹੈ।

ਜਦੋਂ ਉੱਪਰਲਾ ਪਾਸਾ ਰੂਟ ਨਹੀਂ ਕਰਦਾ ਤਾਂ ਗੁਆਂਢੀ ਖੋਜ ਦਾ ਜਵਾਬ ਦਿਓ

ਉੱਪਰਲੇ ਪਾਸੇ ਦਾ ਸਾਜ਼ੋ-ਸਾਮਾਨ ਕਈ ਵਾਰ ਪ੍ਰਤੀਨਿਧਤ ਪ੍ਰੀਫਿਕਸ /64 ਨੂੰ ਆਪਣੇ ਹੀ ਲਿੰਕ ਦਾ ਸਮਝਦਾ ਹੈ ਅਤੇ VPN ਬਕਸੇ ਵੱਲ ਕੋਈ ਉਪ-ਪ੍ਰੀਫਿਕਸ ਰੂਟ ਕਰਨ ਤੋਂ ਇਨਕਾਰ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਅਜਿਹਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਕਿਸੇ ਨੇ ਹਰ ਕਲਾਇੰਟ ਪਤੇ ਲਈ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਗੁਆਂਢੀ ਬੇਨਤੀਆਂ ਦਾ ਜਵਾਬ ਦੇਣਾ ਪੈਂਦਾ ਹੈ।

OpenVPN ਦਿੱਤਾ ਪਤਾ client-connect ਹੁੱਕ ਨੂੰ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਐਂਟਰੀਆਂ ਹੱਥ ਨਾਲ ਰੱਖੀ ਸੂਚੀ ਦੀ ਥਾਂ ਸੱਚੇ ਪੂਲ ਦੀ ਪਾਲਣਾ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਹੁੱਕ ip -6 neigh add proxy $ifconfig_pool_remote_ip6 dev eth0 ਜੋੜਦਾ ਹੈ, ਅਤੇ ਮੇਲ ਖਾਂਦਾ client-disconnect ਹੁੱਕ ਇਸ ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਹਟਾਏ ਬਿਨਾਂ ਪ੍ਰਾਕਸੀ ਸਾਰਣੀ ਪੁਰਾਣੀ ਹੋ ਜਾਂਦੀ ਹੈ ਅਤੇ ਬਾਅਦ ਵਾਲਾ ਕਲਾਇੰਟ ਉਸ ਪਤੇ ਦੀ ਐਂਟਰੀ ਵਿਰਾਸਤ ਵਿੱਚ ਪਾ ਸਕਦਾ ਹੈ ਜੋ ਉਸ ਨੂੰ ਕਦੇ ਨਹੀਂ ਮਿਲਿਆ। ip -6 neigh show proxy ਨਾਲ ਸਥਿਤੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।

ਪ੍ਰਾਕਸੀ ਨੂੰ ਕੰਮ-ਚਲਾਊ ਹੱਲ ਮੰਨੋ। ਟਨਲ ਦੇ /64 ਲਈ ਰਾਊਟਰ ਵੱਲ ਦਿਸ਼ਾ ਰੱਖਣ ਵਾਲਾ ਸਥਿਰ ਰੂਟ ਕਲਾਇੰਟ ਬਦਲਾਅ ਸਹਿ ਲੈਂਦਾ ਹੈ ਅਤੇ ਕਿਸੇ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਾਲੇ ਸ਼ੈੱਲ ਹੁੱਕ ਦੀ ਲੋੜ ਹੀ ਨਹੀਂ ਪੈਂਦੀ।

ਬਾਹਰ ਵੱਲ ਦਾ ਮਾਰਗ ਪਿੱਛਾ ਕਰੋ, ਇੱਕ-ਇੱਕ ਹੌਪ

ਤਿੰਨ ਕਦਮਾਂ ਵਿੱਚ ਬਾਹਰ ਵੱਲ ਜਾਂਚੋ: ਪਹਿਲਾਂ ਰਾਊਟਰ ਦਾ ਟਨਲ ਪਤਾ, ਫਿਰ LAN ਹੋਸਟ, ਅਤੇ ਤੀਜੇ traceroute6 ਰਾਹੀਂ ਜਨਤਕ ਮੰਜ਼ਿਲ। ਪੂਲ ਪਹਿਲੇ ਨਾਲ ਸਿੱਧ ਹੁੰਦਾ ਹੈ, ਫਾਰਵਰਡਿੰਗ ਅਤੇ LAN ਫਾਇਰਵਾਲ ਦੂਜੇ ਨਾਲ, ਅਤੇ ਉੱਪਰਲੇ ਪਾਸੇ ਰਾਹੀਂ ਵਾਪਸੀ ਮਾਰਗ ਤੀਜੇ ਨਾਲ। ਹਰ ਫੇਲ੍ਹ ਪੂਰੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਦੁਬਾਰਾ ਖੋਲ੍ਹਣ ਦੀ ਥਾਂ ਖੋਜ ਨੂੰ ਇੱਕ ਡਿਵਾਈਸ ਤੱਕ ਸੀਮਤ ਕਰ ਦਿੰਦੀ ਹੈ।

ਟਨਲ ਦੇ MTU ਵੱਲ ਧਿਆਨ ਦਿਓ, ਕਿਉਂਕਿ ਮਾਰਗ ਦੇ IPv6 ਰਾਊਟਰ ਤੁਹਾਡੀ ਥਾਂ ਟੁਕੜੇ ਨਹੀਂ ਕਰਨਗੇ। ਬਹੁਤ ਵੱਡਾ MTU ਸਾਫ਼ ਫੇਲ੍ਹ ਦੀ ਥਾਂ packet-too-big ਗਲਤੀ ਅਤੇ ਰੁਕਿਆ TLS ਬਣ ਕੇ ਦਿਸਦਾ ਹੈ। ਇਸ ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਸੈੱਟ ਕਰੋ ਅਤੇ ਸੀਮਾ ਦੇ ਨੇੜੇ ਪੇਲੋਡ ਨਾਲ ਜਾਂਚੋ।

ਸੰਬੰਧਿਤ ਲੇਖ