AWS Client VPN ti so pọ̀ ṣùgbọ́n kò sí íńtánẹ́ẹ̀tì: ìyẹ̀wò ọ̀nà
AWS Client VPN ti so pọ̀ ṣùgbọ́n kò ní àǹfààní sí íńtánẹ́ẹ̀tì? Ṣàyẹ̀wò àwọn ọ̀nà kíláìẹ̀nìtì, àṣẹ endpoint, ìjáde subnet àti DNS ní ọ̀kọ̀ọ̀kan yẹn.
O ti so mọ́ endpoint AWS Client VPN, subnet àdáni ń dáhùn, ṣùgbọ́n ojú-ìwé gbogbo ènìyàn ṣì ń parí pẹ̀lú àkókò tí ó tán. Àpapọ̀ yẹn dín ìṣòro náà kù sí ọ̀kan nínú àwọn ohun mẹ́ta ní ẹ̀gbẹ́ tí a ń bójú tó: ọ̀nà tí kíláìẹ̀nìtì fi ń ṣiṣẹ́, ọ̀nà endpoint pẹ̀lú ìlànà àṣẹ rẹ̀, tàbí ìgbésẹ̀ tó kàn lẹ́yìn subnet tí ó so mọ́. Mo ń ṣàyẹ̀wò wọn ní ọ̀kọ̀ọ̀kan yẹn nítorí pé ìkùnà kọ̀ọ̀kan ń yàtọ̀ ní ojú kíláìẹ̀nìtì. Ìtọ́sọ́nà yìí kan endpoint tí a ń bójú tó tí ó so mọ́ VPC, kì í ṣe server OpenVPN lórí EC2 instance àti kì í ṣe ìsopọ̀ Cloud WAN tàbí Transit Gateway.
Bẹ̀rẹ̀ pẹ̀lú ohun tí kíláìẹ̀nìtì ń tọ́ ọ̀nà sí gan-an
Ipò ìsopọ̀ ń fi hàn pé TLS session àti pínpín CIDR fún kíláìẹ̀nìtì wà, kò sí ohun mìíràn. Béèrè lọ́wọ́ ẹ̀rọ ìṣiṣẹ́ ibi tí àdírẹ́sì gbangba yóò lọ nígbà tí ọ̀nà ìsàlẹ̀ wà ní ìmú. Ní Linux, ip route get 1.1.1.1 gbọdọ̀ dárúkọ interface ọ̀nà ìsàlẹ̀; ní macOS, netstat -rn -f inet | head -5 ń fi àkọsílẹ̀ àkọ́kọ́ hàn; ní Windows, Find-NetRoute -RemoteIPAddress 1.1.1.1 ń tẹ̀wé interface tí a yàn àti ìgbésẹ̀ tó kàn.
Lẹ́yìn náà ka àmì split-tunnel, nítorí pé òun ni ó ń pinnu bóyá àwọn ọ̀nà tí endpoint ṣe àtẹ̀jáde ni ibi kan ṣoṣo tí kíláìẹ̀nìtì ń rán vào ọ̀nà ìsàlẹ̀:
aws ec2 describe-client-vpn-endpoints \
--client-vpn-endpoint-ids cvpn-endpoint-0123456789abcdef0 \
--query 'ClientVpnEndpoints[0].SplitTunnel'Nígbà tí SplitTunnel jẹ́ true, ibi gbangba ń lo ọ̀nà ìsàlẹ̀ nìkan nígbà tí endpoint bá ṣe àtẹ̀jáde ọ̀nà tí ó bo ó, nítorí náà 0.0.0.0/0 tí kò sí ń fi ìrìnàjò yẹn sílẹ̀ lórí interface àdúgbò. Nígbà tí ó jẹ́ false, kíláìẹ̀nìtì ń mú ìrìnàjò náà, ṣùgbọ́n endpoint ṣì gbọdọ̀ tọ́ ọ̀nà àti fún ní àṣẹ; bí bẹ́ẹ̀ kọ́, àwọn pákítì ń wọ inú ọ̀nà ìsàlẹ̀ tí wọ́n sì dúró níbẹ̀. So kíláìẹ̀nìtì pọ̀ mọ́ ẹ̀ẹ̀kan sí i lẹ́yìn tí o bá yí ọ̀kan nínú ètò méjì náà, nítorí pé a ń fún àwọn ọ̀nà àti server DNS ní àkókò ìsopọ̀, kíláìẹ̀nìtì tí ń ṣiṣẹ́ sì lè pa àkójọ àtijọ́ mọ́.
Ka ọ̀nà endpoint àti ìlànà àṣẹ lọ́tọ̀ọ̀tọ̀
Àwọn méjì ni ohun méjì, ṣíṣe ọ̀kan kò ṣe èkejì. Ṣe àkójọ àwọn ọ̀nà endpoint kí o sì wá ọ̀nà àkọ́kọ́ tí ibi tí ó ń lọ jẹ́ subnet tí ó so mọ́:
aws ec2 describe-client-vpn-routes \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0Ọ̀nà kọ̀ọ̀kan ní subnet ibi kan ṣoṣo, nítorí náà ìsopọ̀ mẹ́ta nílò ọ̀nà àkọ́kọ́ tí ó bá a mu fún ọ̀kọ̀ọ̀kan. AWS ń kọ ìbéèrè ìbò náà sílẹ̀, àmì àìsí tí ó wà ní ìṣe ni olùlò tí ń ṣiṣẹ́ láti subnet kan tí ó sì ń dúró láti èkejì, èyí tí a ń kà gẹ́gẹ́ bí àìsàn àìdúró dípò ọ̀nà tí ó sónù. Àwọn ìwé ìṣẹ̀lẹ̀ Client VPN osise ń ṣàlàyé ètò subnet gbangba tí àwọn ọ̀nà yìí jẹ́ ti.
Àṣẹ ni ohun kejì. Nígbà tí kò sí ìlànà tí ó bo ibi gbangba, ọ̀nà ìsàlẹ̀ ń gbé pákítì náà tí iṣẹ́ sì ń sọ ọ́ nù, nítorí náà àwọn ohun àdáni ń tẹ̀síwájú ṣiṣẹ́ nígbà tí íńtánẹ́ẹ̀tì kò ṣe bẹ́ẹ̀:
aws ec2 describe-client-vpn-authorization-rules \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0Ìlànà fún CIDR VPC kò sọ ohun kan nípa 0.0.0.0/0. Fífi àwọn apá tí ó ṣe àìsí kún fún ọ̀nà ìsàlẹ̀ kíkún túmọ̀ sí ọ̀nà kan fún subnet kọ̀ọ̀kan tí ó so mọ́ pẹ̀lú ìlànà àṣẹ tí o lè ṣàyẹ̀wò lẹ́yìn náà:
aws ec2 create-client-vpn-route \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 \
--destination-cidr-block 0.0.0.0/0 \
--target-vpc-subnet-id subnet-0a1b2c3d4e5f67890
aws ec2 create-client-vpn-authorization-rule \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 \
--destination-cidr-block 0.0.0.0/0 \
--access-all \
--description "internet egress for full tunnel"--access-all ń fún ibi náà fún gbogbo kíláìẹ̀nìtì endpoint, nítorí náà pa á mọ́ ní àkókò tí ọ̀nà ìsàlẹ̀ yóò kún nìkan; ìlànà tí ó so mọ́ ẹgbẹ́ ìwé ìtọ́sọ́nà sàn nígbà tí o bá ní àwọn ẹgbẹ́ láti so mọ́.
Tẹ̀lé pákítì jáde kúrò nínú subnet tí ó so mọ́
Ọ̀nà endpoint ń pinnu pé AWS ń fi pákítì náà fún subnet yẹn. Kò pinnu ìgbésẹ̀ tó kàn lẹ́yìn rẹ̀, èyí tí ó wà nínú tábìlì ọ̀nà VPC ti subnet fúnra rẹ̀:
aws ec2 describe-route-tables \
--filters Name=association.subnet-id,Values=subnet-0a1b2c3d4e5f67890 \
--query 'RouteTables[].Routes[?DestinationCidrBlock==`0.0.0.0/0`]'Ọ̀nà àkọ́kọ́ tí ó ṣe é lò ń tọ́ka sí internet gateway fún subnet gbangba, tàbí sí NAT gateway fún ti àdáni, àti ipò blackhole túmọ̀ sí pé a ti pa ibi náà rẹ́ tí ọ̀nà sì ń kú ní ìdákẹ́jẹ́ báyìí. Àwọn yìí yàtọ̀ sí àkójọ ọ̀nà endpoint, àti àtúnṣe ọ̀kan kò tún èkejì ṣe.
Àwọn àlẹ̀ méjì wà lórí ìgbésẹ̀ yìí. Ẹgbẹ́ ààbò tí a fi sí ìsopọ̀ nẹ́tíwọ́kì ibi gbọdọ̀ gba ìrìnàjò jáde sí ibi gbangba, àti ACL nẹ́tíwọ́kì yòówù tí ó wà ní ipa gbọdọ̀ gba ìbéèrè àti ìrìnàjò ìpadà lórí àwọn póòtì àkókò kúkúrú. Ẹgbẹ́ ààbò ìsopọ̀ tí ó dín ààyè jẹ́ ìdí tí ó wọ́pọ̀ tí àǹfààní àdáni fi ń ṣiṣẹ́ tí ti gbangba kò sì ṣiṣẹ́.
Yan àlẹ̀ àkọ́kọ́ láti inú àmì náà dípò yíyí àwọn mẹ́tẹ̀ẹ̀ta padà lẹ́ẹ̀kan:
| What you observe | Layer to check first |
|---|---|
| No tunnel interface for a public IP | Client route or split-tunnel flag |
| Tunnel interface chosen, request times out | Endpoint route and authorization rule |
| Endpoint route present, still times out | Subnet route table, association security group |
| Named host fails, numeric address works | DNS servers and their own authorization |
Ya ìkùnà DNS kúrò nínú ọ̀nà tí ó ti kú
Ìtúmọ̀ orúkọ ń kùnà lọ́nà tí ó yàtọ̀ sí gbígbé jáde, ọ̀nà ìsàlẹ̀ kíkún sì ń mú ìyàtọ̀ yẹn ṣe pàtàkì nítorí pé a ti ń dé ọ̀dọ̀ olùtúmọ̀ tí a ti tì kúrò nípasẹ̀ ọ̀nà ìsàlẹ̀. Bí endpoint bá sọ àwọn server DNS VPC, àwọn àdírẹ́sì wọn nílò ìbò ọ̀nà àti àṣẹ bí ibi mìíràn. Béèrè lọ́wọ́ olùtúmọ̀ náà ní tààrà láti rí ìkùnà tí o ní: dig +short example.com @10.0.0.2, tàbí nslookup example.com 10.0.0.2 ní Windows.
Nígbà tí URL oní-nọ́mbà ń dáhùn tí ti orúkọ kò dáhùn, dá ṣíṣe àtúnṣe ọ̀nà àkọ́kọ́ dúró kí o sì ṣiṣẹ́ lórí DNS. Ìbéèrè sí àdírẹ́sì IP kò fi ohun kan hàn nípa ẹ̀rọ ayélujára oní orúkọ àti ìwé-ẹ̀rí rẹ̀, nítorí náà pa ìdánwò orúkọ kan mọ́ nínú ìyẹ̀wò ìparí.
Àkókò ń ràn ọ́ lọ́wọ́. Ìsopọ̀ TCP tí kò gba ìdáhùn láàárín ìṣẹ́jú-àáyá díẹ̀ ń tọ́ka sí títọ́ ọ̀nà tàbí àlẹ̀, nígbà tí ìbéèrè tí ó so mọ́ inú wíwá orúkọ ń tọ́ka sí olùtúmọ̀. Yíyí ọ̀nà àkọ́kọ́ padà nígbà tí olùtúmọ̀ kò dé ń sábà mú ìkùnà kan di méjì.
Yí padà ní mímọ́, lẹ́yìn náà ṣàyẹ̀wò ọ̀nà ìjáde
Àwọn ohun méjì náà jẹ́ àfikún, nítorí náà yípadà jẹ́ pípaarẹ́ kì í ṣe àtúnṣe:
aws ec2 delete-client-vpn-route \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 \
--destination-cidr-block 0.0.0.0/0 \
--target-vpc-subnet-id subnet-0a1b2c3d4e5f67890
aws ec2 delete-client-vpn-authorization-rule \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef0 \
--destination-cidr-block 0.0.0.0/0 \
--access-allSo pọ̀ mọ́ ẹ̀ẹ̀kan sí i, lẹ́yìn náà jẹ́rìí ọ̀nà tí ìrìnàjò ń gbà jáde. Fi àdírẹ́sì gbangba tí a kíyèsí wé àdírẹ́sì IP rírọ̀ ti NAT gateway, tàbí pẹ̀lú internet gateway tí o ṣe lérò láti lò, kí o sì yẹ̀wò bóyá ohun àdáni ṣì ń dáhùn nínú ìpàdé kan náà.
Parí pẹ̀lú àkójọ kúkúrú, kí o sì ka kókó ìkẹyìn gẹ́gẹ́ bí apá ìyípadà kì í ṣe ìwé:
- Ọ̀nà
0.0.0.0/0kan ti endpoint fún subnet kọ̀ọ̀kan tí ó so mọ́. - Ìlànà àṣẹ tí ó bo
0.0.0.0/0fún àwọn kíláìẹ̀nìtì tí o fẹ́ sìn. - Ọ̀nà àkọ́kọ́ VPC tí kò sí ní ipò blackhole lórí subnet kọ̀ọ̀kan tí ó so mọ́.
- Ìjáde ẹgbẹ́ ààbò ìsopọ̀, pẹ̀lú ìrìnàjò ìpadà ACL.
- Àwọn àdírẹ́sì olùtúmọ̀ ti a tọ́ ọ̀nà tí a sì fún ní àṣẹ, tí a jẹ́rìí pẹ̀lú ìbéèrè orúkọ.
- Yípadà tí a kọ sílẹ̀ fún ọ̀nà àti ìlànà náà.
Àkíyèsí ìwọ̀n kan: ọ̀nà IPv4 ni èyí. Kíláìẹ̀nìtì oní-ìpele méjì ń pa ìsopọ̀ IPv6 tí ó ti ní mọ́, nítorí náà ọ̀nà àkọ́kọ́ IPv6 jẹ́ ìpinnu ọ̀tọ̀ọ̀tọ̀ pẹ̀lú àṣẹ tirẹ̀ kì í ṣe àbájáde ẹ̀gbẹ́ ti èyí.