mixiユーザー(id:2416887)

2023年02月28日03:36

40 view

AWSのStrongswanの構成について

実はStrongswanのEC2、WANとLANのインターフェイスを分けてなくて、
どっちも同じパブリックサブネットで、セキュリティグループ使って、繋がる部分と繋がらない部分を設定して色々やってた。
でも、セキュリティグループだけだと、変につながらなかったり、パケット飛んで行かなかったりした。
この状態で、実装すると、どこかで詰まりかねん。
ちゃんとやる場合はパブリックサブネットとプライベートサブネットで分けてやるべきだった。

この部分は、勉強しながら組んでいったので理解の順番が逆になった。
(AWSは自動で最初パブリックサブサイト作るので、みんなもそうかもしれない)

本来ならばNATゲートウェイを使いたいのだが、うっかりElasticIPを使い切っている。
なので、ちっちゃいIP範囲でパブリックサブネットを作って、
パブリックのIFと、プライベートサブネットのIFをセカンドでくっつけて、
パブリックのIFにはOutboundのみ許可設定を入れた上でかなり無理矢理なインターネット接続を用意した。
一応ネットワークACLを用意してある。
エフェメラルポートのみTCPとUDPインバウンド許可、アウトバウンドは全て許可である。
ネットワークACLはステートレスのため、アウトバウンドで帰ってきたステートを記録しないため、
ポートを開けておかないと通信ができなくなる。
基本的に、繋ぐポートはエフェメラルポートと呼ばれる動的ポートだ。
サービス系は繋がらない。
この後にセキュリティグループも用意されており、
インバウンドは全て不許可、アウトバウンドはHTTPとHTTPSのみ許可としているため、
Webのみ見れる状態。
DNSはVPC内部にリゾルバーがいて、DHCPはそれを返しているので通信が可能になっている模様。
最終的には、IFを1つにしたいのだが、
VPNゲートウェイと他管理サーバーのIP決めておかないと、サブネットに2つIP設定するとか発生するんですよ。
Windowsの場合、セカンダリIP振ってもDHCPで取得しないし。
IFの場合、コンソールでアタッチすればその瞬間にIP有効になります。
作り直したとき、色々驚いたわ。

ちなみにStrongswanをAMI化して、それを元にインスタンス作り直しました。
EC2はIndex0のENIは、インスタンス毎消さないと消えてくれなくて。
でも、Strongswan環境再作成するのメンドイなぁとの事で、Snapshot→プライベートAMI→インスタンス作成→INDEX0のENIをパブリックサブネットで作成
その後、プライベートサブネットなENIを作成してアタッチ。
→StrongswanのIPv6アドレスを修正。Connectionロード。
→VPCのルート情報が旧ENIを指してたので修正。
→ping飛ばしたらちゃんと繋がりました。

ルート情報が古いってので引っかかった。このENIはINDEX 0だったから旧ゲートウェイに送られてました。
最初、Linuxのルート情報が良くないのか疑ってたんですが、どう調べても送ってくれそうな設定してたので、20分ほど?マークでした。
昔よりかなり素直に動いてくれるよ。

Windowsサーバーはようやく出来上がってきました。
明日はIP切り替えテストに入れるかなぁ。
1 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する

<2023年02月>
   1234
567891011
12131415161718
19202122232425
262728