ಮನೆಯ NAT ನಿಮ್ಮ VPN ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಏಕೆ ರಕ್ಷಿಸುವುದಿಲ್ಲ
ಮನೆಯ ರೌಟರ್ ಸುರಂಗವನ್ನು ರವಾನಿಸುತ್ತದೆ, ಆದರೆ ಹೋಸ್ಟ್ ಡೀಕ್ರಿಪ್ಟ್ ಆದ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ನಿರ್ಣಯಿಸುತ್ತದೆ. ಶ್ರೋತ, ಒಳ ಮಾರ್ಗ ಮತ್ತು ಪ್ರವೇಶ ನೀತಿಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಓದಿ.
ಮನೆಯ ರೌಟರ್ ಹಿಂದೆ ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡಿಂಗ್ ಇಲ್ಲದ ಲ್ಯಾಪ್ಟಾಪ್ಗಳು VPN ಮೂಲಕ ಬರುವ SSH ಸಂಪರ್ಕಗಳನ್ನು ಇನ್ನೂ ಸ್ವೀಕರಿಸುತ್ತವೆ. ಇದು ವಿರೋಧಾಭಾಸವಲ್ಲ, ಏಕೆಂದರೆ ಎರಡು ಬೇರೆ ಸಾಧನಗಳು ಎರಡು ಬೇರೆ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ನಿರ್ಣಯಿಸುತ್ತವೆ. ರೌಟರ್ ಎನ್ಕ್ರಿಪ್ಟ್ ಆದ ಸಾಗಣೆಯನ್ನು ರವಾನಿಸುತ್ತದೆ, ಹೋಸ್ಟ್ ತನ್ನ ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ ತಲುಪುವ ಡೀಕ್ರಿಪ್ಟ್ ಆದ ಪ್ಯಾಕೆಟ್ನೊಂದಿಗೆ ಏನು ಮಾಡಬೇಕೆಂದು ನಿರ್ಧರಿಸುತ್ತದೆ. ಈ ಎರಡು ನಿರ್ಧಾರಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇಡುವುದೇ ಇಡೀ ಅಭ್ಯಾಸ.
ರೌಟರ್ ಸುರಂಗವನ್ನು ರವಾನಿಸುತ್ತದೆ, ಹೋಸ್ಟ್ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ನಿರ್ಣಯಿಸುತ್ತದೆ
ಒಂದೇ ನಿಯಮವನ್ನು ನೋಡುವ ಮೊದಲು ದೂರದ ಮೂಲದಿಂದ ಸೇವೆಯವರೆಗಿನ ಮಾರ್ಗವನ್ನು ಎಳೆಯಿರಿ. ಹೊರ ಭಾಗ VPN ಸಾಗಣೆ, ಅದನ್ನು ರೌಟರ್ ಮತ್ತು ಗೇಟ್ವೇ ನಿರ್ವಹಿಸುತ್ತವೆ. ಒಳ ಭಾಗವು ತುದಿ ಬಿಂದು ಸುರಂಗ ಪದರವನ್ನು ತೆಗೆದು, ತನ್ನ VPN ವಿಳಾಸಕ್ಕೆ ಕಳುಹಿಸಿದ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಹೋಸ್ಟ್ ಪಡೆದಾಗ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.
ಈ ಎರಡು ಭಾಗಗಳನ್ನು ಸೇರಿಸಿದರೆ, ಹೋಸ್ಟ್ ತೆಗೆದುಕೊಳ್ಳುವ ನಿರ್ಧಾರದ ಕೀರ್ತಿ ರೌಟರ್ಗೆ ಸಿಗುತ್ತದೆ. ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡಿಂಗ್ ಪುಟ ಅಥವಾ ರೌಟರ್ ಲಾಗ್ ಹೊರ ಸಂಭಾಷಣೆಗಳನ್ನು ಮಾತ್ರ ವಿವರಿಸುತ್ತವೆ, ಅವುಗಳಲ್ಲಿ ಯಾವುದೂ ಹೋಸ್ಟ್ ಯಾವ ಡೀಕ್ರಿಪ್ಟ್ ಆದ ಸಂಚಾರವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಎಂದು ಹೇಳುವುದಿಲ್ಲ. ಹೋಸ್ಟ್ ಒಳ ಪ್ಯಾಕೆಟ್ಗೆ ತನ್ನದೇ ಪ್ರವೇಶ ನೀತಿಯನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ, ಇಂಟರ್ಫೇಸ್ಗೆ ಬರುವ ಯಾವುದೇ ಪ್ಯಾಕೆಟ್ಗೆ ಅನ್ವಯಿಸುವಂತೆ. ಆ ನೀತಿಯಲ್ಲಿಯೇ ಒಡ್ಡಿಕೆಯ ಪ್ರಶ್ನೆ ನಿಜವಾಗಿ ಪರಿಹಾರವಾಗುತ್ತದೆ.
ವೈಲ್ಡ್ಕಾರ್ಡ್ ಶ್ರೋತ ಸಾರ್ವಜನಿಕ ಸೇವೆ ಅಲ್ಲ
Linux ನಲ್ಲಿ INADDR_ANY ಗೆ ಬೈಂಡ್ ಮಾಡುವುದು ಎಂದರೆ ಪ್ರತಿ ಸ್ಥಳೀಯ ವಿಳಾಸ, ಆದ್ದರಿಂದ ಸೇವೆಯು ತಾನು ಎಂದೂ ಹೆಸರಿಸದ ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಉತ್ತರಿಸಬಹುದು. IP ಸಾಕೆಟ್ ಉಲ್ಲೇಖ ಆ ಬೈಂಡಿಂಗ್ ಅನ್ನು ವಿವರಿಸುತ್ತದೆ, ಶ್ರೋತರ ಪಟ್ಟಿಯಿಂದ ತೀರ್ಮಾನಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ ಮೊದಲು ಅದನ್ನು ಓದುವುದು ಒಳ್ಳೆಯದು. ವೈಲ್ಡ್ಕಾರ್ಡ್ ನಮೂದು ಸಾಕೆಟ್ ಬಗ್ಗೆ ಸತ್ಯ, ತಲುಪುವಿಕೆ ಬಗ್ಗೆ ಹೇಳಿಕೆ ಅಲ್ಲ.
ಕೆಳಗಿನ ಎರಡು ಸಾಲುಗಳು ಒಂದೇ ಸೇವೆಯ ಎರಡು ಬೇರೆ ಬೈಂಡಿಂಗ್ಗಳು, ವ್ಯತ್ಯಾಸವೇ ಇಂಟರ್ಫೇಸ್ ಮುಖ್ಯವೇ ಎಂಬ ಪ್ರಶ್ನೆಗೆ ಪೂರ್ಣ ಉತ್ತರ. ಎಲ್ಲಕ್ಕಿಂತ ಮೊದಲು ಸಾಕೆಟ್ ಯಾವ ವಿಳಾಸದಲ್ಲಿ ಕುಳಿತಿದೆ ಎಂದು ಓದಿ.
ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))
ಪೋರ್ಟ್ ತಲುಪಬಹುದಾದ ಜೋಡಣೆಗೆ ಹೆಸರಿಸಿ
ಮೂರು ಜೋಡಣೆಗಳು ಆ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಪ್ಯಾಕೆಟ್ ಇಡುತ್ತವೆ, ಅವುಗಳ ಮಾಲೀಕರು ಬೇರೆ. ಸರಿಯಾದದ್ದನ್ನು ಹೆಸರಿಸುವುದು ಯಾರು ನೀತಿ ಬದಲಿಸಬೇಕೆಂದು ನಿರ್ಧರಿಸುತ್ತದೆ.
| Arrangement | What reaches the port | Where the decision lives |
|---|---|---|
| Another permitted VPN peer | A packet from the same tunnel subnet | Gateway forwarding policy and host input rules |
| A deliberate public forward | Traffic the gateway publishes on purpose | Gateway service definition |
| A subnet routed behind the gateway | Client traffic from the far side | Gateway route and host input rules |
ಸಾರ್ವಜನಿಕ ನಿರ್ಗಮನ ವಿಳಾಸ ತೋರಿಸುವ ಬ್ರೌಸರ್ ಫಲಿತಾಂಶ ಮೂರರಲ್ಲಿ ಯಾವುದರ ಬಗ್ಗೆಯೂ ಏನೂ ಹೇಳುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಅದು ಹೊರಹೋಗುವ ಸಂಚಾರ ಹೇಗೆ ಹೊರಹೋಗುತ್ತದೆ ಎಂದು ವಿವರಿಸುತ್ತದೆ, ಒಳಬರುವ ಸಂಚಾರಕ್ಕೆ ಏನು ಅನುಮತಿ ಎಂದಲ್ಲ. ಬದಲಾಗಿ ಶ್ರೋತ ಮತ್ತು ಸೇವಾ ಲಾಗ್ನಲ್ಲಿನ ಮೂಲ ವಿಳಾಸದಿಂದ ಹಿಂದಕ್ಕೆ ಕೆಲಸ ಮಾಡಿ. ಮೂಲವು ಇನ್ನೊಂದು ಸುರಂಗ ಸಹಚರವಾಗಿದ್ದರೆ, ಗೇಟ್ವೇ ನೀತಿಯೇ ಆಸಕ್ತಿಕರ ದಾಖಲೆ. ಅದು ಅನುವಾದಿತ ವಿಳಾಸವಾಗಿದ್ದರೆ, ನಿಯಮ ಬದಲಿಸುವ ಮೊದಲು ಅನುವಾದವನ್ನು ಹುಡುಕಿ.
ಸೇವೆಯನ್ನು ನೀವು ಉದ್ದೇಶಿಸಿದ ಮಾರ್ಗಕ್ಕೆ ಸೀಮಿತಗೊಳಿಸಿ
SSH ನಿರ್ವಹಣಾ ಮಾರ್ಗದಿಂದ ಮಾತ್ರ ಬೇಕಾದರೆ, ಆ ಮಾರ್ಗವನ್ನು ಮೂಲ ಶ್ರೇಣಿ ಮತ್ತು ಒಂದು ಇಂಟರ್ಫೇಸ್ ಆಗಿ ಬರೆಯಿರಿ. ನಂತರ ಹೋಸ್ಟ್ನ ಪ್ರವೇಶ ನಿಯಮಗಳನ್ನು ನೆಟ್ವರ್ಕ್ ಹೆಸರಿನ ಬದಲು ಇಂಟರ್ಫೇಸ್, ಗಮ್ಯಸ್ಥಾನ ಮತ್ತು ಮೂಲದ ಆಧಾರದಲ್ಲಿ ಸೀಮಿತಗೊಳಿಸಿ, ಏಕೆಂದರೆ ಖಾಸಗಿ ಕಾಣುವ ಹೆಸರು ಯಾವುದೇ ವಿಳಾಸವನ್ನು ಪ್ರತಿನಿಧಿಸಬಹುದು. ಮುಂದಿನ ಸಮಸ್ಯೆಯನ್ನು ಬಗೆಹರಿಸುವವರಿಗೆ ಮಾರ್ಗವನ್ನು ಬಿಡಿ.
nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input
ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ನಿರ್ವಹಣಾ ಶ್ರೇಣಿಗೆ ಹೆಸರಿಸುವ ನಿಯಮ ಉದ್ದೇಶವನ್ನು ಒಂದೇ ಕಡೆ ತಿಳಿಸುತ್ತದೆ. Wi-Fi ನೆಟ್ವರ್ಕ್ಗಾಗಿ ಬರೆದ ನಿಯಮದೊಂದಿಗೆ ಅದನ್ನು ಹೋಲಿಸಿ, ಅದು ಡೀಕ್ರಿಪ್ಟ್ ಆದ ಸುರಂಗ ಸಂಚಾರದ ಬಗ್ಗೆ ಏನೂ ಹೇಳುವುದಿಲ್ಲ. ಎರಡೂ ಪದರಗಳು ಒಪ್ಪದಿದ್ದಾಗ, ಪ್ಯಾಕೆಟ್ ಎದುರಿಸುವ ನೀತಿ ಹೋಸ್ಟ್ನ ನೀತಿಯೇ.
ಲಾಗಿನ್ಗಳು ಮತ್ತು ಪ್ಯಾಚ್ಗಳನ್ನು ಇರುವಲ್ಲೇ ಬಿಡಿ; ಪೋರ್ಟ್ ತಲುಪುವುದು ಎಂದೂ ಅದನ್ನು ಬಳಸುವ ಅನುಮತಿ ಪಡೆಯುವುದಕ್ಕೆ ಸಮವಲ್ಲ. ತಿಳಿದಿಲ್ಲದ ಯಾವುದೇ ಮೂಲಕ್ಕೆ ವಿಳಾಸ ಕುಟುಂಬ ಮತ್ತು ಸಮಯವನ್ನು ದಾಖಲಿಸಿ, ಒಂದು ವೈಶಿಷ್ಟ್ಯ ಅಥವಾ ದುರ್ಬಲತೆಯನ್ನು ದೂಷಿಸುವ ಮೊದಲು ತನಿಖೆ ಮಾಡಿ. ಪ್ರತಿ ಸುರಂಗ ಸಹಚರವನ್ನು ಒಳಗೆ ಬಿಡುವ ನಿಯಮ ನಿರ್ವಹಣಾ ಉಪಜಾಲವನ್ನು ಒಳಗೆ ಬಿಡುವುದಕ್ಕಿಂತ ಬೇರೆ ವಿನ್ಯಾಸ, ಯಾವ ಲಾಗ್ ಸಾಲೂ ಯಾವುದನ್ನು ಉದ್ದೇಶಿಸಲಾಗಿತ್ತು ಎಂದು ಹೇಳದು.
ಸುಧಾರಣೆಯನ್ನು ಒಂದು ಯಶಸ್ಸು ಮತ್ತು ಒಂದು ನಿರಾಕರಣೆಯೊಂದಿಗೆ ಸ್ವೀಕರಿಸಿ
ಎರಡೂ ಅರ್ಧಗಳನ್ನು ಸಾಬೀತುಪಡಿಸಿ: ಒಂದು ಅನುಮೋದಿತ ಸಂಪರ್ಕ ಯಶಸ್ವಿಯಾಗುತ್ತದೆ, ಒಂದು ಹೊರಗಿಡಲಾದ ಮಾರ್ಗ ನಿರಾಕರಿಸಲಾಗುತ್ತದೆ. ನಿರಾಕರಣೆಯೇ ಜನರು ಬಿಟ್ಟುಬಿಡುವ ಅರ್ಧ, ಅದೇ ನಿಯಮ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ, ಅನುಮತಿಸುವ ಡೀಫಾಲ್ಟ್ ಪಕ್ಕದಲ್ಲಿ ನಿಂತಿಲ್ಲ. ಹೊರಗಿಡಲಾದ ಬದಿಯಿಂದ ಪರೀಕ್ಷಿಸಿ, ಅದರ ಬಗ್ಗೆ ಯೋಚಿಸುವ ಬದಲು.
ಮತ್ತೆ ಸಂಪರ್ಕಗೊಂಡ ನಂತರ ಜೋಡಿಯನ್ನು ಪುನರಾವರ್ತಿಸಿ, ಏಕೆಂದರೆ ಬೇರೆ ಇಂಟರ್ಫೇಸ್ ಹೆಸರಿನೊಂದಿಗೆ ಹಿಂತಿರುಗುವ ಸುರಂಗ ಹಳೆಯದಕ್ಕೆ ಸೀಮಿತವಾದ ನಿಯಮವನ್ನು ಸದ್ದಿಲ್ಲದೆ ಬೈಪಾಸ್ ಮಾಡಬಹುದು. ಮುಖ್ಯವಾದ ಗಡಿ ಹೋಸ್ಟ್ ನಿಜವಾಗಿ ಪಡೆಯುವ ಪ್ಯಾಕೆಟ್ಗಳಿಗೆ ಅನ್ವಯಿಸುವುದೇ.