AWS Site-to-Site VPN: ìta, inú àti àkọ́kọ́ LAN
Ẹ̀yà àdírẹ́sì mẹ́ta ń dàrú lórí AWS VPN kan: àwọn ẹlẹgbẹ́ ìta, ìsopọ̀ /30 inú àti àwọn àkọ́kọ́ LAN tí a dáàbò bo. Ka wọ́n nínú ìṣètò tí a gbà sílẹ̀.
Ọ̀pọ̀lọpọ̀ àṣìṣe ní AWS Site-to-Site VPN jẹ́ àṣìṣe àdírẹ́sì, wọ́n sì ń ṣẹlẹ̀ kí pákẹ́tì kankan tó gbéra. Àwọn àdírẹ́sì ìta ti tunnel ń dé ọ̀dọ̀ àwọn ẹlẹgbẹ́ IPsec, àwọn àdírẹ́sì inú ń dá ìsopọ̀ ìtọ́sọ́nà laarin wọn, àwọn àkọ́kọ́ tí a dáàbò bo sì ni ohun tí ìsopọ̀ yẹn wà fún. Dá ẹ̀yà kan kó sínú ọ̀míràn, tunnel yóò gbé sókè nígbà tí kò sí nǹkan tí ń tọ́sọ́nà. Èyí ni ìtẹ̀lé kíkà-àyẹ̀wò-ìṣètò tí mo ń lò lórí ẹnu-ọ̀nà oníbàárà BGP, pẹ̀lú àwọn iye tí a gbà láti inú ìṣètò ẹ̀rọ tí a gbà sílẹ̀, kì í ṣe láti inú ìrántí.
Ẹ̀yà àdírẹ́sì mẹ́ta, tunnel kan
Àwọn àdírẹ́sì ìta jẹ́ ti gbogbo ènìyàn, wọ́n sì jẹ́ ti àwọn ẹlẹgbẹ́ IPsec: ọ̀kan fún tunnel kọ̀ọ̀kan ní ẹ̀gbẹ́ AWS, àti ìdánimọ̀ tí ó lè dé ẹnu-ọ̀nà oníbàárà ní ẹ̀gbẹ́ rẹ, tí a ṣàtúnṣe sí ètò NAT tí o ní nítiẹ̀. Àwọn àdírẹ́sì inú jẹ́ ti ara ẹni, wọ́n sì jẹ́ ti ìsopọ̀ ọ̀rọ̀, èyí tí AWS ṣe àkọsílẹ̀ rẹ̀ gẹ́gẹ́ bí /30 tí a gbà láti 169.254.0.0/16. Àwọn àkọ́kọ́ tí a dáàbò bo ni àwọn nẹ́tíwọ́kì VPC, ti ìbílẹ̀ tàbí ti ìrékọjá tí o ń tọ́sọ́nà tí o sì ń kéde nípasẹ̀ ìsopọ̀ yẹn.
Fífún àkọ́kọ́ LAN ní àdírẹ́sì gẹ́gẹ́ bí àdírẹ́sì ojú-èyà tunnel ni ìrísí àtijọ́ ti àṣìṣe yìí. Ojú-èyà náà dàbí ẹni tí a ti ṣètò, a kò kéde LAN, ẹ̀gbẹ́ kejì kò sì ní ọ̀nà sí i. Tunnel lè kọjá ping inú tirẹ̀ pàápàá nígbà tí gbogbo orúkọ ètò ń parí àkókò. Ìtọ́kasí àwọn àṣàyàn tunnel ṣe àkójọ àwọn ìhámọ́ra CIDR inú, pẹ̀lú ibi-àdírẹ́sì tí ó gbọ́dọ̀ ti wá.
Ka àwọn iye láti inú ìṣètò tí a gbà sílẹ̀
Gbà ìṣètò fún àwòṣe ẹ̀rọ rẹ pàtó sílẹ̀ láti inú ìsopọ̀, lẹ́yìn náà ka tábìlì àdírẹ́sì rẹ̀ gẹ́gẹ́ bí orísun òtítọ́. Kọ́nsólì ń fi àwọn iye kan náà hàn fún tunnel kọ̀ọ̀kan: IP ìta, CIDR inú àti àdírẹ́sì ẹlẹgbẹ́ BGP ní ẹ̀gbẹ́ AWS. Àwọn tunnel méjèèjì jẹ́ ohun kan ọ̀tọ̀ọ̀tọ̀ pẹ̀lú àwọn ìparí ìta ọ̀tọ̀ọ̀tọ̀ àti /30 inú ọ̀tọ̀ọ̀tọ̀, bí ó tilẹ̀ jẹ́ pé àwọn méjèèjì ń gbé àwọn nẹ́tíwọ́kì tí a dáàbò bo kan náà.
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]'Bí fáìlì tí a gbà sílẹ̀ àti kọ́nsólì tààrà kò bá fara mọ́, fáìlì náà ti pẹ́. Gbà á sílẹ̀ lẹ́ẹ̀kan sí i dípò ṣíṣàtúnṣe àwọn àdírẹ́sì pẹ̀lú ọwọ́, nítorí àìbáramu laarin bàtà inú àti aládúgbò tí a ṣètò ti ẹlẹgbẹ́ jẹ́ ìkùnà BGP tí ó dákẹ́.
Kọ́ ìsopọ̀ pẹ̀lú àdírẹ́sì títọ́
Lórí ẹnu-ọ̀nà Linux, tunnel jẹ́ ojú-èyà VTI tàbí XFRM, a sì fi /30 inú sí ojú-èyà yẹn. Tunnel méjì túmọ̀ sí ojú-èyà méjì àti aládúgbò BGP méjì, ọ̀kan fún ìparí AWS kọ̀ọ̀kan. Àṣà tí AWS ń tẹ̀ sínú ìṣètò ẹ̀rọ tí a gbà sílẹ̀ ń gbé ẹnu-ọ̀nà àdáni virtual sí àdírẹ́sì àkọ́kọ́ ti /30 inú kọ̀ọ̀kan, tí ó sì ń gbé ẹnu-ọ̀nà oníbàárà rẹ sí èkejì, nítorí náà o gba àdírẹ́sì tí ó ga jù, o sì ń ṣe ẹlẹgbẹ́ pẹ̀lú èyí tí ó kéré jù. Kò sí nǹkan níbí tí ó nílò àdírẹ́sì 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 1400Bí fáìlì fún àwòṣe ẹ̀rọ rẹ bá tẹ bàtà òdìkejì, lo àwọn nọ́mbà rẹ̀ kí o sì pa òfin mọ́: àdírẹ́sì lórí ojú-èyà jẹ́ tirẹ, àdírẹ́sì ẹlẹgbẹ́ jẹ́ ti AWS. Ṣíṣe é ní òdìkejì ń dá tunnel tí kò ní dé Established láé, nítorí aládúgbò tí o ṣètò ni àdírẹ́sì tí ojú-èyà rẹ ti ní tẹ́lẹ̀.
Pa mark àti kọ́kọ́rọ́ VTI mọ́ ní ìbámu pẹ̀lú ohun tí IKE daemon ń lò láti so SA ọmọ mọ́ ojú-èyà, bí bẹ́ẹ̀ kọ, ìrìnàjò yóò dé tunnel láìsí ojú-èyà tí yóò balẹ̀ sí. Ṣàyẹ̀wò MTU lòdì sí ọ̀nà àti lòdì sí àwọn ètò IKE daemon fúnra rẹ̀ dípò kíkópọ̀ nọ́mbà láti ojú-ìwé mìíràn.
Ṣàyẹ̀wò BGP kí o tó ṣàyẹ̀wò àwọn ọ̀nà
IPsec gbé sókè ń fi hàn pé àwọn ẹlẹgbẹ́ gbà lórí ẹgbẹ́ ààbò kan, kò sì sí ohun mìíràn. Ìpàdé BGP jẹ́ ìjíròrò ọ̀tọ̀ lórí ìsopọ̀ inú, nítorí náà ka bí aládúgbò ṣe wà àti àwọn kíkà àkọ́kọ́, lẹ́yìn náà fi wọ́n wé ohun tí o ní lọ́kàn láti kéde.
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'Ipò Established pẹ̀lú àkọ́kọ́ òdo tí a gbà jẹ́ ìṣòro ìlànà tàbí ìkéde, kì í ṣe ìṣòro tunnel. Tún gbogbo àyẹ̀wò náà ṣe lórí tunnel kejì; tunnel àkọ́kọ́ tí ó ń ṣiṣẹ́ sọ fún ọ pé àwọn àdírẹ́sì jẹ́ onítọ́gùn, kì í ṣe pé a ti ṣètò tunnel kejì rárá.
Tẹ̀lé pákẹ́tì tí a tọ́sọ́nà, lẹ́yìn náà dúró
Nígbà tí ìpàdé bá gbé àwọn àkọ́kọ́, dán ọ̀nà wò ní ẹ̀gbẹ́ méjèèjì láti ẹnu-ọ̀nà: àdírẹ́sì orísun, ìgbésẹ̀ tí ó kàn àti ìlànà ààbò tí ó yọ̀ǹda ìrìnàjò. Ìpàdé BGP lè wà lókè nígbà tí àkọ́kọ́ pàtó tí ètò rẹ nílò ti jẹ́ àlẹ̀mọ́, ti jẹ́ àkópọ̀ tàbí tí ó ń tọ́ka sí ojú-èyà tí kò tọ́.
Reachability Analyzer jẹ́ irinṣẹ́ ẹ̀gbẹ́ AWS tí ó ń gba orísun, ibi-àfojúsùn àti ọ̀nà, tí ó sì ń ròyìn èyà wo nínú ìṣètò tí a ṣe àtìlẹ́yìn fún tí ó dí i. Lo ó láti dán ọ̀nà wò láti VPC dé àdírẹ́sì ẹnu-ọ̀nà oníbàárà rẹ, kì í ṣe láti inú ẹ̀rọ àṣàmúlò. Ó ń ṣàyẹ̀wò ìṣètò, kò sì ń fi pákẹ́tì ránṣẹ́ la inú ògiri-ina ti ìbílẹ̀, nítorí náà ya ìdájọ́ rẹ̀ sọ́tọ̀ kúrò nínú àwọn kíkà ojú-èyà àti gbígbà pákẹ́tì rẹ fúnra rẹ.
Ṣàkọsílẹ̀ bàtà ìta, /30 inú àti àwọn àkọ́kọ́ tí a kéde fún tunnel kọ̀ọ̀kan sínú tábìlì kan. Tábìlì yẹn ni ó ń jẹ́ kí ìyípadà tí ó kàn lè ṣe àyẹ̀wò.