Linux ਹੋਸਟ ਆਪਣਾ ਹੀ SMTP ਟਨਲ ਰਾਹੀਂ ਭੇਜੇ, ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਚਾਰ ਚੀਜ਼ਾਂ ਮੇਲ ਖਾਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ: ਸਮਰਪਿਤ ਟੇਬਲ ਵਿੱਚ ਇੱਕ ਰੂਟ, ਟਰੈਫ਼ਿਕ ਚੁਣਨ ਵਾਲਾ ਨੀਤੀ-ਨਿਯਮ, ਪੀਅਰ ਵੱਲੋਂ ਸਵੀਕਾਰ ਕੀਤਾ ਜਾਣ ਵਾਲਾ ਸਰੋਤ ਪਤਾ, ਅਤੇ ਅਸਮਾਨਤਾ ਸਹਿਣ ਵਾਲਾ ਵਾਪਸੀ ਮਾਰਗ। ਹਰ ਇੱਕ ਵੱਖਰੀ ਸੰਰਚਨਾ ਹੈ ਜਿਸ ਦੀ ਆਪਣੀ ਅਸਫਲਤਾ ਵਿਧੀ ਹੈ। ਹੇਠਾਂ ਦਿੱਤਾ ਕ੍ਰਮ ਉਹ ਹੈ ਜੋ ਅਸਫਲਤਾ ਨੂੰ ਸੱਚਮੁੱਚ ਗਲਤ ਹਿੱਸੇ ਵੱਲ ਦਰਸਾਉਂਦਾ ਹੈ। ਇਹ ਪੋਰਟ-ਵਿਸ਼ੇਸ਼ ਰਾਊਟਿੰਗ ਕੰਮ ਹੈ, VPN ਡਿਫ਼ਾਲਟ ਰੂਟ ਦੀ ਬੇਨਤੀ ਨਹੀਂ।

ਪੋਰਟ ਨਿਯਮ ਡਿਫ਼ਾਲਟ ਰੂਟ ਨਹੀਂ

ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਬਣੇ TCP ਨੂੰ ਟਾਰਗਿਟ ਪੋਰਟ 25 ਨਾਲ ਮੇਲਦਾ ਨਿਯਮ ਉਹ ਟਰੈਫ਼ਿਕ ਤੁਹਾਡੇ ਦੱਸੇ ਟੇਬਲ ਵਿੱਚ ਭੇਜਦਾ ਹੈ। ਨਿਯਮ ਆਪਣੇ ਆਪ ਕੁਝ ਨਹੀਂ ਬਣਾਉਂਦਾ: ਇਹ ਚੁਣਦਾ ਹੈ, ਅਤੇ ਟੇਬਲ ਵਿੱਚ ਐਸਾ ਰੂਟ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਪੈਕਟ ਲੈ ਜਾ ਸਕੇ। ਦੋਵਾਂ ਦਾ ਮੇਲ ਸਿਰਫ਼ ਇੱਕ ਪਰੋਟੋਕੋਲ ਦੀ ਬਾਹਰ ਜਾਣ ਵਾਲੀ ਦਿਸ਼ਾ ਕਵਰ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਹੋਰ ਹੋਸਟਾਂ ਲਈ ਫਾਰਵਰਡਿੰਗ, ਆਉਣ ਵਾਲੇ ਮੇਲ ਕਨੈਕਸ਼ਨ ਅਤੇ IPv6 ਇਸ ਪ੍ਰਬੰਧ ਤੋਂ ਬਾਹਰ ਰਹਿੰਦੇ ਹਨ। ਇਸਨੂੰ VPN ਡਿਫ਼ਾਲਟ ਦੀ ਥਾਂ ਪੋਰਟ-ਵਿਸ਼ੇਸ਼ ਨੀਤੀ ਕਹਿਣਾ ਉਸ ਸੀਮਾ ਨੂੰ ਇਮਾਨਦਾਰ ਰੱਖਦਾ ਹੈ।

