WireGuard ಮೂಲಕ ಮಾತ್ರ ನಡೆಯುವ HTTPS ಸೇವೆಗಾಗಿ loopback ಮೇಲೆ Dante SOCKS
ಮೀಸಲಾದ SOCKS ಕೇಳುಗನನ್ನು loopback ಗೆ ಬಿಗಿಯಿರಿ ಮತ್ತು ಒಂದು TCP ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಅನುಮತಿ ನೀಡಿ. Dante ನ ಹೊರಹೋಗುವ ಮೂಲ, ಕರ್ನಲ್ ಮಾರ್ಗ, DNS ಮತ್ತು ಸುರಂಗ-ನಷ್ಟ ನೀತಿಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ.
ಈ ಕೈಪಿಡಿ ಪ್ರಾಕ್ಸಿ-ಅರಿವಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗೆ VPN ಸರ್ವರ್ ಅಥವಾ ಇಂಟರ್ನೆಟ್ನಲ್ಲಿ ಪ್ರಾಕ್ಸಿ ಪೋರ್ಟ್ ಪ್ರಕಟಿಸದೆಯೇ ಇರುವ WireGuard ಮಾರ್ಗಕ್ಕೆ ಪ್ರವೇಶ ನೀಡುತ್ತದೆ. 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 ಮಾರ್ಗವನ್ನು ಅದರ ಮಾಲೀಕರಿಗೆ ಬಿಡಿ.