ನಿಮ್ಮ OpenVPN ಸರ್ವರ್‌ನಲ್ಲಿ ಒಂದು ಕ್ಲೈಂಟ್ LAN ಪ್ರವೇಶವನ್ನು ಕಳೆದುಕೊಳ್ಳಬೇಕು, ಉಳಿದ ಎಲ್ಲಾ ಟನೆಲ್‌ಗಳು ಚಾಲನೆಯಲ್ಲಿರಬೇಕು. ಇದನ್ನು ಹುಡುಕಿದರೆ, ಉತ್ತಮ ಉತ್ತರ ಸಾಮಾನ್ಯವಾಗಿ ಡೀಮನ್ ಇದನ್ನು ಮಾಡಲಾರದು ಎನ್ನುತ್ತದೆ, ಅದು ಅರ್ಧ ಮಾತ್ರ ನಿಜ: OpenVPN ಗೆ ಪ್ರತಿ-ಕ್ಲೈಂಟ್ ಫೈರ್‌ವಾಲ್ ಇಲ್ಲ, ಆದರೆ ಟನೆಲ್ ಮುಗಿಸುವ ಹೋಸ್ಟ್ ಈಗಾಗಲೇ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡುತ್ತದೆ. ಮುಖ್ಯವಾದ ಎರಡು ನಿರ್ಧಾರಗಳು ನೀವು ನಿರ್ಬಂಧಿಸುವ ಗುರುತು ಮತ್ತು ನಿಯಮದ ಸ್ಥಾನ. ಇವೆರಡನ್ನು ಸರಿಯಾಗಿ ಮಾಡಿದರೆ ಬದಲಾವಣೆ ಪರೀಕ್ಷಿಸಿ ತೆಗೆಯಬಹುದಾದ ಒಂದು ಸಾಲಾಗುತ್ತದೆ.

ನಿಯಮ ಬರೆಯುವ ಮೊದಲು ಕ್ಲೈಂಟ್ ಅನ್ನು ಪಿನ್ ಮಾಡಿ

OpenVPN ಪೂಲ್‌ನಿಂದ ಟನೆಲ್ ವಿಳಾಸಗಳನ್ನು ಬಾಡಿಗೆಗೆ ನೀಡುತ್ತದೆ, ಆದ್ದರಿಂದ 10.8.0.6 ವ್ಯಕ್ತಿಯಲ್ಲ, ಆಸನ. ಸೆಷನ್ ಮುಗಿದಾಗ ಬಾಡಿಗೆ ಹಿಂತಿರುಗುತ್ತದೆ ಮತ್ತು ಮುಂದಿನ ಸಂಪರ್ಕಕ್ಕೆ ನೀಡಬಹುದು, ಅಂದರೆ ಆ ವಿಳಾಸದ ವಿರುದ್ಧ ಬರೆದ ನಿಯಮ ಆಸನವನ್ನು ಅನುಸರಿಸುತ್ತದೆ, ಬಳಕೆದಾರನನ್ನಲ್ಲ. ಆದ್ದರಿಂದ ಮೊದಲು ನೀವು ನಿಜವಾಗಿ ಏನನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತೀರಿ ಎಂದು ನಿರ್ಧರಿಸಿ: ಸಣ್ಣ ಪ್ರಯೋಗಕ್ಕೆ ವಿಳಾಸ, ಅಥವಾ ಹೊರಗಿಡಲು ಬಯಸುವವರ ಪ್ರಮಾಣಪತ್ರ.