wg-quick ਦੀਆਂ ਦੋ ਸੈਟਿੰਗਾਂ ਪੂਰਵ-ਸ਼ਰਤਾਂ ਹਨ, ਨੀਤੀ ਦਾ ਹਿੱਸਾ ਨਹੀਂ। AllowedIPs = 0.0.0.0/0 ਪੀਅਰ ਨੂੰ ਮਨਮਾਨੇ IPv4 ਟਾਰਗਿਟ ਲਿਜਾਣ ਦਿੰਦਾ ਹੈ, ਅਤੇ Table = off ਉਸ ਪ੍ਰੀਫ਼ਿਕਸ ਲਈ wg-quick ਨੂੰ ਆਪਣਾ ਡਿਫ਼ਾਲਟ ਰੂਟ ਸਥਾਪਤ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ। ਇਹਨਾਂ ਹਦਾਇਤਾਂ ਨੂੰ ਆਪਣੀ ਰੂਟ ਨੀਤੀ ਲਾਗੂ ਕਰਨ ਵਾਲੇ ਮੈਨੇਜਰ ਨਾਲ ਨਾ ਮਿਲਾਓ, ਕਿਉਂਕਿ ਦੋਵੇਂ ਮੁੱਖ ਟੇਬਲ ਕਿਸ ਦਾ ਹੈ ਇਸ ਗੱਲ 'ਤੇ ਸਹਿਮਤ ਨਹੀਂ ਹੋਣਗੇ।

ਰੂਟ, ਚੋਣਕਾਰ ਅਤੇ ਰਾਖਾ ਲਿਖੋ

ਐਸਾ ਟੇਬਲ ਨੰਬਰ ਅਤੇ ਪ੍ਰਾਇਓਰਿਟੀ ਦੀ ਜੋੜੀ ਚੁਣੋ ਜੋ ਹੋਰ ਕੋਈ ਨਹੀਂ ਵਰਤਦਾ, ਫਿਰ ਉਸੇ ਕ੍ਰਮ ਵਿੱਚ ਰੂਟ, ਚੋਣਕਾਰ ਅਤੇ ਰਾਖਾ ਲਾਗੂ ਕਰੋ। ਹੇਠਾਂ ਦਿੱਤੇ ਨੰਬਰ ਉਦਾਹਰਨ ਹਨ, ਰਾਖਵੇਂ ਮੁੱਲ ਨਹੀਂ:

ip -4 route add default dev wg0 src 10.77.0.2 table 51825
ip -4 rule add priority 10000 iif lo ipproto tcp dport 25 lookup 51825
ip -4 rule add priority 10001 iif lo ipproto tcp dport 25 unreachable

iif lo ਨਿਯਮ ਨੂੰ ਸਥਾਨਕ ਉਤਪਤੀ ਟਰੈਫ਼ਿਕ ਤੱਕ ਸੀਮਤ ਕਰਦਾ ਹੈ, ਅਤੇ ipproto tcp dport 25 ਕਨੈਕਸ਼ਨ ਦੀ ਦਿਸ਼ਾ ਪਛਾਣਦਾ ਹੈ; ip-rule ਸੰਦਰਭ ਦੋਵੇਂ ਚੋਣਕਾਰਾਂ ਦਾ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਕਰਦਾ ਹੈ। ਇਹ ਮੌਜੂਦਾ ਕਰਨਲ ਅਤੇ iproute2 ਸੰਸਕਰਣਾਂ ਵਿੱਚ ਮੌਜੂਦ ਹਨ, ਅਤੇ ਪੁਰਾਣੇ ਸਿਸਟਮ 'ਤੇ ਨਿਯਮ ਸਿੱਧਾ ਅਸਵੀਕਾਰ ਹੋ ਜਾਂਦਾ ਹੈ, ਜੋ ਲੋਡ ਹੋ ਕੇ ਕਿਸੇ ਨਾਲ ਨਾ ਮਿਲਣ ਵਾਲੇ ਨਿਯਮ ਨਾਲੋਂ ਵਧੇਰੇ ਸਪੱਸ਼ਟ ਅਸਫਲਤਾ ਹੈ।

ਅਗਲੀ ਪ੍ਰਾਇਓਰਿਟੀ ਦਾ unreachable ਨਿਯਮ ਰਾਖਾ ਹੈ। ਇਸ ਤੋਂ ਬਿਨਾਂ, ਟੇਬਲ 51825 ਵਿੱਚ ਗੈਰਹਾਜ਼ਰ ਰੂਟ ਆਮ ਡਿਫ਼ਾਲਟ ਵਿੱਚ ਡਿੱਗਦਾ ਹੈ, ਅਤੇ ਟਨਲ ਬੰਦ ਹੋਣ ਵੇਲੇ ਮੇਲ ਭੌਤਿਕ ਲਿੰਕ ਰਾਹੀਂ ਬਾਹਰ ਨਿਕਲ ਜਾਂਦੀ ਹੈ, ਜੋ ਨੀਤੀ ਰੋਕਣ ਲਈ ਬਣਾਈ ਗਈ ਸੀ।

