ZeroTier ನಿರ್ಗಮನ ನೋಡ್ ಕೆಲಸ ಮಾಡುತ್ತಿಲ್ಲವೇ? ಮಾರ್ಗ, NAT ಮತ್ತು ಕ್ಲೈಂಟ್ ಪರಿಶೀಲಿಸಿ
ಕ್ಲೈಂಟ್ನಲ್ಲಿ 0.0.0.0/0 ಮಾರ್ಗವಿರುವುದು ನಿರ್ಗಮನವಲ್ಲ. ನೋಡ್ ಮುಂದಕ್ಕೆ ಕಳುಹಿಸಬೇಕು ಮತ್ತು ಅನುವಾದಿಸಬೇಕು, ನೆಟ್ವರ್ಕ್ ಮಾರ್ಗವನ್ನು ಘೋಷಿಸಬೇಕು, ಮತ್ತು ಕ್ಲೈಂಟ್ ಅದನ್ನು ಸ್ವೀಕರಿಸಬೇಕು.
ಮಾರ್ಗ ಕೋಷ್ಟಕವು ZeroTier ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಡೀಫಾಲ್ಟ್ ಮಾರ್ಗವನ್ನು ತೋರಿಸುತ್ತದೆ, ನೆಟ್ವರ್ಕ್ ಆನ್ಲೈನ್ ಎಂದು ವರದಿ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಬ್ರೌಸರ್ ಇನ್ನೂ ಸ್ಥಳೀಯ ISP ವಿಳಾಸದಿಂದ ಹೊರಹೋಗುತ್ತದೆ. ಈ ಸಂಯೋಜನೆ ಸಾಮಾನ್ಯ ಮತ್ತು ಇದು ಕ್ಲೈಂಟ್ನ ದೋಷವಲ್ಲ. ಡೀಫಾಲ್ಟ್ ಮಾರ್ಗವು ಪ್ಯಾಕೆಟ್ಗಳು ಎಲ್ಲಿಗೆ ಹೋಗಬೇಕೆಂದು ಮಾತ್ರ ಹೇಳುತ್ತದೆ; ಇನ್ನೊಂದು ತುದಿಯಲ್ಲಿ ಯಾವುದೋ ಅವನ್ನು ಮುಂದಕ್ಕೆ ಕಳುಹಿಸಿ ಅನುವಾದಿಸಬೇಕು. ನಿರ್ಗಮನ ನೋಡ್ ಕೆಲಸ ಮಾಡುವ ಮೊದಲು ಮೂರು ಪ್ರತ್ಯೇಕ ಭಾಗಗಳು ನಿಜವಾಗಿರಬೇಕು.
ಮಾರ್ಗವಿದೆ ಆದರೆ ಏನೂ ಹೊರಹೋಗುತ್ತಿಲ್ಲ
ಮೊದಲು ಕ್ಲೈಂಟ್ನ ಮಾರ್ಗ ಕೋಷ್ಟಕವನ್ನು ಪರಿಶೀಲಿಸಿ. default via 10.147.20.5 dev zt0 ನಂತಹ ಸಾಲು ಮಾರ್ಗವನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ ಎಂದು ಸಾಬೀತು ಮಾಡುತ್ತದೆ, ಗಮ್ಯಸ್ಥಾನವು ಸಂಚಾರವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಎಂದಲ್ಲ. ಮುಂದಿನ ಹಾಪ್ ಅದನ್ನು ಮುಂದಕ್ಕೆ ಕಳುಹಿಸಲು ಸಿದ್ಧವಾಗಿರುವ ಮತ್ತು ಸಮರ್ಥವಾಗಿರುವ ಸದಸ್ಯರಾಗಿರಬೇಕು.
ಅದೇ ವಿನಂತಿ ಇನ್ನೂ ಭೌತಿಕ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಹೊರಹೋಗುತ್ತಿದ್ದರೆ, ಕ್ಲೈಂಟ್ ಮಾರ್ಗವನ್ನು ಸ್ಥಾಪಿಸಿಲ್ಲ, ಅಥವಾ ಸ್ಥಳೀಯ ಡೀಫಾಲ್ಟ್ಗೆ ಸೋತ ಮೆಟ್ರಿಕ್ನೊಂದಿಗೆ ಸ್ಥಾಪಿಸಿದೆ. ಮಾರ್ಗ ಸ್ಥಾಪನೆಯ ನಂತರ ವಿನಂತಿ ಕಣ್ಮರೆಯಾದರೆ, ನಿರ್ಗಮನ ಸದಸ್ಯ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತಿದೆ ಮತ್ತು ಅವನ್ನು ಮುಂದಕ್ಕೆ ಕಳುಹಿಸಲು ಅಥವಾ ಅನುವಾದಿಸಲು ವಿಫಲವಾಗುತ್ತಿದೆ. ಭೌತಿಕ ಡೀಫಾಲ್ಟ್ ಉಳಿಸಿಕೊಳ್ಳುವ ಕ್ಲೈಂಟ್ ನಿರ್ಗಮನಕ್ಕೆ ಒಂದೂ ಪ್ಯಾಕೆಟ್ ಕಳುಹಿಸುವುದಿಲ್ಲ.
ಈ ವ್ಯತ್ಯಾಸವು ಎಲ್ಲಿ ಕೆಲಸ ಮಾಡಬೇಕೆಂದು ನಿರ್ಧರಿಸುತ್ತದೆ. ಬದಲಾವಣೆಯ ಮೊದಲು ಮತ್ತು ನಂತರ ಸಾರ್ವಜನಿಕ ವಿಳಾಸವನ್ನು ಹೋಲಿಸುವುದು ಎಂದಿಗೂ ಬಳಸದ ಮಾರ್ಗವನ್ನು ಬಳಸಿ ತ್ಯಜಿಸಿದ ಮಾರ್ಗದಿಂದ ಬೇರ್ಪಡಿಸುತ್ತದೆ, ಮತ್ತು ಇಡೀ ಸಂರಚನೆಯ ಪರಿಶೀಲನೆಯ ಬದಲು ಒಂದೇ ಆದೇಶ ಬೇಕಾಗುತ್ತದೆ. ಬೇರೆ ಯಾವುದನ್ನೂ ಬದಲಿಸುವ ಮೊದಲು ಹೋಲಿಕೆ ಮಾಡಿ, ಇದರಿಂದ ಎರಡೂ ಫಲಿತಾಂಶಗಳು ಒಂದೇ ಆರಂಭಿಕ ಸ್ಥಿತಿಯಿಂದ ಬರುತ್ತವೆ.
ಮೂರು ಭಾಗಗಳು ಎಲ್ಲವೂ ನಿಜವಾಗಿರಬೇಕು
ನಿರ್ಗಮನವು ಸರಪಳಿ, ಮತ್ತು ದುರ್ಬಲ ಕೊಂಡಿಯು ಲಕ್ಷಣವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಕೆಳಗಿನ ಕೋಷ್ಟಕವು ಕೊಂಡಿಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ವಿಫಲವಾಗುವ ಕ್ರಮದಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ.
| Part | Where it lives | What a failure looks like |
|---|---|---|
| Forwarding and NAT | Exit node kernel and firewall | Traffic arrives, no reply |
| Managed default route | ZeroTier network controller | No default via the tunnel on the member |
| Client acceptance | Member's per-network setting | Route offered but not installed |
| DNS behavior | Client resolver configuration | Pages fail by name, IP works |
ಮೊದಲ ಸಾಲು ಆಯ್ಕೆಯ ಹೆಸರು ಮುಚ್ಚಿಡುವ ಭಾಗ. ಸದಸ್ಯನು ನಿರ್ಗಮನವಾಗುವುದು ಅವನ ಕರ್ನಲ್ ZeroTier ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ಇಂಟರ್ನೆಟ್ನತ್ತ ಮುಖಮಾಡಿದ ಇಂಟರ್ಫೇಸ್ ನಡುವೆ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಮುಂದಕ್ಕೆ ಕಳುಹಿಸಿದಾಗ ಮಾತ್ರ, ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯ ಮಾರ್ಗವು ಸುರಂಗಕ್ಕೆ ಮರಳಿ ಅನುವಾದವಾದಾಗ. ಆ ಫಾರ್ವರ್ಡಿಂಗ್ ಇಲ್ಲದೆ, ಸದಸ್ಯನು ಸಹಚರ, ಗೇಟ್ವೇ ಅಲ್ಲ.
ನಿಯಂತ್ರಕರ ಸಾಲು ಅಧಿಕಾರ, ಸಂರಚನೆಯಲ್ಲ. ಸದಸ್ಯನ ಮೂಲಕ 0.0.0.0/0 ಘೋಷಿಸುವುದು ಪ್ರತಿ ಕ್ಲೈಂಟ್ಗೆ ನಿರ್ಗಮನ ಎಲ್ಲಿದೆ ಎಂದು ಹೇಳುತ್ತದೆ; ಅದು ಸದಸ್ಯನನ್ನು ಸಂಚಾರವನ್ನು ಹೊರಲು ಸಮರ್ಥನನ್ನಾಗಿ ಮಾಡುವುದಿಲ್ಲ. ಸದಸ್ಯನಿಗೆ ಇಂಟರ್ನೆಟ್ಗೆ ಕೆಲಸ ಮಾಡುವ ಮಾರ್ಗವಿದೆ ಎಂದೂ ಅದು ಪರಿಶೀಲಿಸುವುದಿಲ್ಲ. ZeroTierನ ನಿರ್ಗಮನ ನೋಡ್ ದಸ್ತಾವೇಜು ನೋಡ್, ಮಾರ್ಗ ಮತ್ತು ಕ್ಲೈಂಟ್ ನಡುವಿನ ಅದೇ ವಿಭಜನೆಯನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ.
ನಿರ್ಗಮನ ನೋಡ್ ಅನ್ನು ಮುಂದಕ್ಕೆ ಕಳುಹಿಸಲು ಮತ್ತು ಅನುವಾದಿಸಲು ಸಂರಚಿಸಿ
IPv4 ಫಾರ್ವರ್ಡಿಂಗ್ ಅನ್ನು ಶಾಶ್ವತವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಿ, ನಂತರ WAN ಇಂಟರ್ಫೇಸ್ ಬಿಡುವ ಸಂಚಾರಕ್ಕೆ ಮೂಲ NAT ಸೇರಿಸಿ. ಫಿಲ್ಟರ್ ನಿಯಮಗಳು ಫಾರ್ವರ್ಡ್ ಆದ ಹರಿವನ್ನು ಎರಡೂ ದಿಕ್ಕುಗಳಲ್ಲಿ ಅನುಮತಿಸಬೇಕು, ಏಕೆಂದರೆ ಫಾರ್ವರ್ಡಿಂಗ್ ಮತ್ತು ಅನುವಾದವು ಅನುಮತಿಯಿಂದ ಪ್ರತ್ಯೇಕ:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i zt0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o zt0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPTzt0 ಮತ್ತು eth0 ಅನ್ನು ಹೋಸ್ಟ್ನಲ್ಲಿರುವ ಹೆಸರುಗಳಿಂದ ಬದಲಾಯಿಸಿ; ಉದಾಹರಣೆ ಇಂಟರ್ಫೇಸ್ಗಾಗಿ ಉಳಿಸಿದ ನಿಯಮವು ನಿಜವಾದ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಅನುಸರಿಸುವುದಿಲ್ಲ. ನಿಯಮಗಳನ್ನು ಹೊಂದಿರುವ ಫೈರ್ವಾಲ್ ನಿರ್ವಾಹಕರ ಮೂಲಕ ಬದಲಾವಣೆಗಳನ್ನು ಶಾಶ್ವತಗೊಳಿಸಿ, ಏಕೆಂದರೆ ಸಂವಾದಾತ್ಮಕ ಶೆಲ್ನಲ್ಲಿನ ಆದೇಶವು ಮುಂದಿನ ಮರು ಪ್ರಾರಂಭದಲ್ಲಿ ಕಣ್ಮರೆಯಾಗುತ್ತದೆ.
ಹೋಸ್ಟ್ UFW ಅಥವಾ firewalld ನಂತಹ ಫೈರ್ವಾಲ್ ನಿರ್ವಾಹಕರನ್ನು ಚಲಾಯಿಸುತ್ತಿದ್ದರೆ, ಪಕ್ಕದಲ್ಲಿ iptables ಸಾಲುಗಳನ್ನು ಜಮಾಯಿಸುವ ಬದಲು ಆ ನಿರ್ವಾಹಕರ ಮೂಲಕವೇ ನಿಯಮಗಳನ್ನು ಸೇರಿಸಿ. ಒಂದೇ ಸರಪಳಿಗಳನ್ನು ಸಂಪಾದಿಸುವ ಇಬ್ಬರು ಮಾಲೀಕರು ಬೂಟ್ ಕ್ರಮವನ್ನು ಅವಲಂಬಿಸಿರುವ ನೀತಿಯನ್ನು ಉತ್ಪಾದಿಸುತ್ತಾರೆ. ನಿರ್ವಾಹಕರು ತಮ್ಮದೇ ಸರಪಳಿಗಳನ್ನು ಉತ್ಪಾದಿಸುವಾಗ ಕ್ರಮ ಮುಖ್ಯ. ನಿರ್ವಾಹಕರನ್ನು ಮತ್ತೆ ಲೋಡ್ ಮಾಡಿದ ನಂತರ ಕ್ಲೈಂಟ್ನಿಂದ ಪರೀಕ್ಷಿಸಿ, ಮೊದಲು ಅಲ್ಲ.
ಮಾರ್ಗವನ್ನು ಘೋಷಿಸಿ ಮತ್ತು ಕ್ಲೈಂಟ್ನಲ್ಲಿ ಅದನ್ನು ಸ್ವೀಕರಿಸಿ
ನೆಟ್ವರ್ಕ್ ನಿಯಂತ್ರಕದಲ್ಲಿ 0.0.0.0/0 ಗಾಗಿ ನಿರ್ವಹಿತ ಮಾರ್ಗವನ್ನು ಸೇರಿಸಿ, ಅದರ ಮುಂದಿನ ಹಾಪ್ ನಿರ್ಗಮನ ಸದಸ್ಯನ ZeroTier ವಿಳಾಸವಾಗಿರಬೇಕು. ನಂತರ ಅದನ್ನು ಬಳಸಬೇಕಾದ ಸದಸ್ಯನಲ್ಲಿ ಆ ನೆಟ್ವರ್ಕ್ಗೆ ಮಿತಿಮೀರುವಿಕೆಯನ್ನು ಅನುಮತಿಸಿ. ಅನುಮತಿ ಸ್ಥಳೀಯ: ಅದು ಇತರ ಸದಸ್ಯರನ್ನು ಮರುಸಂರಚಿಸುವುದಿಲ್ಲ ಮತ್ತು ನಿಯಂತ್ರಕವನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ.
zerotier-cli listnetworks
zerotier-cli set <network-id> allowDefault=1
ip route get 1.1.1.1ಕೊನೆಯ ಆದೇಶವು ZeroTier ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ನಿರ್ಗಮನ ಸದಸ್ಯನ ವಿಳಾಸವನ್ನು ವರದಿ ಮಾಡಬೇಕು. ಅದು ಇನ್ನೂ ಭೌತಿಕ ಇಂಟರ್ಫೇಸ್ ವರದಿ ಮಾಡುತ್ತಿದ್ದರೆ, ಮಾರ್ಗ ಕಾಣೆಯಾಗಿದೆ ಅಥವಾ ಸ್ಪರ್ಧಾತ್ಮಕ ಡೀಫಾಲ್ಟ್ಗೆ ಉತ್ತಮ ಮೆಟ್ರಿಕ್ ಇದೆ.
ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಅದು ಬೇಕಾದ ನೆಟ್ವರ್ಕ್ಗೆ ಮಾತ್ರ ಸೀಮಿತಗೊಳಿಸಿ. ಡೀಫಾಲ್ಟ್ ಮಾರ್ಗ ಸ್ವೀಕಾರವನ್ನು ಜಾಗತಿಕವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸುವುದು, ಅಥವಾ ಖಾಸಗಿ ಸಬ್ನೆಟ್ ಮಾತ್ರ ಒದಗಿಸಬೇಕಾದ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಸಕ್ರಿಯಗೊಳಿಸುವುದು, ಅದಕ್ಕೆ ಎಂದಿಗೂ ಅಳೆಯದ ನಿರ್ಗಮನದ ಮೂಲಕ ಸಂಚಾರವನ್ನು ಕಳುಹಿಸುತ್ತದೆ.
ನಿರ್ಗಮನವನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಇತರ ವಿಳಾಸ ಕುಟುಂಬಗಳನ್ನು ನೋಡಿ
ಮೂಲವನ್ನು ವರದಿ ಮಾಡುವ ಸೇವೆಯಿಂದ ಸಾರ್ವಜನಿಕ ವಿಳಾಸವನ್ನು ಕೇಳಿ, ಮತ್ತು ಅದನ್ನು ನಿರ್ಗಮನ ನೋಡ್ನ WAN ವಿಳಾಸದೊಂದಿಗೆ ಹೋಲಿಸಿ. ನಂತರ ಹೆಸರಿನ ಮೂಲಕ ಸೈಟ್ ಲೋಡ್ ಮಾಡಿ DNS ಇನ್ನೂ ಪರಿಹರಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ, ಮತ್ತು ಕೇವಲ ಬ್ರೌಸರ್ ಅಲ್ಲದೆ ಒಂದು ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್ ಪರೀಕ್ಷಿಸಿ.
ದ್ವಿ-ಸ್ಟಾಕ್ ಕ್ಲೈಂಟ್ ತನ್ನ ಸ್ಥಳೀಯ IPv6 ಮಾರ್ಗವನ್ನು ಬಳಸುವುದನ್ನು ಮುಂದುವರಿಸಬಹುದು, ಆದರೆ IPv4 ZeroTier ಮೂಲಕ ಹೊರಹೋಗುತ್ತದೆ. ಎಲ್ಲಾ ಸಂಚಾರವನ್ನು ಮರೆಮಾಡುವುದು ಅಥವಾ ನಿಯಂತ್ರಿಸುವುದು ಗುರಿಯಾಗಿದ್ದರೆ, ಪ್ರತ್ಯೇಕ ::/0 ಮಾರ್ಗ ಮತ್ತು ನಿರ್ಗಮನದಲ್ಲಿ IPv6 ಫಾರ್ವರ್ಡಿಂಗ್ ಅಗತ್ಯ, ಮತ್ತು IPv4 ಪರೀಕ್ಷೆ ಅವುಗಳ ಬಗ್ಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ.
Linuxನ ಹಿಮ್ಮುಖ ಮಾರ್ಗ ಫಿಲ್ಟರಿಂಗ್ ಕ್ಲೈಂಟ್ನಲ್ಲಿ ಮಾನ್ಯ ನಿರ್ಗಮನ ಸಂಚಾರವನ್ನು ಬೀಳಿಸಬಹುದು. ZeroTier ಭಾಗವಹಿಸುವ ಸದಸ್ಯರಿಗೆ rp_filter ಪರಿಗಣನೆಯನ್ನು ದಾಖಲಿಸುತ್ತದೆ; ಆ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಮತ್ತು ಮಾರ್ಗ ಮತ್ತು NAT ದೃಢೀಕರಣದ ನಂತರ ಮಾತ್ರ ಬದಲಿಸಿ, ಮೊದಲ ಪ್ರಯೋಗವಾಗಿ ಅಲ್ಲ.
ಅಗತ್ಯವು NAS ಅಥವಾ ಒಂದು ಕಚೇರಿ ಸಬ್ನೆಟ್ಗೆ ಪ್ರವೇಶವಾಗಿದ್ದರೆ, ಆ ಪ್ರಿಫಿಕ್ಸ್ಗೆ ನಿರ್ವಹಿತ ಮಾರ್ಗವು ಪೂರ್ಣ ನಿರ್ಗಮನಕ್ಕಿಂತ ಚಿಕ್ಕ ಮತ್ತು ಸುರಕ್ಷಿತ ಬದಲಾವಣೆ. ಎಲ್ಲಾ ಬ್ರೌಸಿಂಗ್ ಅನ್ನು ಇನ್ನೊಂದು ಸಾಧನದ ಮೂಲಕ ಕಳುಹಿಸುವುದು ಒಂದು ಖಾಸಗಿ ಸಂಪನ್ಮೂಲವನ್ನು ತಲುಪುವುದಕ್ಕಿಂತ ಬೇರೆ ನಿರ್ಣಯ, ಮತ್ತು ಅದು ಪ್ರತ್ಯೇಕ ಪರಿಶೀಲನೆಗೆ ಅರ್ಹ.