OpenVPN ಮಾರ್ಗವು strongSwan XFRM ನೀತಿಗೆ ಏಕೆ ಸೋಲುತ್ತದೆ
ನಿರ್ದಿಷ್ಟ OpenVPN ಮಾರ್ಗವು XFRM ನೀತಿಯನ್ನು ಮೀರಿಸುವುದಿಲ್ಲ: ಮಾರ್ಗ ಮತ್ತು ನೀತಿಯ ಆಯ್ಕೆಗಾರರನ್ನು ಓದಿ, ನಂತರ ಕಿರಿದಾಗಿಸಿ, ಹೊರತುಪಡಿಸಿ ಅಥವಾ XFRM ಇಂಟರ್ಫೇಸ್ಗೆ ಹೋಗಿ.
ಪ್ಯಾಕೆಟ್ಗಳು OpenVPN ಮಾರ್ಗವನ್ನು ಅನುಸರಿಸಿಯೂ IPsec ನೀತಿಯಿಂದ ಸೆಳೆಯಲ್ಪಡಬಹುದು, ಮತ್ತು ಈ ಸಂಯೋಜನೆ ಸರಿಯಾದ ಕೋನವನ್ನು ಹೊರತುಪಡಿಸಿ ಎಲ್ಲಾ ಕೋನಗಳಿಂದಲೂ ರೂಟಿಂಗ್ ದೋಷದಂತೆ ಕಾಣುತ್ತದೆ. Linux ಮಾರ್ಗವನ್ನು ಪರಿಹರಿಸಿ ನಂತರ ಪ್ರತ್ಯೇಕ ಭದ್ರತಾ ನೀತಿ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಸಂಪರ್ಕಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಹೆಚ್ಚು ನಿರ್ದಿಷ್ಟ ಗಮ್ಯ ಮಾರ್ಗವು ಹೊಂದಿಕೆಯಾಗುವ XFRM ನೀತಿಯನ್ನು ಸ್ಥಳಾಂತರಿಸುವುದಿಲ್ಲ. ಕಾಣುವ ಲಕ್ಷಣವೆಂದರೆ ಹೋಸ್ಟ್ ಬಿಟ್ಟು ಎಂದಿಗೂ ತಲುಪದ ಸಂಚಾರ, ಆದರೆ ಎರಡೂ ಸುರಂಗಗಳು ತಾವು ಆರೋಗ್ಯವಾಗಿವೆ ಎಂದು ವರದಿ ಮಾಡುತ್ತವೆ. ಮೂರು ಆಯ್ಕೆಗಳು ಅದನ್ನು ಪರಿಹರಿಸುತ್ತವೆ, ಮತ್ತು ಯಾವುದನ್ನು ಆರಿಸುತ್ತೀರಿ ಎಂಬುದು ಆ ಎರಡು ಮಾರ್ಗಗಳಲ್ಲಿ ಯಾವುದು ಆ ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಹೊತ್ತುಕೊಳ್ಳಬೇಕು ಎಂಬುದನ್ನು ಅವಲಂಬಿಸಿದೆ.
ಎರಡು ನಿರ್ಧಾರಗಳು, ಒಂದಲ್ಲ
ಮಾರ್ಗ ಆಯ್ಕೆ ಕಿರಿದಾದ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ: ಯಾವ ಮುಂದಿನ ಹಾಪ್ ಮತ್ತು ಮೂಲ ವಿಳಾಸವು ಈ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಹೊತ್ತುಕೊಳ್ಳಬೇಕು. ಭದ್ರತಾ ನೀತಿ ಡೇಟಾಬೇಸ್ ಇನ್ನೊಂದಕ್ಕೆ ಉತ್ತರಿಸುತ್ತದೆ: ಈ ಪ್ಯಾಕೆಟ್ಗೆ IPsec ರಕ್ಷಣೆ ಬೇಕೇ, ಮತ್ತು ಯಾವ ಆಯ್ಕೆಗಾರರ ಅಡಿಯಲ್ಲಿ. ಎರಡೂ ಒಂದೇ ಪ್ಯಾಕೆಟ್ಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ, ಮತ್ತು ಮೊದಲನೆಯದನ್ನು ಪೂರೈಸುವುದು ಎರಡನೆಯದರ ಬಗ್ಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ ಮೆಟ್ರಿಕ್ ಬದಲಾಯಿಸುವುದು ಅಥವಾ ಸ್ಥಿರ ಮಾರ್ಗ ಸೇರಿಸುವುದು ಲಕ್ಷಣವನ್ನು ಬದಲಾಗದೆ ಬಿಡಬಹುದು.
ಅಗಲವಾದ IPsec ಆಯ್ಕೆಗಾರವೇ ಸಾಮಾನ್ಯ ಕಾರಣ. 172.16.0.0/12 ಅನ್ನು ರಕ್ಷಿಸುವ ನೀತಿ 172.20.8.0/24 ಅನ್ನೂ ಆವರಿಸುತ್ತದೆ, ಅಲ್ಲಿಗೆ ನಿರ್ವಾಹಕರು OpenVPN ಸುರಂಗದ ಮೂಲಕ ತಲುಪಲು ಉದ್ದೇಶಿಸಿರಬಹುದು. ಉದ್ದೇಶ ಇರುವುದು ರೂಟಿಂಗ್ ಕೋಷ್ಟಕದಲ್ಲಿ ಮಾತ್ರ, ಮತ್ತು ನೀತಿ ಡೇಟಾಬೇಸ್ ಅದನ್ನು ಎಂದೂ ತಿಳಿದಿರಲಿಲ್ಲ.
ಇದನ್ನು ಎರಡು ಮೆಟ್ರಿಕ್ಗಳ ಸ್ಪರ್ಧೆಯಲ್ಲ, ಸಂರಚಿಸಿದ ಎರಡು ರಕ್ಷಣಾ ಮಾರ್ಗಗಳ ನಡುವಿನ ಸಂಘರ್ಷವಾಗಿ ಪರಿಗಣಿಸಿ. ಸರಿಪಡಿಸುವಿಕೆ ತಪ್ಪು ವ್ಯಾಪ್ತಿಯೊಂದಿಗೆ ಸಂರಚಿಸಲ್ಪಟ್ಟ ಘಟಕಕ್ಕೆ ಸೇರಿದೆ.
ಕರ್ನಲ್ ನಿಜವಾಗಿ ಆರಿಸುವ ಮಾರ್ಗವನ್ನು ಓದಿ
ಕರ್ನಲ್ ಮಾಡುವ ಹುಡುಕಾಟದಿಂದ ಪ್ರಾರಂಭಿಸಿ, ಮೂಲ ವಿಳಾಸ ಮತ್ತು ಅದನ್ನು ಇನ್ನೊಂದು ಕೋಷ್ಟಕಕ್ಕೆ ಬದಲಿಸಬಹುದಾದ ಯಾವುದೇ ನೀತಿ ನಿಯಮ ಸೇರಿದಂತೆ. ಹಿಂದಿನ ನಿಯಮ ಬೇರೆ ಕೋಷ್ಟಕವನ್ನು ಆರಿಸಿದರೆ ಮುಖ್ಯ ಕೋಷ್ಟಕದ ಮಾರ್ಗವನ್ನು ಎಂದೂ ಪರಿಗಣಿಸದೇ ಇರಬಹುದು, ಮತ್ತು ಉದ್ದವಾದ ಪೂರ್ವಪ್ರತ್ಯಯದ ಹೊಂದಾಣಿಕೆ ನಿಯಮ ಆರಿಸುವ ಕೋಷ್ಟಕದೊಳಗೆ ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತದೆ.
ip rule show
ip route show table all
ip route get 172.20.8.20 from 10.44.7.15
ಕೊನೆಯ ಆಜ್ಞೆಯೇ ಮುಖ್ಯವಾದುದು, ಏಕೆಂದರೆ ಅದು ಆರಿಸಿದ ಮಾರ್ಗವನ್ನು ಕರ್ನಲ್ ಬಳಸುವ ಮೂಲ ವಿಳಾಸದೊಂದಿಗೆ ಮುದ್ರಿಸುತ್ತದೆ. ಆ ಔಟ್ಪುಟ್ ಅನ್ನು IPsec ನೀತಿ ಹೊಂದಿಕೆಯಾಗುವ ಆಯ್ಕೆಗಾರರೊಂದಿಗೆ ಹೋಲಿಸಿ. ಮಾರ್ಗವು OpenVPN ಇಂಟರ್ಫೇಸ್ಗೆ ತೋರಿಸಿದಾಗ ಮತ್ತು ನೀತಿ ಇನ್ನೂ ಅದೇ ಜೋಡಿಗೆ ಹೊಂದಿಕೆಯಾದಾಗ, ನೀವು ಊಹಿಸದೆಯೇ ಸಂಘರ್ಷವನ್ನು ಮರುಸೃಷ್ಟಿಸಿದ್ದೀರಿ.
ಟಿಕೆಟ್ ತಲುಪುವ ಮೊದಲು ಡಂಪ್ಗಳನ್ನು ಅಸಂಬಂಧಿತ ವಿಳಾಸಗಳಿಂದ ಮುಕ್ತವಾಗಿರಿಸಿ. ಉತ್ಪಾದನಾ ಹೋಸ್ಟ್ನ ರೂಟಿಂಗ್ ಕೋಷ್ಟಕವು ಆಂತರಿಕ ಟೋಪಾಲಜಿಯನ್ನು ಹೊತ್ತಿರುತ್ತದೆ, ಮತ್ತು ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುವ ಸಾಲುಗಳಷ್ಟೇ ಅಂಟಿಸಲು ಯೋಗ್ಯ.
ಸಹ ಅನ್ವಯವಾಗುವ ನೀತಿಯನ್ನು ಓದಿ
ನೀತಿ ಪಟ್ಟಿ ದಿಕ್ಕು, ಆಯ್ಕೆಗಾರರು ಮತ್ತು ಹೊಂದಿಕೆಯಾಗುವ ಪ್ಯಾಕೆಟ್ಗೆ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುವ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ತೋರಿಸುತ್ತದೆ. ಮೊದಲು ಹೊರಹೋಗುವ ದಿಕ್ಕನ್ನು ಓದಿ, ನಂತರ ಮರಳು ಸಂಚಾರಕ್ಕಾಗಿ ಒಳಬರುವ ಬದಿಯನ್ನು, ಏಕೆಂದರೆ ಏಕಮುಖ ಹೊರತುಪಡಿಸುವಿಕೆ ಪ್ರಾರಂಭವಾಗಿ ಎಂದೂ ಪೂರ್ಣಗೊಳ್ಳದ ಸಂಪರ್ಕವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ.
ip -s xfrm policy
swanctl --list-sas
ಪಟ್ಟಿಯಲ್ಲಿನ ಆಯ್ಕೆಗಾರರನ್ನು ಸಂಪರ್ಕವು ಮಾತುಕತೆ ನಡೆಸಿದ ಪೂರ್ವಪ್ರತ್ಯಯಗಳೊಂದಿಗೆ ಹೋಲಿಸಿ. strongSwan ನ ಮಾರ್ಗ ಸ್ಥಾಪನೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವುದು ಆ ನೀತಿಗಳನ್ನು ತೆಗೆಯುವುದಿಲ್ಲ, ಮತ್ತು ಮೆಟ್ರಿಕ್ ಬದಲಾಯಿಸುವುದು ಯಾವ ಮೂಲ-ಗಮ್ಯ ಜೋಡಿಯನ್ನು ನೀತಿ ರಕ್ಷಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಬದಲಾಯಿಸುವುದಿಲ್ಲ. ಆ ಎರಡು ಸುಳ್ಳು ಸರಿಪಡಿಸುವಿಕೆಗಳನ್ನು ಬೇಗನೆ ಹೊರಗಿಡುವುದು ಒಳ್ಳೆಯದು, ಏಕೆಂದರೆ ಜನರು ಮೊದಲು ಅವನ್ನೇ ಪ್ರಯತ್ನಿಸುತ್ತಾರೆ.
ನೀವು ನಿರೀಕ್ಷಿಸಿದ ಪೂರ್ವಪ್ರತ್ಯಯಕ್ಕೆ ಪಟ್ಟಿಯಲ್ಲಿ ಯಾವುದೇ ನೀತಿ ಇಲ್ಲದಿದ್ದರೆ, ಸಮಸ್ಯೆ ಬೇರೆಡೆ ಇದೆ ಮತ್ತು ರೂಟಿಂಗ್ ಕೋಷ್ಟಕ ಬಹುಶಃ ಸತ್ಯವನ್ನು ಹೇಳುತ್ತಿದೆ. ಅದು ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಆವರಿಸುವ ಹೆಚ್ಚು ಅಗಲವಾದ ನೀತಿಯನ್ನು ಹೊಂದಿದ್ದರೆ, ನೀವು ಸೆಳೆತವನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೀರಿ.
ಎರಡೂ ಮಾರ್ಗಗಳು ಕಾನೂನುಬದ್ಧವಾದಾಗ ಮೂರು ಆಯ್ಕೆಗಳು
ಅಗಲವಾದ ಪೂರ್ವಪ್ರತ್ಯಯವು ಅಗತ್ಯವಲ್ಲದೆ ಅನುಕೂಲವಾಗಿದ್ದಾಗ IPsec ಆಯ್ಕೆಗಾರವನ್ನು ಕಿರಿದಾಗಿಸುವುದು ಅತ್ಯಂತ ಸ್ವಚ್ಛ ಆಯ್ಕೆ. ದೂರದ ಸಂಚಾರ ಆಯ್ಕೆಗಾರವನ್ನು ನಿಜವಾಗಿ IPsec ಹಿಂದೆ ಇರುವ ಉಪಜಾಲಗಳಿಗೆ ಇಳಿಸುವುದು ಎಲ್ಲಾ ಹೋಸ್ಟ್ಗಳಿಗೂ ಒಟ್ಟಿಗೆ ಸಂಘರ್ಷವನ್ನು ತೆಗೆಯುತ್ತದೆ, ಮತ್ತು ಅದರ ವೆಚ್ಚ ಹೊಸ ಘಟಕವಲ್ಲ, ಕೀಲಿ ಮರುಮಾತುಕತೆ.
ಅಗಲವಾದ ಆಯ್ಕೆಗಾರ ಉಳಿಯಬೇಕಾದಾಗ ಪಾಸ್ಥ್ರೂ ಹೊರತುಪಡಿಸುವಿಕೆ ಶಸ್ತ್ರಚಿಕಿತ್ಸಾ ಆಯ್ಕೆ. strongSwan ತನ್ನ child pass ಮೋಡ್ ಬಳಸುವ ಪ್ರತ್ಯೇಕ ಸಂಪರ್ಕವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದು ಹೊಂದಿಕೆಯಾಗುವ ಸಂಚಾರವನ್ನು IPsec ಸಂಸ್ಕರಿಸಬಾರದು ಎಂದು ಕರ್ನಲ್ಗೆ ಹೇಳುತ್ತದೆ. ಲೂಪ್ಬ್ಯಾಕ್ ದೂರದ ವಿಳಾಸವು ಆ ಸಂಪರ್ಕವು ಒಳಬರುವ ಸಹಚರರಿಗೆ ಆಯ್ಕೆಯಾಗುವುದನ್ನು ತಡೆಯುತ್ತದೆ, ಮತ್ತು ಆಯ್ಕೆಗಾರರು ಎಲ್ಲವನ್ನೂ ಅಲ್ಲ, ನಿಜವಾದ ಅಧಿಕೃತ ಜೋಡಿಯನ್ನು ವಿವರಿಸಬೇಕು.
connections {
openvpn-exception {
remote_addrs = 127.0.0.1
children {
openvpn-exception {
local_ts = 10.44.7.0/24
remote_ts = 172.20.8.0/24
mode = pass
start_action = trap
}
}
}
}
strongSwan ಸಂರಚನಾ ಉದಾಹರಣೆಗಳು ಈ ನೀತಿ ಪ್ರಕಾರ ಮತ್ತು ಲೂಪ್ಬ್ಯಾಕ್ ಸಹಚರ ಸಂಪ್ರದಾಯವನ್ನು ದಾಖಲಿಸುತ್ತವೆ. ಮೂರನೇ ಆಯ್ಕೆ XFRM ಇಂಟರ್ಫೇಸ್ಗಳೊಂದಿಗೆ ಮಾರ್ಗ ಆಧಾರಿತ ವಿನ್ಯಾಸ ಆಗಿದೆ, ಇದು ನೀತಿಯನ್ನು ಜಾಗತಿಕ ಆಯ್ಕೆಗಾರರ ಬದಲು ಹೆಸರಿಸಿದ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ರೂಟ್ ಆಗುವ ಸಂಚಾರಕ್ಕೆ ಬಂಧಿಸುತ್ತದೆ. ಇದು ಟ್ವೀಕ್ ಅಲ್ಲ, ಸ್ಥಳಾಂತರ, ಮತ್ತು ಸಂಚಾರವು ಇನ್ನೂ ಮಾತುಕತೆಯಾದ ಆಯ್ಕೆಗಾರರನ್ನು ಪೂರೈಸಬೇಕು.
| Option | Use it when | Cost |
|---|---|---|
| Narrow the selector | The broad prefix was convenience | A rekey and a policy review |
| Passthrough child | The broad selector must stay | One exception per intended pair |
| XFRM interface | Policy should follow routing | A design migration |
ಉಳಿದದ್ದನ್ನು ದುರ್ಬಲಗೊಳಿಸದೆ ಹೊರತುಪಡಿಸುವಿಕೆಯನ್ನು ಸಾಬೀತುಪಡಿಸಿ
ಬದಲಾವಣೆ ಲೋಡ್ ಮಾಡಿದ ನಂತರ ಹೊರತುಪಡಿಸುವಿಕೆ ಮತ್ತು ರಕ್ಷಿಸಲ್ಪಡಬೇಕಾದ ಸಾಮಾನ್ಯ ಗಮ್ಯವನ್ನು ಪರೀಕ್ಷಿಸಿ. ಎರಡೂ ದಿಕ್ಕುಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, ನಂತರ OpenVPN ಸುರಂಗವನ್ನು ಬೀಳಿಸಿ ಹೊರತುಪಡಿಸಿದ ಸಂಚಾರಕ್ಕೆ ಏನಾಗುತ್ತದೆ ಎಂದು ದೃಢೀಕರಿಸಿ. ಸುರಂಗ ಕೆಳಗಿದ್ದಾಗ ಆ ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಮೌನವಾಗಿ ಬಯಲಿನಲ್ಲಿ ಕಳುಹಿಸುವ ಹೊರತುಪಡಿಸುವಿಕೆ ಘಟನೆಯ ವೇಳೆ ಕಂಡುಕೊಳ್ಳಬೇಕಾದದ್ದಲ್ಲ, ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ತೆಗೆದುಕೊಳ್ಳಬೇಕಾದ ನೀತಿ ನಿರ್ಧಾರ.
ಯಾವ ಪೂರ್ವಪ್ರತ್ಯಯ ಯಾವ ಮಾರ್ಗವನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಏಕೆ ಎಂದು ದಾಖಲಿಸಿ. ಇಲ್ಲದಿದ್ದರೆ ಅಗಲವಾದ ಆಯ್ಕೆಗಾರವನ್ನು ನೋಡುವ ಮುಂದಿನ ಎಂಜಿನಿಯರ್ ಅದೇ ತನಿಖೆಯನ್ನು ಮತ್ತೆ ತೆರೆಯುತ್ತಾನೆ, ಮತ್ತು ಉತ್ತರ ಯಾರೂ ಓದದ commit ಸಂದೇಶದಲ್ಲಿ ಉಳಿಯುತ್ತದೆ.