ਸਰੋਤ ਪਤੇ ਦਾ ਮੇਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ

ਰੂਟ ਦੀ src ਤਰਜੀਹ ਸਿਰਫ਼ ਉਹਨਾਂ ਕਨੈਕਸ਼ਨਾਂ ਲਈ ਸਰੋਤ ਭਰਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਨੇ ਆਪਣਾ ਸਰੋਤ ਨਹੀਂ ਬੰਨ੍ਹਿਆ। ਇਹ ਅਨੁਵਾਦ ਨਹੀਂ ਹੈ, ਅਤੇ ਸਪੱਸ਼ਟ ਬਾਈਂਡਿੰਗ ਨੂੰ ਰੱਦ ਨਹੀਂ ਕਰਦੀ, ਇਸ ਲਈ ਭੌਤਿਕ ਪਤੇ ਨਾਲ ਬੱਧਾ ਡੈਮਨ ਉਸੇ ਪਤੇ ਤੋਂ ਭੇਜਦਾ ਰਹਿੰਦਾ ਹੈ। ਜੇ ਤੁਹਾਨੂੰ ਠੀਕ ਇਹੀ ਮਿਲੇ, ਤਾਂ ਡੈਮਨ ਦੀ ਆਪਣੀ ਸੈਟਿੰਗ ਬਦਲੋ ਜਾਂ ਜਾਣਬੁੱਝ ਕੇ ਅਨੁਵਾਦ ਨੀਤੀ ਡਿਜ਼ਾਈਨ ਕਰੋ, ਕਿਉਂਕਿ ਦੇਰ ਨਾਲ ਕੀਤਾ ਵਿਆਪਕ masquerade ਵੱਖਰੇ ਨਤੀਜਿਆਂ ਵਾਲਾ ਵੱਖਰਾ ਹੱਲ ਹੈ।

ਗੇਟਵੇ 'ਤੇ, ਕਲਾਇੰਟ ਦੇ ਪੀਅਰ ਨੂੰ ਉਹ ਸਰੋਤ ਅਧਿਕਾਰਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਉਸਨੂੰ ਅਸਲ ਵਿੱਚ ਮਿਲਦਾ ਹੈ, ਯਾਨੀ ਚੌੜੇ ਟਾਰਗਿਟ ਪ੍ਰੀਫ਼ਿਕਸ ਦੀ ਥਾਂ 10.77.0.2/32। ਕਲਾਇੰਟ ਦੇ 0.0.0.0/0 ਨੂੰ ਹਰ ਗੇਟਵੇ ਪੀਅਰ ਵਿੱਚ ਕਾਪੀ ਕਰਨ ਨਾਲ ਇਹ ਉਲਝ ਜਾਂਦਾ ਹੈ ਕਿ ਕਿਹੜਾ ਪੀਅਰ ਕਿਹੜੇ ਟਰੈਫ਼ਿਕ ਦਾ ਮਾਲਕ ਹੈ। ਗੇਟਵੇ ਨੂੰ ਫਾਰਵਰਡਿੰਗ, ਪ੍ਰਵਾਹ ਦੀ ਆਗਿਆ ਦੇਣ ਵਾਲੀ ਫਾਇਰਵਾਲ ਨੀਤੀ, ਅਤੇ ਵਾਪਸੀ ਮਾਰਗ ਵੀ ਚਾਹੀਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਅੱਪਸਟਰੀਮ ਦੇ ਨਿੱਜੀ ਟਨਲ ਪਤੇ ਨੂੰ ਰੂਟ ਨਾ ਕਰ ਸਕਣ 'ਤੇ ਬਾਹਰ ਜਾਣ ਵਾਲਾ ਅਨੁਵਾਦ ਵੀ ਸ਼ਾਮਲ ਹੈ।

ਵਾਪਸੀ ਮਾਰਗ ਜਾਂਚੋ, ਫਿਰ ਟਿਕਾਊਪਣ

