AWS Site-to-Site VPN: ಹೊರಗೆ, ಒಳಗೆ ಮತ್ತು LAN ಪ್ರಿಫಿಕ್ಸ್
ಒಂದು AWS VPN ನಲ್ಲಿ ಮೂರು ವಿಳಾಸ ಪಾತ್ರಗಳು ಗೊಂದಲಗೊಳ್ಳುತ್ತವೆ: ಹೊರಗಿನ ಪೀರ್ಗಳು, ಒಳಗಿನ /30 ಕೊಂಡಿ ಮತ್ತು ಸಂರಕ್ಷಿತ LAN ಪ್ರಿಫಿಕ್ಸ್ಗಳು. ಅವನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿದ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ ಓದಿ.
AWS Site-to-Site VPN ನಲ್ಲಿನ ಹೆಚ್ಚಿನ ತಪ್ಪುಗಳು ವಿಳಾಸದ ತಪ್ಪುಗಳು, ಮತ್ತು ಯಾವುದೇ ಪ್ಯಾಕೆಟ್ ಚಲಿಸುವ ಮೊದಲೇ ಅವು ಸಂಭವಿಸುತ್ತವೆ. ಟನೆಲ್ನ ಹೊರಗಿನ ವಿಳಾಸಗಳು IPsec ಪೀರ್ಗಳನ್ನು ತಲುಪುತ್ತವೆ, ಒಳಗಿನ ವಿಳಾಸಗಳು ಅವುಗಳ ನಡುವಿನ ರೂಟಿಂಗ್ ಕೊಂಡಿಯನ್ನು ರೂಪಿಸುತ್ತವೆ, ಮತ್ತು ಸಂರಕ್ಷಿತ ಪ್ರಿಫಿಕ್ಸ್ಗಳು ಆ ಕೊಂಡಿ ಯಾವುದಕ್ಕಾಗಿ ಎಂಬುದು. ಒಂದು ಪಾತ್ರವನ್ನು ಇನ್ನೊಂದಕ್ಕೆ ನಕಲಿಸಿ, ಟನೆಲ್ ಮೇಲೇರುತ್ತದೆ ಆದರೆ ಏನೂ ರೂಟ್ ಆಗುವುದಿಲ್ಲ. BGP ಕಸ್ಟಮರ್ ಗೇಟ್ವೇನಲ್ಲಿ ನಾನು ಬಳಸುವ ಓದು-ಪರಿಶೀಲಿಸು-ಕಾನ್ಫಿಗರ್ ಕ್ರಮ ಇದು, ಮೌಲ್ಯಗಳು ನೆನಪಿನಿಂದ ಅಲ್ಲ, ಡೌನ್ಲೋಡ್ ಮಾಡಿದ ಸಾಧನ ಕಾನ್ಫಿಗರೇಶನ್ನಿಂದ ತೆಗೆದುಕೊಂಡವು.
ಮೂರು ವಿಳಾಸ ಪಾತ್ರಗಳು, ಒಂದು ಟನೆಲ್
ಹೊರಗಿನ ವಿಳಾಸಗಳು ಸಾರ್ವಜನಿಕ ಮತ್ತು IPsec ಪೀರ್ಗಳಿಗೆ ಸೇರಿವೆ: AWS ಬದಿಯಲ್ಲಿ ಪ್ರತಿ ಟನೆಲ್ಗೆ ಒಂದು, ಮತ್ತು ನಿಮ್ಮ ಬದಿಯಲ್ಲಿ ಕಸ್ಟಮರ್ ಗೇಟ್ವೇನ ತಲುಪಬಹುದಾದ ಗುರುತು, ನಿಮ್ಮ ನಿಜವಾದ NAT ವ್ಯವಸ್ಥೆಗೆ ಹೊಂದಿಸಿ. ಒಳಗಿನ ವಿಳಾಸಗಳು ಖಾಸಗಿ ಮತ್ತು ತಾರ್ಕಿಕ ಕೊಂಡಿಗೆ ಸೇರಿವೆ, ಅದನ್ನು AWS 169.254.0.0/16 ರಿಂದ ತೆಗೆದ /30 ಎಂದು ದಾಖಲಿಸುತ್ತದೆ. ಸಂರಕ್ಷಿತ ಪ್ರಿಫಿಕ್ಸ್ಗಳು ಆ ಕೊಂಡಿಯ ಮೇಲೆ ನೀವು ರೂಟ್ ಮಾಡಿ ಪ್ರಕಟಿಸುವ VPC, ಸ್ಥಳೀಯ ಅಥವಾ ಟ್ರಾನ್ಸಿಟ್ ನೆಟ್ವರ್ಕ್ಗಳು.
LAN ಪ್ರಿಫಿಕ್ಸ್ ಅನ್ನು ಟನೆಲ್ ಇಂಟರ್ಫೇಸ್ನ ವಿಳಾಸವಾಗಿ ನಿಗದಿಸುವುದು ಈ ತಪ್ಪಿನ ಕ್ಲಾಸಿಕ್ ರೂಪ. ಇಂಟರ್ಫೇಸ್ ಕಾನ್ಫಿಗರ್ ಆಗಿದ್ದಂತೆ ಕಾಣುತ್ತದೆ, LAN ಪ್ರಕಟವಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಆಚೆಯ ಬದಿಗೆ ಅದಕ್ಕೆ ರೂಟ್ ಇಲ್ಲ. ಟನೆಲ್ ತನ್ನದೇ ಒಳಗಿನ ping ಅನ್ನೂ ದಾಟಬಹುದು, ಆದರೆ ಪ್ರತಿ ಅಪ್ಲಿಕೇಶನ್ ಹೆಸರೂ ಸಮಯ ಮೀರಿ ಹೋಗುತ್ತದೆ. ಟನೆಲ್ ಆಯ್ಕೆಗಳ ಉಲ್ಲೇಖ ಒಳಗಿನ CIDR ನಿರ್ಬಂಧಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ, ಅದು ಯಾವ ವಿಳಾಸ ಶ್ರೇಣಿಯಿಂದ ಬರಬೇಕು ಎಂಬುದೂ ಸೇರಿ.
ಮೌಲ್ಯಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿದ ಕಾನ್ಫಿಗರೇಶನ್ನಿಂದ ಓದಿ
ಸಂಪರ್ಕದಿಂದ ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಸಾಧನ ಮಾದರಿಗೆ ಕಾನ್ಫಿಗರೇಶನ್ ಡೌನ್ಲೋಡ್ ಮಾಡಿ, ನಂತರ ಅದರ ವಿಳಾಸ ಕೋಷ್ಟಕವನ್ನು ಸತ್ಯದ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಿ. ಕನ್ಸೋಲ್ ಪ್ರತಿ ಟನೆಲ್ಗೆ ಅದೇ ಮೌಲ್ಯಗಳನ್ನು ತೋರಿಸುತ್ತದೆ: ಹೊರಗಿನ IP, ಒಳಗಿನ CIDR ಮತ್ತು AWS ಬದಿಯಲ್ಲಿ BGP ಪೀರ್ ವಿಳಾಸ. ಎರಡು ಟನೆಲ್ಗಳು ಪ್ರತ್ಯೇಕ ವಸ್ತುಗಳು, ಪ್ರತ್ಯೇಕ ಹೊರಗಿನ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು ಮತ್ತು ಪ್ರತ್ಯೇಕ ಒಳಗಿನ /30 ಗಳೊಂದಿಗೆ, ಎರಡೂ ಒಂದೇ ಸಂರಕ್ಷಿತ ನೆಟ್ವರ್ಕ್ಗಳನ್ನು ಹೊತ್ತರೂ.
aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
--query 'VpnConnections[0].Options.TunnelOptions[].[OutsideIpAddress,TunnelInsideCidr]'
aws ec2 describe-customer-gateways --customer-gateway-ids cgw-0123456789abcdef0 \
--query 'CustomerGateways[0].[IpAddress,BgpAsn]'ಡೌನ್ಲೋಡ್ ಮಾಡಿದ ಫೈಲ್ ಮತ್ತು ಲೈವ್ ಕನ್ಸೋಲ್ ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ ಫೈಲ್ ಹಳೆಯದು. ವಿಳಾಸಗಳನ್ನು ಕೈಯಿಂದ ಸಂಪಾದಿಸುವ ಬದಲು ಮತ್ತೆ ಡೌನ್ಲೋಡ್ ಮಾಡಿ, ಏಕೆಂದರೆ ಒಳಗಿನ ಜೋಡಿ ಮತ್ತು ಪೀರ್ನ ಕಾನ್ಫಿಗರ್ ಆದ ನೆರೆಯ ನಡುವಿನ ವ್ಯತ್ಯಾಸ ಮೌನ BGP ವೈಫಲ್ಯ.
ಸರಿಯಾದ ವಿಳಾಸ ಹಾಕಿ ಕೊಂಡಿ ನಿರ್ಮಿಸಿ
Linux ಗೇಟ್ವೇನಲ್ಲಿ ಟನೆಲ್ VTI ಅಥವಾ XFRM ಇಂಟರ್ಫೇಸ್, ಮತ್ತು ಒಳಗಿನ /30 ಆ ಇಂಟರ್ಫೇಸ್ಗೆ ಹೋಗುತ್ತದೆ. ಎರಡು ಟನೆಲ್ ಎಂದರೆ ಎರಡು ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ಎರಡು BGP ನೆರೆಹೊರೆಯವರು, ಪ್ರತಿ AWS ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಒಬ್ಬರು. AWS ಡೌನ್ಲೋಡ್ ಮಾಡಿದ ಸಾಧನ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ ಮುದ್ರಿಸುವ ಸಂಪ್ರದಾಯ ವರ್ಚುವಲ್ ಖಾಸಗಿ ಗೇಟ್ವೇವನ್ನು ಪ್ರತಿ ಒಳಗಿನ /30 ರ ಮೊದಲ ವಿಳಾಸಕ್ಕೆ ಮತ್ತು ನಿಮ್ಮ ಕಸ್ಟಮರ್ ಗೇಟ್ವೇವನ್ನು ಎರಡನೆಯದಕ್ಕೆ ಇಡುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಎತ್ತರದ ವಿಳಾಸ ತೆಗೆದುಕೊಂಡು ಕೆಳಗಿನದರೊಂದಿಗೆ ಪೀರ್ ಮಾಡುತ್ತೀರಿ. ಇಲ್ಲಿ ಯಾವುದಕ್ಕೂ LAN ವಿಳಾಸ ಬೇಕಿಲ್ಲ.
ip tunnel add tun0 mode vti local 203.0.113.10 remote 18.230.1.1 key 42
ip addr add 169.254.10.2/30 dev tun0
ip link set tun0 up mtu 1400
ip tunnel add tun1 mode vti local 203.0.113.10 remote 18.230.2.1 key 43
ip addr add 169.254.10.6/30 dev tun1
ip link set tun1 up mtu 1400ನಿಮ್ಮ ಸಾಧನ ಮಾದರಿಯ ಫೈಲ್ ವಿರುದ್ಧ ಜೋಡಿ ಮುದ್ರಿಸಿದರೆ, ಅದರ ಸಂಖ್ಯೆಗಳನ್ನು ಬಳಸಿ ಮತ್ತು ನಿಯಮ ಉಳಿಸಿಕೊಳ್ಳಿ: ಇಂಟರ್ಫೇಸ್ನ ವಿಳಾಸ ನಿಮ್ಮದು, ಪೀರ್ ವಿಳಾಸ AWS ನದು. ಇದನ್ನು ಉಲ್ಟಾ ಮಾಡಿದರೆ ಎಂದಿಗೂ Established ತಲುಪದ ಟನೆಲ್ ಉಂಟಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ನೀವು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ನೆರೆಯವರು ನಿಮ್ಮದೇ ಇಂಟರ್ಫೇಸ್ ಈಗಾಗಲೇ ಹೊಂದಿರುವ ವಿಳಾಸ.
mark ಮತ್ತು VTI ಕೀಲಿಯನ್ನು IKE ಡೀಮನ್ ಚೈಲ್ಡ್ SA ಅನ್ನು ಇಂಟರ್ಫೇಸ್ಗೆ ಬಂಧಿಸಲು ಬಳಸುವುದರೊಂದಿಗೆ ಹೊಂದಿಸಿ ಇಡಿ, ಇಲ್ಲದಿದ್ದರೆ ಸಂಚಾರ ಟನೆಲ್ಗೆ ಬರುತ್ತದೆ ಆದರೆ ಇಳಿಯಲು ಇಂಟರ್ಫೇಸ್ ಇರುವುದಿಲ್ಲ. ಬೇರೆ ಸೈಟ್ನಿಂದ ಸಂಖ್ಯೆ ನಕಲಿಸುವ ಬದಲು MTU ಅನ್ನು ಮಾರ್ಗ ಮತ್ತು IKE ಡೀಮನ್ನ ಸ್ವಂತ ಸೆಟ್ಟಿಂಗ್ಗಳ ವಿರುದ್ಧ ಪರಿಶೀಲಿಸಿ.
ರೂಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಮೊದಲು BGP ಪರಿಶೀಲಿಸಿ
IPsec ಮೇಲೇರಿದ್ದು ಪೀರ್ಗಳು ಭದ್ರತಾ ಸಂಘದ ಬಗ್ಗೆ ಒಪ್ಪಿಗೆ ಇದ್ದಾರೆ ಎಂದು ಸಾಬೀತು ಮಾಡುತ್ತದೆ, ಬೇರೇನೂ ಇಲ್ಲ. BGP ಅಧಿವೇಶನ ಒಳಗಿನ ಕೊಂಡಿಯ ಮೇಲೆ ಪ್ರತ್ಯೇಕ ಮಾತುಕತೆ, ಆದ್ದರಿಂದ ನೆರೆಯವರ ಸ್ಥಿತಿ ಮತ್ತು ಪ್ರಿಫಿಕ್ಸ್ ಕೌಂಟರ್ಗಳನ್ನು ಓದಿ, ನಂತರ ನೀವು ಪ್ರಕಟಿಸಲು ಉದ್ದೇಶಿಸಿದ್ದರೊಂದಿಗೆ ಹೋಲಿಸಿ.
ip -s addr show dev tun0
vtysh -c 'show bgp summary'
vtysh -c 'show bgp neighbors 169.254.10.1'
vtysh -c 'show ip bgp neighbors 169.254.10.1 advertised-routes'Established ಸ್ಥಿತಿ ಮತ್ತು ಶೂನ್ಯ ಪ್ರಿಫಿಕ್ಸ್ ಸ್ವೀಕರಿಸಿದ್ದು ನೀತಿ ಅಥವಾ ಪ್ರಕಟಣೆಯ ಸಮಸ್ಯೆ, ಟನೆಲ್ನದಲ್ಲ. ಇಡೀ ಪರಿಶೀಲನೆಯನ್ನು ಎರಡನೇ ಟನೆಲ್ನಲ್ಲಿ ಪುನರಾವರ್ತಿಸಿ; ಕೆಲಸ ಮಾಡುವ ಮೊದಲ ಟನೆಲ್ ವಿಳಾಸಗಳು ನಂಬಲರ್ಹ ಎಂದು ಹೇಳುತ್ತದೆ, ಎರಡನೇ ಟನೆಲ್ ಕಾನ್ಫಿಗರ್ ಆಗಿದೆ ಎಂದಲ್ಲ.
ರೂಟ್ ಆದ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಅನುಸರಿಸಿ, ನಂತರ ನಿಲ್ಲಿಸಿ
ಅಧಿವೇಶನ ಪ್ರಿಫಿಕ್ಸ್ಗಳನ್ನು ಹೊತ್ತ ನಂತರ, ಗೇಟ್ವೇನಿಂದ ಎರಡೂ ದಿಕ್ಕುಗಳಲ್ಲಿ ಮಾರ್ಗವನ್ನು ಪರೀಕ್ಷಿಸಿ: ಮೂಲ ವಿಳಾಸ, ಮುಂದಿನ ಹಾಪ್, ಮತ್ತು ಸಂಚಾರಕ್ಕೆ ಅನುಮತಿ ನೀಡುವ ಭದ್ರತಾ ನೀತಿ. BGP ಅಧಿವೇಶನ ಮೇಲಿರಬಹುದು, ಆದರೆ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಬೇಕಾದ ನಿರ್ದಿಷ್ಟ ಪ್ರಿಫಿಕ್ಸ್ ಫಿಲ್ಟರ್ ಆಗಿ, ಸಾರಾಂಶಗೊಂಡು ಅಥವಾ ತಪ್ಪು ಇಂಟರ್ಫೇಸ್ಗೆ ತೋರಿಸಲ್ಪಟ್ಟಿರಬಹುದು.
Reachability Analyzer AWS ಬದಿಯ ಸಾಧನ, ಇದು ಮೂಲ, ಗಮ್ಯ ಮತ್ತು ಮಾರ್ಗವನ್ನು ತೆಗೆದುಕೊಂಡು ಬೆಂಬಲಿತ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ ಯಾವ ಘಟಕ ಅದನ್ನು ತಡೆದಿದೆ ಎಂದು ವರದಿ ಮಾಡುತ್ತದೆ. VPC ಯಿಂದ ನಿಮ್ಮ ಕಸ್ಟಮರ್ ಗೇಟ್ವೇ ವಿಳಾಸದವರೆಗಿನ ಮಾರ್ಗವನ್ನು ಪರೀಕ್ಷಿಸಲು ಇದನ್ನು ಬಳಸಿ, ಅಪ್ಲಿಕೇಶನ್ ಹೋಸ್ಟ್ನಿಂದ ಅಲ್ಲ. ಇದು ಕಾನ್ಫಿಗರೇಶನ್ ವಿಶ್ಲೇಷಿಸುತ್ತದೆ ಮತ್ತು ಸ್ಥಳೀಯ ಫೈರ್ವಾಲ್ ಮೂಲಕ ಪ್ಯಾಕೆಟ್ ಕಳುಹಿಸುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಅದರ ತೀರ್ಪನ್ನು ನಿಮ್ಮ ಇಂಟರ್ಫೇಸ್ ಕೌಂಟರ್ ಮತ್ತು ಪ್ಯಾಕೆಟ್ ಕ್ಯಾಪ್ಚರ್ಗಳಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ಇಡಿ.
ಪ್ರತಿ ಟನೆಲ್ನ ಹೊರಗಿನ ಜೋಡಿ, ಒಳಗಿನ /30 ಮತ್ತು ಪ್ರಕಟಿಸಿದ ಪ್ರಿಫಿಕ್ಸ್ಗಳನ್ನು ಒಂದೇ ಕೋಷ್ಟಕದಲ್ಲಿ ದಾಖಲಿಸಿ. ಆ ಕೋಷ್ಟಕವೇ ಮುಂದಿನ ಬದಲಾವಣೆಯನ್ನು ಪರಿಶೀಲನಾಯೋಗ್ಯವಾಗಿಸುತ್ತದೆ.