ವಿಳಾಸವನ್ನು ಪ್ರಮಾಣಪತ್ರಕ್ಕೆ ಬಂಧಿಸಲು, client-config-dir ಹೆಸರಿಸುವ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಫೈಲ್ ರಚಿಸಿ ಮತ್ತು ಫೈಲ್‌ಗೆ ಪ್ರಮಾಣಪತ್ರದ common name ಅನ್ನು ನಿಖರವಾಗಿ ನೀಡಿ. ಅದರಲ್ಲಿ ಒಂದು ನಿರ್ದೇಶವನ್ನು ಇರಿಸಿ, ifconfig-push 10.8.0.6 255.255.255.0, ಮತ್ತು ಆ ಕ್ಲೈಂಟ್ ಮರುಸಂಪರ್ಕದಲ್ಲೂ ಅದೇ ಟನೆಲ್ ವಿಳಾಸವನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಇದು ಜಾರಿಗೆ ಬರಲು ಎರಡು ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಇರಬೇಕು: ಸರ್ವರ್ ಸಂರಚನೆಯಲ್ಲಿ client-config-dir ಘೋಷಿಸಲ್ಪಡಬೇಕು, ಮತ್ತು ಕಳುಹಿಸುವ ವಿಳಾಸ ಸರ್ವರ್ ರೂಟ್ ಮಾಡಬಲ್ಲ ಸಬ್‌ನೆಟ್‌ನಲ್ಲಿರಬೇಕು. ಒಂದು ತಪ್ಪಿದರೆ ಫೈಲ್ ಯಾವುದೇ ದೋಷವಿಲ್ಲದೆ ನಿರ್ಲಕ್ಷಿಸಲ್ಪಡುತ್ತದೆ, ಇದು ಮುಂದಿನ ಫೈರ್‌ವಾಲ್ ಪರೀಕ್ಷೆಯನ್ನು ದಾರಿತಪ್ಪಿಸುತ್ತದೆ.

ತಾತ್ಕಾಲಿಕ ನಿರ್ಬಂಧವು ಪೂಲ್ ವಿಳಾಸವನ್ನು ಬಳಸಬಹುದು, ಆ ಸಮಯದಲ್ಲಿ ಯಾವ ಸೆಷನ್ ಅದನ್ನು ಹೊಂದಿತ್ತು ಎಂದು ಟಿಕೆಟ್ ದಾಖಲಿಸಿದರೆ ಸಾಕು.

ಕ್ರಮವು ಡ್ರಾಪ್ ಚಲಿಸುತ್ತದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ

ಟನೆಲ್ ಮತ್ತು LAN ನಡುವೆ ಫಾರ್ವರ್ಡ್ ಮಾಡುವ Linux ಗೇಟ್‌ವೇಯಲ್ಲಿ ಪ್ಯಾಕೆಟ್‌ಗಳು FORWARD ಸರಪಣಿಯನ್ನು ದಾಟುತ್ತವೆ. ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ವಾಕ್ಯವಾಗಿ ಓದಿ: FORWARD ನ ಮುಂಭಾಗದಲ್ಲಿ ಸೇರಿಸಿ, tun0 ನಿಂದ ಬರುವ, ಅದೇ ಒಂದು ಹೋಸ್ಟ್‌ನಿಂದ, LAN ಸಬ್‌ನೆಟ್‌ಗೆ ಗುರಿಯಾದ ಸಂಚಾರವನ್ನು ಹೊಂದಿಸಿ ಬಿಡಿ.

iptables -I FORWARD -i tun0 -s 10.8.0.6/32 -d 192.168.1.0/24 -j DROP

-I ನಿಯಮವನ್ನು ಚಲಾಯಿಸುತ್ತದೆ. -A ನೊಂದಿಗೆ ಸೇರಿಸಿದರೆ ಅದು ಟನೆಲ್ ಸಬ್‌ನೆಟ್‌ಗೆ ಇರುವ ಯಾವುದೇ ವಿಶಾಲ ಅನುಮತಿಯ ಕೆಳಗೆ ಬೀಳುತ್ತದೆ ಮತ್ತು ಎಂದೂ ಪ್ಯಾಕೆಟ್ ನೋಡುವುದಿಲ್ಲ. ಸ್ಥಾನವನ್ನು iptables -vnL FORWARD --line-numbers ನಿಂದ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಕೌಂಟರ್‌ಗಳನ್ನೂ ಓದಿ: ಮೇಲಿನ ಡ್ರಾಪ್ ಏನನ್ನೂ ಎಣಿಸದಿದ್ದರೆ ಸಂಚಾರ ಬೇರೆ ಮಾರ್ಗದಿಂದ ಬರುತ್ತಿದೆ.

ಗೇಟ್‌ವೇಯ ಸ್ವಂತ LAN ವಿಳಾಸ ಬೇರೆ ಮಾರ್ಗ. ಪೆಟ್ಟಿಗೆಗೇ ಕಳುಹಿಸಿದ ಪ್ಯಾಕೆಟ್‌ಗಳು INPUT ಗೆ ಹೋಗುತ್ತವೆ, FORWARD ಗೆ ಅಲ್ಲ, ಆದ್ದರಿಂದ ಕ್ಲೈಂಟ್ LAN ಹೋಸ್ಟ್ ಕಳೆದುಕೊಂಡರೂ ರೌಟರ್‌ನ ನಿರ್ವಾಹಕ ಪುಟ ತೆರೆಯಬಹುದು. ಅದು ಮುಖ್ಯವಾದಾಗ ಹೊಂದಿಕೆಯಾಗುವ INPUT ನಿಯಮ ಸೇರಿಸಿ.