ਕਿਸੇ ਵੀ ਚੀਜ਼ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਲੁੱਕਅਪ ਪੜ੍ਹੋ, ਕਿਉਂਕਿ ਉਹ ਦਿਖਾਉਂਦੇ ਹਨ ਕਿ ਹਰ ਦਿਸ਼ਾ ਨੂੰ ਕਿਹੜਾ ਟੇਬਲ ਅਤੇ ਕਿਹੜਾ ਸਰੋਤ ਮਿਲਦਾ ਹੈ। ਪੋਰਟ 25 'ਤੇ ਇੱਕ ਟਾਰਗਿਟ ਅਤੇ ਪੋਰਟ 443 'ਤੇ ਉਹੀ ਟਾਰਗਿਟ ਕਾਫ਼ੀ ਹਨ:

ip -4 route get 198.51.100.25 ipproto tcp dport 25
ip -4 route get 198.51.100.25 ipproto tcp dport 443

ਪਹਿਲੇ ਲੁੱਕਅਪ ਵਿੱਚ wg0 ਅਤੇ ਇੱਛਤ ਸਰੋਤ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਦੂਜੇ ਵਿੱਚ ਆਮ ਅੱਪਲਿੰਕ ਬਣਿਆ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਦੋਂ ਐਪਲੀਕੇਸ਼ਨ ਆਪਣਾ ਪਤਾ ਬੰਨ੍ਹਦੀ ਹੈ, ਤਾਂ ਉਸ ਪਤੇ ਨਾਲ from ਲੁੱਕਅਪ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ। ਜੋ ਜਵਾਬ-ਦਿਸ਼ਾ wg0 ਤੱਕ ਪਹੁੰਚ ਕੇ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਸੁੱਟ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ, ਉਹ IPv4 ਰਿਵਰਸ-ਪਾਥ ਫਿਲਟਰਿੰਗ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ, ਕਿਉਂਕਿ ਸਿਰਫ਼ ਬਾਹਰ ਜਾਣ ਵਾਲੇ ਪੋਰਟ ਦਾ ਨਿਯਮ ਰਿਵਰਸ ਲੁੱਕਅਪ ਨੂੰ ਟਨਲ ਚੁਣਨ ਲਈ ਮਜਬੂਰ ਨਹੀਂ ਕਰਦਾ।

ਜਿੱਥੇ ਅਸਮਾਨ ਰਾਊਟਿੰਗ ਅਧਿਕਾਰਤ ਹੈ, ਉੱਥੇ net.ipv4.conf.wg0.rp_filter=2 ਰਾਹੀਂ ਇੰਟਰਫ਼ੇਸ-ਸੀਮਤ ਢਿੱਲਾ ਮੋਡ ਢੁਕਵਾਂ ਹੋ ਸਕਦਾ ਹੈ, ਅਤੇ ਪਹਿਲਾਂ all ਅਤੇ ਇੰਟਰਫ਼ੇਸ ਮੁੱਲਾਂ ਦਾ ਪ੍ਰਭਾਵੀ ਅਧਿਕਤਮ ਜਾਂਚਣਾ ਚਾਹੀਦਾ ਹੈ। ਸ਼ਾਰਟਕਟ ਵਜੋਂ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਵਿਸ਼ਵ ਪੱਧਰ 'ਤੇ ਬੰਦ ਨਾ ਕਰੋ। ਫਿਰ ਟੇਬਲ, ਪ੍ਰਾਇਓਰਿਟੀਆਂ ਅਤੇ ਰਾਖਾ ਸੰਰਚਨਾ ਦੇ ਮਾਲਕ ਨੂੰ ਸੌਂਪੋ, ਅਤੇ ਦੁਬਾਰਾ ਜੁੜਨ ਤੋਂ ਬਾਅਦ ਨਵੇਂ ਕਨੈਕਸ਼ਨ ਖੋਲ੍ਹ ਕੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਚੋਣ ਅਜੇ ਵੀ ਟਿਕੀ ਹੈ। ਯਾਦ ਰੱਖੋ ਕਿ ਸਥਾਨਕ SMTP ਸਰੋਤੇ ਦੇ ਜਵਾਬ ਸਰੋਤ ਪੋਰਟ 25 ਲੈ ਕੇ ਆਉਂਦੇ ਹਨ, ਟਾਰਗਿਟ ਪੋਰਟ 25 ਨਹੀਂ, ਜੋ ਵੱਖਰਾ ਨੀਤੀ ਸਵਾਲ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