ਹਰਾ ਆਈਕਨ, ਉਹੀ ਜਨਤਕ IP: VPN ਨੇ ਕਿਹੜਾ ਰੂਟ ਛੱਡਿਆ
ਟ੍ਰੇ ਆਈਕਨ ਇੱਕ ਟਨਲ ਦੱਸਦਾ ਹੈ, ਡਿਫ਼ਾਲਟ ਰੂਟ ਨਹੀਂ। ਚਾਰ ਜਾਂਚਾਂ ਦਿਖਾਉਂਦੀਆਂ ਹਨ ਕਿ ਕਲਾਇੰਟ ਨੇ ਰੂਟ ਸਥਾਪਤ ਕੀਤਾ ਜਾਂ ਨਿਕਾਸ ਨੇ ਤੁਹਾਡੇ ਸਰੋਤ ਦਾ ਕਦੇ ਅਨੁਵਾਦ ਨਹੀਂ ਕੀਤਾ।
ਕਨੈਕਟਿਡ, ਟ੍ਰੇ ਆਈਕਨ ਹਰਾ ਹੈ, ਅਤੇ ਪਤਾ ਦਿਖਾਉਣ ਵਾਲਾ ਪੰਨਾ ਅਜੇ ਵੀ ਪ੍ਰਦਾਤਾ ਦਾ ਪਤਾ ਦਿਖਾ ਰਿਹਾ ਹੈ, ਪਰ ਇਸ ਦਾ ਮਤਲਬ ਆਪਣੇ ਆਪ ਖਰਾਬੀ ਨਹੀਂ। ਕਲਾਇੰਟ ਦੋ ਵੱਖਰੇ ਕੰਮ ਕਰਦਾ ਹੈ: ਇਹ ਟਨਲ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਇਹ ਰੂਟਿੰਗ ਸਾਰਣੀ ਸੋਧਦਾ ਹੈ। ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਦੂਜੇ ਤੋਂ ਬਿਨਾਂ ਹੋ ਸਕਦਾ ਹੈ, ਅਤੇ ਚੋਣਵੀਂ ਰੂਟਿੰਗ ਉਹ ਸੰਰਚਨਾ ਹੈ ਜਿੱਥੇ ਦੂਜਾ ਜਾਣ-ਬੁੱਝ ਕੇ ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ।
ਕਲਾਇੰਟ ਨੇ ਅਸਲ ਵਿੱਚ ਕੀ ਸਥਾਪਤ ਕੀਤਾ
ਟਨਲ ਚਾਲੂ ਹੈ ਜਾਂ ਨਹੀਂ ਪੁੱਛਣ ਦੀ ਥਾਂ ਪੁੱਛੋ ਕਿ ਕਿਹੜਾ ਇੰਟਰਫ਼ੇਸ ਪੈਕਟ ਨੂੰ ਅਸਲ ਮੰਜ਼ਿਲ ਤੱਕ ਲੈ ਜਾਵੇਗਾ। ਉਸ ਮੰਜ਼ਿਲ ਲਈ ਰੂਟ ਤੋਂ ਬਿਨਾਂ ਟਨਲ ਉਹ ਨਿੱਜੀ ਰਾਹ ਹੈ ਜਿਸ ਉੱਤੇ ਕੋਈ ਨਹੀਂ ਚੱਲਦਾ।
ip route get 9.9.9.9
Find-NetRoute -RemoteIPAddress 9.9.9.9
route print -4ਪਹਿਲਾ ਕਮਾਂਡ Linux ਅਤੇ macOS ਉੱਤੇ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਬਾਕੀ ਦੋ Windows ਦੇ ਬਰਾਬਰ ਹਨ ਜਿੱਥੇ ਇੱਕ ਕਾਫ਼ੀ ਹੈ। ਜੇ ਜਵਾਬ ਭੌਤਿਕ ਐਡਾਪਟਰ ਦਾ ਨਾਮ ਲੈਂਦਾ ਹੈ, ਤਾਂ ਟਨਲ ਚਾਲੂ ਹੈ ਅਤੇ ਡਿਫ਼ਾਲਟ ਰੂਟ ਕਦੇ ਨਹੀਂ ਹਿਲਿਆ। ਉਸ ਮੰਜ਼ਿਲ ਲਈ ਜਾਂਚ ਦੁਹਰਾਓ ਜਿਸ ਨੂੰ ਟਨਲ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ, ਕਿਉਂਕਿ ਦੋ ਜਾਂਚਾਂ, ਇੱਕ ਦੂਰ ਦੀ ਅਤੇ ਇੱਕ ਆਮ, ਦੱਸਦੀਆਂ ਹਨ ਕਿ ਕਿਹੜਾ ਡਿਜ਼ਾਈਨ ਲਾਗੂ ਹੈ।
ਚੋਣਵੀਂ ਰੂਟਿੰਗ ਦੇ ਤਿੰਨ ਰੂਪ
ਪੂਰਾ ਟਨਲ ਪ੍ਰੋਫ਼ਾਈਲ ਆਮ ਤੌਰ ਉੱਤੇ ਇੰਟਰਫ਼ੇਸ ਵੱਲ ਡਿਫ਼ਾਲਟ ਰੂਟ ਲਿਖਦਾ ਹੈ, ਜਾਂ ਅੱਧ-ਸੀਮਾ ਦੇ ਉਹਨਾਂ ਅਗੇਤਰਾਂ ਦੀ ਜੋੜੀ ਲਿਖਦਾ ਹੈ ਜੋ ਅਗੇਤਰ ਲੰਬਾਈ ਉੱਤੇ ਜਿੱਤਦੇ ਹਨ ਜਦੋਂ ਕਿ ਮੂਲ ਡਿਫ਼ਾਲਟ ਸਾਰਣੀ ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ। ਚੋਣਵੀਂ ਰੂਟਿੰਗ ਦੂਜੀ ਚੋਣ ਹੈ, ਅਤੇ ਇਹ ਕਈ ਰੂਪਾਂ ਵਿੱਚ ਆਉਂਦੀ ਹੈ। ਇੱਕ ਪ੍ਰੋਫ਼ਾਈਲ RDP ਸਰਵਰ ਵਰਗੇ ਇੱਕ ਹੋਸਟ ਨੂੰ ਰੂਟ ਕਰਦਾ ਹੈ, ਦੂਜਾ ਉਸ ਜਨਤਕ ਰੇਂਜ ਨੂੰ ਜਿੱਥੇ ਕਿਸੇ ਖ਼ਾਸ ਥਾਂ ਤੋਂ ਪਹੁੰਚਣਾ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਤੀਜਾ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਜਾਣ-ਬੁੱਝ ਕੇ ਬਾਹਰ ਰੱਖਦਾ ਹੈ। ਤਿੰਨੇ ਜਾਇਜ਼ ਹਨ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਆਮ ਵੈੱਬਸਾਈਟ ਨੂੰ ਦਿਸਣ ਵਾਲਾ ਪਤਾ ਨਹੀਂ ਬਦਲਦਾ।
grep -nE "redirect-gateway|route-nopull|route " /etc/openvpn/client/*.conf
ip route show table main | head -20ਫ਼ੈਸਲਾ ਕਰਨ ਵਾਲੀ ਹਦਾਇਤ ਲਈ ਪ੍ਰੋਫ਼ਾਈਲ ਪੜ੍ਹੋ, ਫਿਰ ਇਸ ਨੇ ਕੀ ਪੈਦਾ ਕੀਤਾ ਇਸ ਲਈ ਸਾਰਣੀ ਪੜ੍ਹੋ। ਧੱਕੀ ਹਦਾਇਤ ਕਲਾਇੰਟ ਉੱਤੇ ਦਬਾਈ ਵੀ ਜਾ ਸਕਦੀ ਹੈ, ਇਸ ਲਈ ਸਰਵਰ ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਪ੍ਰੋਫ਼ਾਈਲ ਅਤੇ ਸਾਰਣੀ ਮਿਲਣੀ ਚਾਹੀਦੀ ਹੈ।
ਪਰਲੇ ਪਾਸੇ ਨੂੰ ਸਰੋਤ ਪਤਾ ਮੁੜ ਲਿਖਣਾ ਪਵੇਗਾ
ਇੱਕ ਦੂਜੀ ਖਰਾਬੀ ਹੈ ਜੋ ਬ੍ਰਾਊਜ਼ਰ ਤੋਂ ਇੱਕੋ ਜਿਹੀ ਦਿਸਦੀ ਹੈ। ਰੂਟ ਟਨਲ ਵਿੱਚ ਜਾਂਦਾ ਹੈ, ਸਰਵਰ ਪੈਕਟ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਅਤੇ ਫਿਰ ਉਹਨਾਂ ਨੂੰ ਕਲਾਇੰਟ ਦੇ ਨਿੱਜੀ ਪਤੇ ਸਮੇਤ ਅਟੁੱਟ ਭੇਜਦਾ ਹੈ। ਅਗਲੇ ਹੌਪ ਕੋਲ ਉਸ ਪਤੇ ਲਈ ਵਾਪਸੀ ਦਾ ਰਾਹ ਨਹੀਂ, ਇਸ ਲਈ ਜਵਾਬ ਗਾਇਬ ਹੋ ਜਾਂਦੇ ਹਨ ਅਤੇ ਪੰਨੇ ਲਟਕਦੇ ਹਨ। ਸਰਵਰ ਨੂੰ ਕਿਸੇ ਵੀ ਤਰ੍ਹਾਂ ਭੇਜਣਾ ਪਵੇਗਾ, ਅਤੇ ਸਰੋਤ ਦਾ ਅਨੁਵਾਦ ਅਜਿਹੀ ਚੀਜ਼ ਵਿੱਚ ਕਰਨਾ ਪਵੇਗਾ ਜਿਸ ਨੂੰ ਇੰਟਰਨੈੱਟ ਵਾਪਸ ਰੂਟ ਕਰ ਸਕੇ।
sysctl net.ipv4.ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -S | grep MASQUERADEਉਸ ਇੰਟਰਫ਼ੇਸ ਦਾ ਨਾਮ ਲਵੋ ਜੋ ਅਸਲ ਵਿੱਚ ਇੰਟਰਨੈੱਟ ਵੱਲ ਹੈ, ਜੋ ਆਧੁਨਿਕ ਵੰਡ ਵਿੱਚ ਹਮੇਸ਼ਾ eth0 ਨਹੀਂ ਹੁੰਦਾ। ਸਥਿਰ ਪਤੇ ਵਾਲਾ ਹੋਸਟਡ ਸਰਵਰ masquerade ਵਰਤਣ ਦੀ ਥਾਂ ਸਿੱਧਾ ਉਸ ਪਤੇ ਉੱਤੇ ਅਨੁਵਾਦ ਕਰ ਸਕਦਾ ਹੈ। ਦੋਵੇਂ ਅੱਧ ਮਹੱਤਵਪੂਰਨ ਹਨ, ਕਿਉਂਕਿ ਅਨੁਵਾਦ ਤੋਂ ਬਿਨਾਂ ਭੇਜਣਾ ਰੂਟ ਨਾ ਹੋਣ ਵਾਲੇ ਸਰੋਤ ਲੀਕ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਭੇਜਣ ਤੋਂ ਬਿਨਾਂ ਅਨੁਵਾਦ ਪੈਕਟ ਕਦੇ ਨਹੀਂ ਦੇਖਦਾ।
ਨਾਮ ਹੱਲ ਆਪਣਾ ਰਾਹ ਲੈਂਦਾ ਹੈ
ਟ੍ਰੈਫ਼ਿਕ ਟਨਲ ਰਾਹੀਂ ਬਾਹਰ ਜਾ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ ਨਾਮ ਲੱਭਣ ਵਾਲੀ ਜਾਂਚ ਸਥਾਨਕ ਨੈੱਟਵਰਕ ਦੇ ਹੱਲਕਰਤਾ ਕੋਲ ਗਈ ਹੋਵੇ। ਦਿਸਣ ਵਾਲਾ ਪਤਾ ਉਹੀ ਰਹਿੰਦਾ ਹੈ, ਜਾਂਚਾਂ ਨਹੀਂ, ਅਤੇ ਉਹੀ ਖੱਪਾ ਵੰਡਿਆ DNS ਡਿਜ਼ਾਈਨ ਚੁਣਦਾ ਹੈ।
resolvectl status | head -20
resolvectl query example.orgਧਿਆਨ ਦਿਓ ਕਿ ਕਿਹੜੇ ਸਰਵਰ ਨੇ ਜਵਾਬ ਦਿੱਤਾ ਅਤੇ ਕੀ ਇਹ ਟਨਲ ਤੋਂ ਪਹਿਲਾਂ ਦੀ ਆਧਾਰ ਰੇਖਾ ਤੋਂ ਵੱਖ ਹੈ। ਵੰਡੇ ਟਨਲ ਵਿੱਚ ਇਹ ਆਮ ਤੌਰ ਉੱਤੇ ਉਹ ਸੈਟਿੰਗ ਹੁੰਦੀ ਹੈ ਜੋ ਲੋਕ ਪਤੇ ਬਾਰੇ ਸ਼ਿਕਾਇਤ ਕਰਦਿਆਂ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਸਨ, ਅਤੇ ਇਹੀ ਉਹ ਹੈ ਜਿਸ ਵੱਲ ਉਹਨਾਂ ਨੇ ਕਦੇ ਨਹੀਂ ਵੇਖਿਆ।
ਮਾਮਲਾ ਨਿਪਟਾਉਣ ਵਾਲੇ ਚਾਰ ਨਿਰੀਖਣ
ਟਨਲ ਬੰਦ ਹੋਣ ਵੇਲੇ ਨਿਕਾਸ ਪਤਾ ਦਰਜ ਕਰੋ, ਫਿਰ ਚਾਲੂ ਹੋਣ ਵੇਲੇ। ਦੋਵੇਂ ਹਾਲਤਾਂ ਵਿੱਚ ਮੰਜ਼ਿਲ ਜਾਂਚ ਚਲਾਓ ਅਤੇ ਹਰ ਵਾਰ ਇੰਟਰਫ਼ੇਸ ਨੋਟ ਕਰੋ।
curl -sS https://ifconfig.me/ip
ip route get 9.9.9.9ਜਦੋਂ ਜਾਂਚ ਟਨਲ ਅੰਦਰ ਪੈਂਦੀ ਹੈ ਅਤੇ ਪ੍ਰਤੀਬਿੰਬ ਅਜੇ ਵੀ ਪ੍ਰਦਾਤਾ ਦਾ ਪਤਾ ਦਿਖਾਉਂਦਾ ਹੈ, ਨਿਕਾਸ ਉੱਤੇ ਅਨੁਵਾਦ ਨਹੀਂ ਹੈ। ਜਦੋਂ ਜਾਂਚ ਭੌਤਿਕ ਐਡਾਪਟਰ ਉੱਤੇ ਪੈਂਦੀ ਹੈ, ਪ੍ਰੋਫ਼ਾਈਲ ਚੋਣਵਾਂ ਹੈ ਅਤੇ ਜਨਤਕ ਪਤਾ ਕਦੇ ਦਾਇਰੇ ਵਿੱਚ ਨਹੀਂ ਸੀ। ਜਿਸ ਪ੍ਰਤੀਬਿੰਬ ਸੇਵਾ ਉੱਤੇ ਤੁਸੀਂ ਭਰੋਸਾ ਕਰਦੇ ਹੋ ਉਸ ਨਾਲ ਬਦਲੋ ਅਤੇ ਚਾਰੇ ਨਿਰੀਖਣ ਇਕੱਠੇ ਦਰਜ ਕਰੋ, ਕਿਉਂਕਿ ਵੱਖਰੇ ਤੌਰ ਉੱਤੇ ਉਹ ਕਿੱਸੇ ਹਨ। ਇਕੱਠੇ ਉਹ ਦਿਖਾਉਂਦੇ ਹਨ ਕਿ ਕਲਾਇੰਟ ਨੇ ਦੋ ਕੰਮਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਅਸਲ ਵਿੱਚ ਕੀਤਾ।