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 ਅਤੇ ਘੋਸ਼ਿਤ ਪ੍ਰੀਫ਼ਿਕਸ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਦਰਜ ਕਰੋ। ਉਹੀ ਸਾਰਣੀ ਅਗਲੀ ਤਬਦੀਲੀ ਨੂੰ ਸਮੀਖਿਆਯੋਗ ਬਣਾਉਂਦੀ ਹੈ।