ਸਿਰਫ਼ WireGuard ਰਾਹੀਂ ਚੱਲਣ ਵਾਲੀ HTTPS ਸੇਵਾ ਲਈ loopback ਉੱਤੇ Dante SOCKS
ਇੱਕ ਸਮਰਪਿਤ SOCKS ਸਰੋਤਾ loopback ਨਾਲ ਬੰਨ੍ਹੋ ਅਤੇ ਇੱਕ TCP ਮੰਜ਼ਿਲ ਦੀ ਇਜਾਜ਼ਤ ਦਿਓ। Dante ਦਾ ਬਾਹਰ ਜਾਣ ਵਾਲਾ ਸਰੋਤ, ਕਰਨਲ ਮਾਰਗ, DNS ਅਤੇ ਟਨਲ-ਨੁਕਸਾਨ ਨੀਤੀ ਵੱਖਰੀ ਰੱਖੋ।
ਇਹ ਰਨਬੁੱਕ ਪ੍ਰੌਕਸੀ-ਜਾਣਕਾਰ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਮੌਜੂਦਾ WireGuard ਮਾਰਗ ਤੱਕ ਪਹੁੰਚ ਦਿੰਦੀ ਹੈ, VPN ਸਰਵਰ ਜਾਂ ਇੰਟਰਨੈੱਟ ਉੱਤੇ ਕੋਈ ਪ੍ਰੌਕਸੀ ਪੋਰਟ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੇ ਬਿਨਾਂ। SOCKS ਡੀਮਨ ਐਪਲੀਕੇਸ਼ਨ ਇੰਟਰਫ਼ੇਸ ਦਿੰਦਾ ਹੈ, WireGuard ਪਹਿਲਾਂ ਹੀ ਮਨਜ਼ੂਰ IP ਮਾਰਗ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਤੁਹਾਡੇ ਵੱਲੋਂ ਵਰਤੋਂਕਾਰ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਨਹੀਂ ਕਰਦਾ। ਹੇਠਾਂ ਦਾ ਹਰ ਕਦਮ ਜਾਂਚਣ ਯੋਗ ਚੀਜ਼ ਪੈਦਾ ਕਰਦਾ ਹੈ, ਅਤੇ ਹਰ ਇੱਕ ਦਾ ਵਾਪਸ ਲੈਣ ਦਾ ਰਾਹ ਹੈ: ਇੰਸਟੈਂਸ ਰੋਕੋ, ਨਿਯਮ ਹਟਾਓ ਜਾਂ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗ ਹਟਾ ਦਿਓ। ਇੱਥੇ ਕੁਝ ਵੀ ਹੋਸਟ ਦੇ ਡਿਫ਼ਾਲਟ ਮਾਰਗ ਨੂੰ ਨਹੀਂ ਬਦਲਦਾ।
ਉਦਾਹਰਨ ਮੰਨਦੀ ਹੈ ਕਿ Dante 1.4.x ਇੱਕ ਭਰੋਸੇਯੋਗ Linux ਵਰਕਸਟੇਸ਼ਨ ਉੱਤੇ ਸਮਰਪਿਤ, ਪ੍ਰਬੰਧਿਤ ਇੰਸਟੈਂਸ ਵਜੋਂ ਸਥਾਪਿਤ ਹੈ, ਅਤੇ ਪੈਕੇਜ ਵੱਲੋਂ ਦਿੱਤਾ ਸੇਵਾ ਖਾਤਾ ਤੇ ਲੌਗ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਆਪਣੀ ਥਾਂ ਉੱਤੇ ਛੱਡੇ ਗਏ ਹਨ। ਵਰਕਸਟੇਸ਼ਨ 10.77.0.2 ਨੂੰ ਆਪਣੇ WireGuard ਇੰਟਰਫ਼ੇਸ ਉੱਤੇ ਰੱਖਦਾ ਹੈ, ਉਸ ਟਨਲ ਰਾਹੀਂ 10.60.0.20:443 ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ, ਅਤੇ ਸੇਵਾ ਦਾ ਸਹੀ ਨਾਮ app.corp.example ਹੈ।
ਕਦਮ 1: ਸਰੋਤਾ ਸਿਰਫ਼ loopback ਨਾਲ ਬੰਨ੍ਹੋ
ਨੈੱਟਵਰਕ, ਢੰਗ ਅਤੇ ਨਿਯਮ ਭਾਗ ਇੰਸਟੈਂਸ ਦੀ ਸਰਗਰਮ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਵਿੱਚ ਪਾਓ ਅਤੇ ਉਦਾਹਰਨ ਪਤੇ ਬਦਲੋ। ਸਾਰੀਆਂ ਸਰਵਰ ਸੈਟਿੰਗਾਂ ਨਿਯਮ ਬਲਾਕਾਂ ਤੋਂ ਪਹਿਲਾਂ ਆਉਂਦੀਆਂ ਹਨ:
internal: 127.0.0.1 port = 1080
external: 10.77.0.2
external.protocol: ipv4
clientmethod: none
socksmethod: none
client pass {
from: 127.0.0.1/32 to: 127.0.0.1/32
}
socks pass {
from: 127.0.0.1/32 to: 10.60.0.20/32 port = 443
command: connect
protocol: tcp
}ਇਹ ਇੱਕ ਟੁਕੜਾ ਹੈ, ਪੈਕੇਜ ਦੀਆਂ ਵਰਤੋਂਕਾਰ ਤੇ ਲੌਗ ਸੈਟਿੰਗਾਂ ਦਾ ਬਦਲ ਨਹੀਂ। ਨਾ-ਵਰਤੀ ਗਈ ਸਥਾਨਕ ਪੋਰਟ ਚੁਣੋ ਅਤੇ ਪੱਕਾ ਕਰੋ ਕਿ ਇਸ ਸਮਰਪਿਤ ਇੰਸਟੈਂਸ ਕੋਲ ਹੋਰ ਸਰੋਤੇ, ਵਧੇਰੇ ਵਿਸ਼ਾਲ ਪਾਸ ਨਿਯਮ ਅਤੇ ਇਕਰਾਰਨਾਮਾ ਬਦਲ ਸਕਣ ਵਾਲੀਆਂ ਉੱਪਰਲੀਆਂ ਚੇਨ ਐਂਟਰੀਆਂ ਨਹੀਂ ਹਨ। ਜੇ ਪਿਛਲੀ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਨੇ socks pass ਨੂੰ ਮੰਜ਼ਿਲ-ਸੀਮਾ ਤੋਂ ਬਿਨਾਂ ਛੱਡਿਆ ਹੈ, ਤਾਂ ਕੁਝ ਵੀ ਜਾਂਚਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹ ਹਟਾ ਦਿਓ।
ਇਸ ਕਦਮ ਦਾ ਵਾਪਸੀ ਇੰਸਟੈਂਸ ਨੂੰ ਰੋਕਣਾ ਹੈ; ਜਦੋਂ ਤੁਸੀਂ ਇਸਨੂੰ ਵਾਪਸ ਲਿਆਉਂਦੇ ਹੋ ਤਾਂ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਫਾਈਲ ਡਿਸਕ ਉੱਤੇ ਰਹਿ ਸਕਦੀ ਹੈ।
ਕਦਮ 2: ਇੱਕ ਨਹੀਂ, ਦੋ ਨਿਯਮ ਲਿਖੋ
Dante ਦਾ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਸੰਦਰਭ ਦੋਨਾਂ ਨਿਯਮ ਕਿਸਮਾਂ ਨੂੰ ਵੱਖਰੇ ਕੰਮ ਦਿੰਦਾ ਹੈ। ਕਲਾਇੰਟ ਨਿਯਮ loopback ਸਰੋਤੇ ਨਾਲ ਜੁੜਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਇਸਦੀ ਮੰਜ਼ਿਲ ਸਰੋਤੇ ਦਾ ਆਪਣਾ ਪਤਾ ਹੈ। SOCKS ਨਿਯਮ ਬੇਨਤੀ ਕੀਤੇ ਅਗਲੇ ਜੁੜਨ ਨੂੰ ਮਨਜ਼ੂਰ ਹੋਸਟ ਤੇ ਪੋਰਟ ਤੱਕ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਨਾ-ਮਿਲਦੀਆਂ ਬੇਨਤੀਆਂ ਡਿਫ਼ਾਲਟ ਤੌਰ ਉੱਤੇ ਰੋਕੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਇਸ ਲਈ ਗੁੰਮ ਨਿਯਮ ਟੁੱਟੇ ਮਾਰਗ ਵਰਗਾ ਹੀ ਦਿਸਦਾ ਹੈ।
ਧਿਆਨ ਦਿਓ ਇਹ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਜਾਣ-ਬੁੱਝ ਕੇ ਕੀ ਨਹੀਂ ਕਰਦੀ: ਇਹ ਕੋਈ SOCKS ਪਾਸਵਰਡ ਨਹੀਂ ਮੰਗਦੀ। ਇਹ ਭਰੋਸੇਯੋਗ ਸਥਾਨਕ ਹੋਸਟ ਲਈ ਢੁੱਕਵੀਂ ਹੈ, ਅਤੇ ਇਹ ਵਰਤੋਂਕਾਰ ਪ੍ਰਮਾਣਿਕਤਾ ਨਹੀਂ ਹੈ। ਉਸ ਮਸ਼ੀਨ ਉੱਤੇ ਹੋਰ ਕੋਈ ਵੀ ਪ੍ਰਕਿਰਿਆ loopback ਵਰਤ ਸਕਦੀ ਹੈ। ਦੂਰਲੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਆਪਣੀ ਪ੍ਰਮਾਣਿਕਤਾ ਆਪਣੀ ਥਾਂ ਰੱਖੋ, ਅਤੇ ਇਸ ਬਿਨਾਂ-ਪ੍ਰਮਾਣਿਕਤਾ ਵਾਲੇ ਰੂਪ ਨੂੰ ਭਰੋਸੇਯੋਗ ਨਾ ਹੋਣ ਵਾਲੇ ਸਥਾਨਕ ਵਰਤੋਂਕਾਰਾਂ ਜਾਂ LAN ਵੱਲ ਵੇਖਦੇ ਸਰੋਤੇ ਲਈ ਦੁਬਾਰਾ ਨਾ ਵਰਤੋ।
ਕਦਮ 3: ਸਹੀ ਸਰੋਤ ਤੋਂ ਮਾਰਗ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
external ਬਾਹਰ ਜਾਣ ਵਾਲਾ ਸਰੋਤ ਪਤਾ ਚੁਣਦਾ ਹੈ; ਇਹ WireGuard ਮਾਰਗ ਸਥਾਪਿਤ ਨਹੀਂ ਕਰਦਾ। ਉਦਾਹਰਨ ਸਰੋਤ ਤੇ ਮੰਜ਼ਿਲ ਲਈ ਸਿਰਫ਼-ਪੜ੍ਹਨ ਖੋਜ:
ip -4 route get 10.60.0.20 from 10.77.0.2ਇਹ Dante ਦੇ ਅਸਲ ਨੈੱਟਵਰਕ ਨਾਮਸਥਾਨ ਵਿੱਚ ਚਲਾਓ, ਤੁਹਾਡੇ ਕੋਲ ਖੁੱਲ੍ਹੇ ਕਿਸੇ ਵੀ ਸ਼ੈੱਲ ਵਿੱਚ ਨਹੀਂ। ਮਾਰਗ, WireGuard ਸਾਥੀ ਦੀ ਚੋਣ, ਦੂਰਲੇ ਪਾਸੇ ਦੀ ਇਜਾਜ਼ਤ ਅਤੇ ਵਾਪਸੀ ਦਾ ਰਾਹ—ਸਭ ਨੂੰ ਉਸ ਸਰੋਤ ਪਤੇ ਨਾਲ ਮੇਲ ਖਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਸਫਲ ਖੋਜ ਜ਼ਰੂਰੀ ਹੈ ਅਤੇ ਕਾਫ਼ੀ ਨਹੀਂ, ਕਿਉਂਕਿ ਇਹ ਨਹੀਂ ਦੱਸਦੀ ਕਿ ਦੂਰਲਾ ਸਿਰਾ ਬੇਨਤੀ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ ਜਾਂ ਨਹੀਂ।
ਖੋਜ ਸਫਲ ਹੋਵੇ ਇਸ ਲਈ ਡਿਫ਼ਾਲਟ ਮਾਰਗ ਜੋੜਨ ਦੇ ਲਾਲਚ ਦਾ ਵਿਰੋਧ ਕਰੋ। ਪ੍ਰੌਕਸੀ ਪੋਰਟ ਸਿਰਫ਼ ਇਸ ਵਰਕਸਟੇਸ਼ਨ ਉੱਤੇ ਹੈ; ਇਸਨੂੰ ਬਣਾਉਣ ਲਈ ਹੋਸਟ ਦਾ ਡਿਫ਼ਾਲਟ ਮਾਰਗ ਬਦਲਣਾ ਪੂਰਾ ਡਿਜ਼ਾਈਨ ਉਲਟਾ ਦਿੰਦਾ ਹੈ।
ਕਦਮ 4: ਇੱਛਤ ਪਛਾਣ ਨਾਲ ਜਾਂਚੋ
ਮਾਲਕ ਵੱਲੋਂ ਸਥਾਪਿਤ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਅਤੇ ਸੇਵਾ ਪ੍ਰਬੰਧਕ ਰਾਹੀਂ ਇੰਸਟੈਂਸ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਇੱਕ ਉਦਾਹਰਨ ਬੇਨਤੀ ਇਹ ਹੈ:
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/ਨਾਲ socks5h, Dante ਮੰਜ਼ਿਲ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਦਾ ਹੈ, ਪਰ Dante ਇਸ ਵਰਕਸਟੇਸ਼ਨ ਉੱਤੇ ਚੱਲਦਾ ਹੈ, ਇਸ ਲਈ ਸੈਟਿੰਗ ਆਪਣੇ ਆਪ DNS ਨੂੰ ਟਨਲ ਦੇ ਦੂਰਲੇ ਸਿਰੇ ਤੱਕ ਨਹੀਂ ਭੇਜਦੀ. Dante ਜੋ ਮਨਜ਼ੂਰ ਰਿਜ਼ੌਲਵਰ ਵਰਤਦਾ ਹੈ ਉਸਨੂੰ ਉਸ ਨਾਮ ਲਈ ਮਨਜ਼ੂਰ ਪਤਾ ਵਾਪਸ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ। ਖਾਲੀ no-proxy ਸੂਚੀ ਵਿਰਾਸਤੀ ਛੋਟ ਨੂੰ ਚੁੱਪਚਾਪ SOCKS ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ।
ਜਾਂਚ ਵਿੱਚ HTTPS ਹੋਸਟਨਾਮ ਤੇ ਸਰਟੀਫ਼ਿਕੇਟ ਪੁਸ਼ਟੀ ਬਣਾਈ ਰੱਖੋ, ਫਿਰ ਅਸਲ ਸਰੋਤੇ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ ਇਕਰਾਰਨਾਮੇ ਦੇ ਦੋਵੇਂ ਅੱਧ ਪੱਕੇ ਕਰੋ: ਮਨਜ਼ੂਰ ਬੇਨਤੀ ਸਫਲ ਹੁੰਦੀ ਹੈ ਅਤੇ ਬਾਹਰ ਰੱਖੀ ਮੰਜ਼ਿਲ ਅਸਫਲ ਹੁੰਦੀ ਹੈ। ਇਹ ਵੀ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਅਸਮਰਥਿਤ ਫਾਰਵਰਡਿੰਗ ਕਮਾਂਡ ਨਾਮਨਜ਼ੂਰ ਹੀ ਰਹਿੰਦੇ ਹਨ, ਕਿਉਂਕਿ ਇਹ ਟੁਕੜਾ TCP ਉੱਤੇ SOCKS CONNECT ਕਮਾਂਡ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ ਅਤੇ ਆਮ UDP ਜਾਂ ਸਾਰੇ ਯੰਤਰ ਦੀ ਟਨਲ ਵਰਗੀ ਕਿਸੇ ਚੀਜ਼ ਦੀ ਨਹੀਂ।
ਕਦਮ 5: ਟਨਲ ਡਿੱਗਣ ਉੱਤੇ ਕੀ ਹੁੰਦਾ ਹੈ ਤੈਅ ਕਰੋ
ਇਸਨੂੰ ਉਤਪਾਦਨ ਕਹਿਣ ਤੋਂ ਪਹਿਲਾਂ ਟਨਲ-ਨੁਕਸਾਨ ਅਤੇ ਇੰਸਟੈਂਸ ਮੁੜ-ਸ਼ੁਰੂ ਦੀ ਜਾਂਚ ਕਰੋ। ਜੋ ਸੁਪਰਵਾਈਜ਼ਰ WireGuard ਤੋਂ ਬਾਅਦ Dante ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਉਹ fail-closed ਰੂਟਿੰਗ ਨਹੀਂ ਬਣਾਉਂਦਾ, ਅਤੇ fail-closed DNS ਵੀ ਨਹੀਂ ਬਣਾਉਂਦਾ; ਦੋਵੇਂ ਨੈੱਟਵਰਕ ਮਾਲਕ ਰਾਹੀਂ ਲਾਗੂ ਕਰਨੇ ਪੈਣਗੇ। ਵੇਖੋ ਟਨਲ ਡਾਊਨ ਹੋਣ ਉੱਤੇ ਐਪਲੀਕੇਸ਼ਨ ਕੀ ਕਰਦੀ ਹੈ: ਸਾਫ਼ ਗਲਤੀ ਚੰਗਾ ਨਤੀਜਾ ਹੈ, ਜਨਤਕ ਰਿਜ਼ੌਲਵਰ ਉੱਤੇ ਚੁੱਪਚਾਪ ਡਿੱਗਣਾ ਨਹੀਂ।
ਬੱਧ ਟਨਲ ਪਤਾ ਬਦਲਣ ਉੱਤੇ ਅੱਪਡੇਟ ਤਾਲਮੇਲ ਕਰੋ, ਕਿਉਂਕਿ external ਇਸ ਉੱਤੇ ਪਿੰਨ ਹੈ। ਜਦੋਂ ਇਸ ਪ੍ਰਬੰਧ ਦੀ ਲੋੜ ਨਾ ਰਹੇ, ਤਾਂ ਇਸ ਇੰਸਟੈਂਸ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗ ਨੂੰ ਇਕੱਠੇ ਰਿਟਾਇਰ ਕਰੋ, ਅਤੇ WireGuard ਮਾਰਗ ਉਸਦੇ ਮਾਲਕ ਲਈ ਛੱਡ ਦਿਓ।