ਪੂਰੀ ਸੁਰੰਗ OpenVPN: ਸਰਵਰ ਪਾਸੇ ਇੰਟਰਨੈਟ ਨਿਕਾਸ ਜੋੜੋ
ਡਿਫਾਲਟ ਰੂਟ ਪੁਸ਼ ਕਰਨਾ ਪੂਰੀ ਸੁਰੰਗ ਸੇਵਾ ਦਾ ਸਿਰਫ਼ ਅੱਧਾ ਹਿੱਸਾ ਹੈ। ਸਰਵਰ ਨੂੰ ਅੱਗੇ ਭੇਜਣਾ, ਸੀਮਿਤ ਅੱਗੇ-ਭੇਜਣ ਨਿਯਮ ਅਤੇ ਪੂਲ ਲਈ ਵਾਪਸੀ ਦਾ ਰਾਹ ਵੀ ਚਾਹੀਦਾ ਹੈ।
ਇੱਕ ਕਲਾਇੰਟ ਪ੍ਰਮਾਣਿਕਤਾ ਕਰਦਾ ਹੈ, ਪੂਲ ਤੋਂ ਪਤਾ ਲੈਂਦਾ ਹੈ ਅਤੇ VPN ਹੋਸਟ ਉੱਤੇ ਸੇਵਾਵਾਂ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ, ਫਿਰ ਵੀ ਹਰ ਜਨਤਕ ਮੰਜ਼ਿਲ ਸਮਾਂ ਖਤਮ ਹੋਣ ਨਾਲ ਰੁਕ ਜਾਂਦੀ ਹੈ। ਨਿਕਾਸ ਤੋਂ ਬਿਨਾਂ ਸੁਰੰਗ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਦੀ ਹੈ, ਅਤੇ ਚਾਰ ਵੱਖਰੀਆਂ ਗੱਲਾਂ ਸੱਚ ਹੋਣ ਤੱਕ ਇਹ ਇਸੇ ਤਰ੍ਹਾਂ ਰਹਿੰਦੀ ਹੈ। ਕਲਾਇੰਟ ਨੂੰ ਡਿਫਾਲਟ ਰੂਟ ਸਵੀਕਾਰ ਕਰਨਾ ਪਵੇਗਾ, ਸਰਵਰ ਨੂੰ ਅੱਗੇ ਭੇਜਣਾ ਪਵੇਗਾ, ਫਾਇਰਵਾਲ ਨੂੰ ਲੰਘਣ ਦੀ ਆਗਿਆ ਦੇਣੀ ਪਵੇਗੀ, ਅਤੇ ਜਵਾਬਾਂ ਨੂੰ ਪੂਲ ਵੱਲ ਵਾਪਸੀ ਦਾ ਰਾਹ ਚਾਹੀਦਾ ਹੈ। ਚਾਰੇ ਫੇਲ੍ਹਤਾਂ ਦਾ ਇੱਕੋ ਲੱਛਣ ਹੈ, ਇਸ ਲਈ ਹਰ ਕੋਸ਼ਿਸ਼ ਵਿੱਚ ਇੱਕ ਚੀਜ਼ ਬਦਲੋ ਅਤੇ ਨਤੀਜਾ ਲਿਖੋ।
ਡਿਫਾਲਟ ਰੂਟ ਪੁਸ਼ ਕਰੋ ਅਤੇ ਜਾਂਚੋ ਕਿ ਕਲਾਇੰਟ ਨੇ ਕੀ ਸਥਾਪਤ ਕੀਤਾ
ਸਰਵਰ ਪਾਸੇ ਦੀ ਲਾਈਨ ਛੋਟੀ ਹੈ, ਅਤੇ ਇਹ ਸਿਰਫ਼ ਉਨ੍ਹਾਂ ਕਲਾਇੰਟਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀ ਹੈ ਜੋ ਪੁਸ਼ ਕੀਤੇ ਵਿਕਲਪ ਸਵੀਕਾਰ ਕਰਦੇ ਹਨ. def1 ਰੂਪ ਮੌਜੂਦਾ ਡਿਫਾਲਟ ਹਟਾਉਣ ਦੀ ਥਾਂ ਦੋ ਅੱਧ-ਡਿਫਾਲਟ ਰੂਟ ਸਥਾਪਤ ਕਰਦਾ ਹੈ, ਜੋ ਮੌਜੂਦਾ ਕਨੈਕਸ਼ਨ ਨੂੰ ਜੀਵਤ ਰੱਖਦਾ ਹੈ ਅਤੇ ਨਾਲ ਹੀ ਹਰ ਮੰਜ਼ਿਲ ਫੜਦਾ ਹੈ।
push "redirect-gateway def1"
ਦੁਬਾਰਾ ਜੁੜਨ ਤੋਂ ਬਾਅਦ ਪ੍ਰੋਫਾਈਲ ਉੱਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਥਾਂ ਕਲਾਇੰਟ ਦੀ ਰੂਟਿੰਗ ਸਾਰਣੀ ਪੜ੍ਹੋ। Linux ਉੱਤੇ ਦੋ /1 ਐਂਟਰੀਆਂ ਅਸਲ ਡਿਫਾਲਟ ਦੇ ਕੋਲ ਦਿਖਦੀਆਂ ਹਨ, ਅਤੇ Windows ਉਹੀ ਜੋੜੀ 0.0.0.0/1 ਅਤੇ 128.0.0.0/1 ਵਜੋਂ ਦਿਖਾਉਂਦਾ ਹੈ। ਪੁਸ਼ ਕੀਤੇ ਵਿਕਲਪਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨ ਵਾਲਾ ਕਲਾਇੰਟ, ਜਾਂ ਉਨ੍ਹਾਂ ਨੂੰ ਰੱਦ ਕਰਨ ਲਈ ਸੰਰਚਿਤ ਕਲਾਇੰਟ, ਆਪਣਾ ਪੁਰਾਣਾ ਡਿਫਾਲਟ ਰੱਖਦਾ ਹੈ ਅਤੇ ਕਦੇ ਵੀ ਇੰਟਰਨੈਟ ਟ੍ਰੈਫਿਕ ਸੁਰੰਗ ਵਿੱਚ ਨਹੀਂ ਭੇਜਦਾ। ਸਰਵਰ ਉੱਤੇ ਕੁਝ ਵੀ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਸਵਾਲ ਨਿਪਟਾਓ, ਕਿਉਂਕਿ ਸਰਵਰ ਪਾਸੇ ਦਾ ਕੋਈ ਨਿਯਮ ਇਸਦੀ ਭਰਪਾਈ ਨਹੀਂ ਕਰ ਸਕਦਾ।
ਅੱਗੇ ਭੇਜਣਾ ਸਰਵਰ ਦੀ ਸੈਟਿੰਗ ਹੈ, VPN ਦੀ ਨਹੀਂ
ਰੂਟਿੰਗ ਨੂੰ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ ਅੱਗੇ ਭੇਜਣ ਵਾਲਾ ਝੰਡਾ ਪੜ੍ਹੋ। ਉੱਥੇ ਸਿਫ਼ਰ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕਰਨਲ ਕਲਾਇੰਟ ਦਾ ਪੈਕਟ ਲੈਂਦਾ ਹੈ ਅਤੇ ਅੱਗੇ ਭੇਜਣ ਤੋਂ ਇਨਕਾਰ ਕਰਦਾ ਹੈ, ਜੋ ਦੂਰ ਦੇ ਸਿਰੇ ਤੋਂ ਫਾਇਰਵਾਲ ਰੋਕ ਵਰਗਾ ਹੀ ਦਿਖਦਾ ਹੈ। ਮੁੱਲ ਸਿਸਟਮ ਦੀ ਸੰਰਚਨਾ ਡਾਇਰੈਕਟਰੀ ਰਾਹੀਂ ਸੈੱਟ ਕਰੋ ਤਾਂ ਜੋ ਇਹ ਰੀਬੂਟ ਤੋਂ ਬਾਅਦ ਵੀ ਰਹੇ।
sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system
ਅੱਗੇ, ਜਾਂਚੋ ਕਿ ਹੋਸਟ ਕੋਲ ਖੁਦ ਇੰਟਰਨੈਟ ਨਿਕਾਸ ਤੱਕ ਕੰਮ ਕਰਨ ਵਾਲਾ ਰੂਟ ਹੈ। ਸਰਵਰ ਦੇ ਸ਼ੈੱਲ ਤੋਂ ਕੀਤੀ ਬੇਨਤੀ ਸਾਬਤ ਕਰਦੀ ਹੈ ਕਿ ਉੱਪਰਲਾ ਰਾਹ ਵਰਤਣਯੋਗ ਹੈ ਅਤੇ ਕਲਾਇੰਟ ਦਾ ਪੈਕਟ ਅੱਗੇ ਭੇਜਣ ਬਾਰੇ ਕੁਝ ਵੀ ਨਹੀਂ ਕਹਿੰਦੀ, ਇਸ ਲਈ ਇਨ੍ਹਾਂ ਨੂੰ ਦੋ ਵੱਖਰੇ ਟੈਸਟ ਮੰਨੋ। ਜੇ ਸਰਵਰ ਮੰਜ਼ਿਲ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦਾ, ਤਾਂ ਅੱਗੇ-ਭੇਜਣ ਦੀ ਸੰਰਚਨਾ ਦੀ ਕੋਈ ਮਾਤਰਾ ਵੀ ਮਦਦ ਨਹੀਂ ਕਰੇਗੀ।
ਸਿਰਫ਼ ਉਸੇ ਲੰਘਣ ਦੀ ਆਗਿਆ ਦਿਓ ਜਿਸਦਾ ਤੁਸੀਂ ਇਰਾਦਾ ਰੱਖਦੇ ਹੋ, ਹੋਰ ਕਿਸੇ ਦੀ ਨਹੀਂ
ਅੱਗੇ ਭੇਜੇ ਪੈਕਟ forward ਰਾਹ ਲੰਘਦੇ ਹਨ; VPN ਹੋਸਟ ਨੂੰ ਹੀ ਸੰਬੋਧਿਤ ਟ੍ਰੈਫਿਕ input ਰਾਹ ਲੰਘਦਾ ਹੈ। ਇਹ ਵੱਖਰੇ ਫੈਸਲੇ ਹਨ, ਅਤੇ input ਰਾਹ ਖੋਲ੍ਹਣ ਨਾਲ ਮਸ਼ੀਨ ਰਾਹੀਂ ਲੰਘਣ ਦੀ ਆਗਿਆ ਨਹੀਂ ਮਿਲਦੀ। ਇਨ੍ਹਾਂ ਨੂੰ ਰਲਾਉਣਾ ਹੀ ਸਭ ਤੋਂ ਆਮ ਕਾਰਨ ਹੈ ਕਿ ਫਾਇਰਵਾਲ ਸਭ ਕੁਝ ਆਗਿਆ ਦਿੰਦਾ ਦਿਖਦਾ ਹੈ ਜਦਕਿ ਕਲਾਇੰਟ ਅਜੇ ਵੀ ਸਮਾਂ ਖਤਮ ਹੋਣ ਨਾਲ ਰੁਕਦੇ ਹਨ।
ਘੱਟੋ-ਘੱਟ ਨੀਤੀ ਪੂਲ ਤੋਂ ਨਿਕਾਸ ਇੰਟਰਫੇਸ ਵੱਲ ਨਵੇਂ ਕਨੈਕਸ਼ਨ ਸਵੀਕਾਰ ਕਰਦੀ ਹੈ ਅਤੇ ਸਥਾਪਿਤ ਪ੍ਰਵਾਹਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਜਵਾਬ ਸਵੀਕਾਰ ਕਰਦੀ ਹੈ। ਹਰ ਬੂਟ ਉੱਤੇ ਨਕਲੀ ਨਿਯਮ ਜੋੜਨ ਦੀ ਥਾਂ ਆਪਣੇ ਵੰਡ ਵੱਲੋਂ ਵਰਤੀ ਜਾਂਦੀ ਨਿਯਮ-ਸਮੂਹ ਦੀ ਮਾਲਕੀ ਵਿੱਚ ਰੱਖੋ; ਨਕਲੀ ਨਿਯਮ ਇਕੱਠੇ ਹੁੰਦੇ ਹਨ ਅਤੇ ਗਿਣਤੀਆਂ ਦਾ ਅਰਥ ਮੁੱਕ ਜਾਂਦਾ ਹੈ।
sudo iptables -A FORWARD -i tun0 -o eth0 -s 10.90.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
ਹਰ ਚੇਨ ਨੂੰ ਸਵੀਕਾਰ ਉੱਤੇ ਬਦਲਣ ਨਾਲ ਟੈਸਟ ਪਾਸ ਹੁੰਦਾ ਹੈ ਅਤੇ ਫਾਇਰਵਾਲ ਹੋਣ ਦਾ ਕਾਰਨ ਹਟ ਜਾਂਦਾ ਹੈ। ਦਾਇਰਾ ਪੂਲ ਅਤੇ ਨਿਕਾਸ ਇੰਟਰਫੇਸ ਤੱਕ ਰੱਖੋ, ਅਤੇ ਅਸੰਬੰਧਿਤ ਅੱਗੇ-ਭੇਜਣ ਨੂੰ ਛੇੜੋ ਨਾ।
ਜਵਾਬਾਂ ਨੂੰ ਜਾਣ ਦੀ ਥਾਂ ਦਿਓ
ਪੂਲ ਦੇ ਪਤੇ ਨਿੱਜੀ ਹਨ, ਇਸ ਲਈ ਜਨਤਕ ਸਰਵਰ ਉਨ੍ਹਾਂ ਨੂੰ ਸਿੱਧਾ ਜਵਾਬ ਨਹੀਂ ਪਹੁੰਚਾ ਸਕਦਾ। ਜਾਂ ਤਾਂ VPN ਹੋਸਟ ਬਾਹਰ ਜਾਂਦਿਆਂ ਸਰੋਤ ਪਤੇ ਦਾ ਅਨੁਵਾਦ ਕਰਦਾ ਹੈ, ਜਾਂ ਉੱਪਰਲਾ ਜੰਤਰ ਪੂਲ ਵੱਲ ਵਾਪਸੀ ਦਾ ਰਾਹ ਰੱਖਦਾ ਹੈ।
sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE
ਬਿਲਕੁਲ ਇੱਕ ਅਨੁਵਾਦ ਪਰਤ ਸ਼ਾਮਲ ਕਰੋ। ਹੋਰ ਉੱਪਰ ਦੂਜਾ NAT ਪਹਿਲੇ ਨੂੰ ਲੁਕਾਉਂਦਾ ਹੈ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਕੁਝ ਵਿਗੜਨ ਉੱਤੇ ਦੋਵੇਂ ਲਾਗ ਬੇਕਾਰ ਕਰ ਦਿੰਦਾ ਹੈ। ਜੇ ਉੱਪਰਲਾ ਰਾਊਟਰ ਪਹਿਲਾਂ ਹੀ ਪੂਲ ਨੂੰ ਵਾਪਸ ਰੂਟ ਕਰਦਾ ਹੈ, ਤਾਂ ਹੋਸਟ ਉੱਤੇ ਅਨੁਵਾਦ ਜੋੜਨਾ ਫਾਲਤੂ ਹੈ, ਅਤੇ ਵਾਪਸੀ ਦਾ ਰਾਹ ਫਿਰ ਤੁਹਾਡੀ ਨਹੀਂ, ਉਸ ਰਾਊਟਰ ਦੀ ਸੰਰਚਨਾ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।
ਕਲਾਉਡ ਇੰਸਟੈਂਸ ਇੱਕ ਹੋਰ ਦਰਵਾਜ਼ਾ ਜੋੜਦੇ ਹਨ, ਕਿਉਂਕਿ ਕੁਝ ਪਲੇਟਫਾਰਮ ਉਹ ਪੈਕਟ ਸੁੱਟ ਦਿੰਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਦਾ ਸਰੋਤ ਪਤਾ ਇੰਸਟੈਂਸ ਦਾ ਆਪਣਾ ਨਹੀਂ ਹੁੰਦਾ, ਜਦ ਤੱਕ ਉਹ ਜਾਂਚ ਢਿੱਲੀ ਨਾ ਕੀਤੀ ਜਾਵੇ। ਉਹ ਸੈਟਿੰਗ ਮਹਿਮਾਨ ਤੋਂ ਬਾਹਰ ਹੈ ਅਤੇ ਸਥਾਨਕ ਟੈਸਟ ਮਸ਼ੀਨ ਦੇ ਕੰਮ ਕਰਦਿਆਂ ਭੁੱਲਣੀ ਸੌਖੀ ਹੈ।
ਇਹ ਸਰਵਰ ਦੇ ਸ਼ੈੱਲ ਤੋਂ ਨਹੀਂ, ਕਲਾਇੰਟ ਤੋਂ ਸਾਬਤ ਕਰੋ
ਸੰਖਿਆਤਮਕ IPv4 ਬੇਨਤੀ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਨਾਮ ਖੋਜ, ਫਿਰ ਐਪਲੀਕੇਸ਼ਨ। ping ਅੱਗੇ ਭੇਜਣ ਅਤੇ ਅਨੁਵਾਦ ਸਾਬਤ ਕਰਦਾ ਹੈ;ਇਹ ਨਾਮ ਹੱਲ ਬਾਰੇ ਕੁਝ ਵੀ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ, ਕਿਉਂਕਿ DNS ਵਿਕਲਪ ਤਦ ਹੀ ਲਾਗੂ ਹੁੰਦੇ ਹਨ ਜਦੋਂ ਕਲਾਇੰਟ ਏਕੀਕਰਨ ਉਨ੍ਹਾਂ ਨੂੰ ਸਥਾਪਤ ਕਰਦਾ ਹੈ।
curl -4 -m 5 http://198.51.100.10/
dig +short example.com
ਤਬਦੀਲੀਆਂ ਅਤੇ ਵਾਪਸ ਕਰਨ ਦਾ ਕਦਮ ਚੱਲਦਿਆਂ ਹੀ ਲਿਖੋ, ਤਾਂ ਜੋ ਟੈਸਟ ਫੇਲ੍ਹ ਹੋਣ ਉੱਤੇ ਨਿਕਾਸ ਨੀਤੀ ਇੱਕ ਕਾਰਵਾਈ ਵਿੱਚ ਵਾਪਸ ਲਈ ਜਾ ਸਕੇ। ਇਹ ਵਿਧੀ ਸਿਰਫ਼ IPv4 ਨੂੰ ਕਵਰ ਕਰਦੀ ਹੈ; ਤੈਨਾਤੀ ਸਾਰਾ ਟ੍ਰੈਫਿਕ ਲੈ ਜਾਂਦੀ ਹੈ ਦਾ ਦਾਅਵਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ IPv6 ਦੀ ਵੱਖਰੀ ਸੂਚੀ ਬਣਾਓ।