ಫಿಲ್ಟರ್ ನೋಡಲಾಗದ್ದು

ಫಿಲ್ಟರಿಂಗ್ ಪ್ಯಾಕೆಟ್ ಮೌಲ್ಯಮಾಪನದ ಸಮಯದಲ್ಲಿ ನಡೆಯುತ್ತದೆ, ಆದ್ದರಿಂದ ಸ್ಥಾಪಿತ TCP ಸೆಷನ್ ಮುಚ್ಚುವವರೆಗೆ ಅಥವಾ ಮರುಹೊಂದಿಸುವವರೆಗೆ ಮುಂದುವರಿಯಬಹುದು. ನಿರ್ಬಂಧ ತಕ್ಷಣ ಪರಿಣಾಮ ಬೀರಬೇಕಾದರೆ, ನಿಯಮ ಸೇರಿಸಿದ ನಂತರ ಆ ಮೂಲದ ಟ್ರ್ಯಾಕ್ ಮಾಡಿದ ಹರಿವುಗಳನ್ನು conntrack -D -s 10.8.0.6 ನಿಂದ ಅಳಿಸಿ. ಕೆಲವು ಸೆಕೆಂಡುಗಳ ಅತಿಕ್ರಮಣ ಸ್ವೀಕಾರಾರ್ಹವಾದರೆ ಆ ಆಯ್ಕೆಯನ್ನು ದಾಖಲಿಸಿ, ಸೂಚ್ಯವಾಗಿ ಬಿಡಬೇಡಿ. ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ, ಮುಂದಿನ ವ್ಯಕ್ತಿ ಈ ನಿಯಮ ಜೀವಂತ ಸಂಚಾರವನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆಯೇ ಅಥವಾ ಹೊಸ ಸಂಪರ್ಕಗಳನ್ನಷ್ಟೇ ಎಂದು ತಿಳಿಯಬೇಕು.

ಪೀರ್‌ಗಳ ನಡುವಿನ ಸಂಚಾರ ಎಂದೂ ಹೋಸ್ಟ್ ಫೈರ್‌ವಾಲ್ ಅನ್ನು ಮುಟ್ಟುವುದಿಲ್ಲ. client-to-client ಸಕ್ರಿಯವಾದಾಗ OpenVPN ಆ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಡೀಮನ್ ಒಳಗೆ ರವಾನಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ FORWARD ಅಥವಾ INPUT ಅವನ್ನು ನೋಡುವುದಿಲ್ಲ. ಏಕೈಕ ಪರಿಹಾರ client-to-client ಆಫ್ ಮಾಡುವುದು ಅಥವಾ ಪೀರ್‌ಗಳು ಪರಸ್ಪರ ತಲುಪಬಹುದು ಎಂದು ಒಪ್ಪುವುದು; iptables ನಿಯಮ ಆ ಸಂಚಾರವನ್ನು ನೋಡುವುದಿಲ್ಲ.

IPv6, ಫರ್ಮ್‌ವೇರ್ ಮತ್ತು ಮರುಬೂಟ್ ನಂತರ ಉಳಿಯುವಿಕೆ

IPv4 ನಿಯಮ IPv6 ಬಗ್ಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ. ಟನೆಲ್ ಮತ್ತು LAN ಎರಡೂ ಕುಟುಂಬಗಳನ್ನು ಸಾಗಿಸಿದರೆ, ಸಮಾನ ನಿಯಮ ip6tables ನಲ್ಲಿ ಅಥವಾ ಆ ಹೋಸ್ಟ್‌ನಲ್ಲಿ ನೀತಿ ಹೊಂದಿರುವ nftables ನಿಯಮ ಗುಂಪಿನಲ್ಲಿ ಇರಬೇಕು. ರೌಟರ್ ಫರ್ಮ್‌ವೇರ್ ಸಾಮಾನ್ಯವಾಗಿ netfilter ಅನ್ನು ತನ್ನದೇ ಅಮೂರ್ತತೆಯ ಹಿಂದೆ ಮರೆಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಫೋರಂನಿಂದ ನಕಲಿಸಿದ ವಾಕ್ಯರಚನೆ ಮತ್ತು ಕೋಷ್ಟಕ ಹೆಸರುಗಳು ಅನ್ವಯಿಸದೇ ಇರಬಹುದು.

OpenWrt ನಲ್ಲಿ ದಾಖಲಾದ ಮಾರ್ಗ ಫೈರ್‌ವಾಲ್ ಸಂರಚನಾ ನಮೂದು, ಕೈಬರಹದ iptables ಸಾಲಲ್ಲ, ಮತ್ತು ಕೈಬರಹದ ಸಾಲು ಫೈರ್‌ವಾಲ್ ಮರುಲೋಡ್ ಆದಾಗ ಮಾಯವಾಗಬಹುದು. ಇತರ ವಿತರಣೆಗಳು ನಿಯಮಗಳನ್ನು netfilter-persistent, ಬೂಟ್ ಘಟಕ ಅಥವಾ ಮಾರಾಟಗಾರರ ಶೇಖರಣೆಯ ಮೂಲಕ ಮರುಸ್ಥಾಪಿಸುತ್ತವೆ, ಮತ್ತು ಆ ಕಾರ್ಯವಿಧಾನಗಳು ಪರಸ್ಪರ ಬದಲಾಯಿಸಲಾಗದವು. ನೀವು ಆಯ್ಕೆ ಮಾಡಿದ್ದನ್ನು ಮರುಬೂಟ್‌ನಿಂದ ಸಾಬೀತು ಮಾಡಿ, ಏಕೆಂದರೆ ಮರುಲೋಡ್ ಬೇರೆ ಮಾರ್ಗವನ್ನು ಅಭ್ಯಾಸ ಮಾಡುತ್ತದೆ.

ಮಾರ್ಗದ ಪ್ರಕಾರ ಪರಿಶೀಲಿಸಿ, ನಂತರ ಸ್ವಚ್ಛವಾಗಿ ಹಿಂತಿರುಗಿಸಿ

ಪ್ರತಿ ಮಾರ್ಗವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರೀಕ್ಷಿಸಿ, ಏಕೆಂದರೆ ಒಂದು ಯಶಸ್ವಿ ಪರಿಶೀಲನೆ ಉಳಿದವನ್ನು ಮರೆಮಾಡುತ್ತದೆ. ನಿರ್ಬಂಧಿತ ಕ್ಲೈಂಟ್ ಟನೆಲ್ ಮೂಲಕ ಇಂಟರ್ನೆಟ್ ತಲುಪಬೇಕು ಆದರೆ LAN ಹೋಸ್ಟ್ ವಿರುದ್ಧ ವಿಫಲವಾಗಬೇಕು, ಎರಡನೇ ಕ್ಲೈಂಟ್ ಅದೇ ಹೋಸ್ಟ್ ತಲುಪಬೇಕು, ಮತ್ತು ಗೇಟ್‌ವೇ ವಿಳಾಸ ಹಾಗೂ ಪೀರ್ ಮಾರ್ಗ ಪ್ರತಿಯೊಂದಕ್ಕೂ ತನ್ನದೇ ವೀಕ್ಷಣೆ ಬೇಕು. ಫಲಿತಾಂಶಗಳನ್ನು ನಿಯಮದ ಪಕ್ಕದಲ್ಲಿ ಬರೆಯಿರಿ, ಮುಂದಿನ ಬದಲಾವಣೆಗೆ ಆಧಾರ ಸಿಗುತ್ತದೆ. ಕೆಳಗಿನ ಕೋಷ್ಟಕ ಟಿಕೆಟ್‌ನಲ್ಲಿ ಉಳಿಸಲು ಯೋಗ್ಯವಾದ ಗುಂಪು.

ಮಾರ್ಗನಿಯಮದೊಂದಿಗೆ ನಿರೀಕ್ಷಿತವಿಫಲವಾದಾಗ
ನಿರ್ಬಂಧಿತ ಕ್ಲೈಂಟ್‌ನಿಂದ LAN ಹೋಸ್ಟ್‌ಗೆಯಾವುದೇ ಉತ್ತರವಿಲ್ಲನಿಯಮ ಅನುಮತಿಯ ಕೆಳಗಿದೆ, ಅಥವಾ ಮೂಲ ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ
ನಿರ್ಬಂಧಿತ ಕ್ಲೈಂಟ್‌ನಿಂದ ಇಂಟರ್ನೆಟ್‌ಗೆtun0 ಮೂಲಕ ಕೆಲಸ ಮಾಡುತ್ತದೆನಿಯಮ ತುಂಬಾ ವಿಶಾಲ, ಗಮ್ಯಸ್ಥಾನ ಹೊಂದಿಕೆಯಿಲ್ಲ
ಎರಡನೇ ಕ್ಲೈಂಟ್ ಅದೇ LAN ಹೋಸ್ಟ್‌ಗೆಕೆಲಸ ಮಾಡುತ್ತದೆನಿಯಮ ಉದ್ದೇಶಿತ ಹೋಸ್ಟ್‌ಗಿಂತ ಹೆಚ್ಚನ್ನು ಹೊಂದಿಸಿತು
ನಿರ್ಬಂಧಿತ ಕ್ಲೈಂಟ್‌ನಿಂದ ಗೇಟ್‌ವೇಯ LAN ವಿಳಾಸಕ್ಕೆಹೊಂದಿಕೆಯಾಗುವ INPUT ನಿಯಮದೊಂದಿಗೆ ಮಾತ್ರ ನಿರ್ಬಂಧಿತINPUT ನಿಯಮ ಇಲ್ಲ
ನಿರ್ಬಂಧಿತ ಕ್ಲೈಂಟ್‌ನಿಂದ ಪೀರ್ ಟನೆಲ್ ವಿಳಾಸಕ್ಕೆಇನ್ನೂ ಕೆಲಸ ಮಾಡುತ್ತದೆclient-to-client ಸಕ್ರಿಯವಾಗಿದೆ ಮತ್ತು ಫೈರ್‌ವಾಲ್ ವ್ಯಾಪ್ತಿಯ ಹೊರಗಿದೆ

ಹಿಂತಿರುಗಿಸುವುದು ವಿಶೇಷಣದ ಪ್ರಕಾರ ಅಳಿಸುವುದು, ಫ್ಲಶ್ ಅಲ್ಲ: iptables -D FORWARD -i tun0 -s 10.8.0.6/32 -d 192.168.1.0/24 -j DROP ನಿಖರವಾಗಿ ಆ ನಮೂದನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ ಮತ್ತು ಸರಪಣಿಯ ಉಳಿದ ಭಾಗವನ್ನು ಅಖಂಡವಾಗಿ ಬಿಡುತ್ತದೆ. ಬೂಟ್‌ನಲ್ಲಿ ನಿಯಮಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸುವ ಯಾವುದೇ ಫೈಲ್‌ನಿಂದ ಅದೇ ಸಾಲನ್ನು ತೆಗೆಯಿರಿ, ಅದನ್ನು ಮರುಲೋಡ್ ಮಾಡಿ, ಮತ್ತು ಕ್ಲೈಂಟ್ ಮತ್ತೆ LAN ಹೋಸ್ಟ್ ತಲುಪುತ್ತದೆ ಎಂದು ದೃಢೀಕರಿಸಿ. FORWARD ಅನ್ನು ಫ್ಲಶ್ ಮಾಡಿದರೆ ನೀವು ಬರೆಯದ ನಿಯಮಗಳೂ ರದ್ದಾಗುತ್ತವೆ, ಇದು ಹಿಂತಿರುಗಿಸುವಿಕೆಯನ್ನು ಎರಡನೇ ಘಟನೆಯಾಗಿಸುತ್ತದೆ.

ಟಿಕೆಟ್ ಮುಚ್ಚುವ ಮೊದಲು ಮೂರು ವಿಷಯಗಳನ್ನು ದೃಢೀಕರಿಸಿ: ಪಿನ್ ಮಾಡಿದ ವಿಳಾಸ ಪ್ರಮಾಣಪತ್ರಕ್ಕೆ ಹೊಂದುತ್ತದೆ, ನಿಯಮ ಅನುಮತಿಗಳ ಮೇಲಿದೆ ಮತ್ತು ಕೌಂಟರ್ ಶೂನ್ಯವಲ್ಲ, ಮತ್ತು ಸ್ಥಿರತೆ ಫೈಲ್ ನೀವು ಪರೀಕ್ಷಿಸಿದ ಅದೇ ನಿಯಮವನ್ನು ಹೊಂದಿದೆ. ಇವುಗಳಲ್ಲಿ ಒಂದು ಇಲ್ಲದಿದ್ದರೆ, ನಿರ್ಬಂಧ ಶೆಲ್ ಸೆಷನ್‌ನ ಭ್ರಮೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು