FortiGate 50BをAmazon VPCに接続してみた
qpstudy08で頂いたFortiGate 50BをAmazon VPCに接続してみた。
初期設定確認&リセット
電源入れてinternal側にPCをつなげてみたけどIPが降ってこないので、Ciscoケーブル刺してコンフィグを見てみた所、デフォルトの設定ではないようだった。
ここを参考に "execute factoryreset" した。
既存ネットワークへ接続
デフォルト設定で192.168.1.99/24らしいので、既存のLAN(192.168.1.0/24)にそのままつなぐ事にしたが、dhcpサーバがかぶってイヤなのでWebGUIから停止させた後にINTをLANに接続。
PPPoE設定
GUIからWAN1に設定した(最初WAN2でやろうとしてなぜかうまくいかず)。外に疎通確認できたので、よしとする。
ファイアウォール設定
デフォルト設定ではFWのポリシー的に必要なパケット通らないようなので、以下のような設定をまず行う。
ファイアウォールメニューから、アドレス(aliasみたいなもん?)として27.0.1.16/255.255.255.255と27.0.1.144/255.255.255.255を追加し、グループ amazon vpcとしてさっきの2つのアドレスを追加する。
ポリシー>ポリシーからCreate Newして、送信元アドレスにAmazon VPC、宛先アドレスをallにし、サービスを複数選択(IKEとESP)してACCEPTとする。
これでIPsecで使用するパケットが通るようになった
IPsec設定
まずはIPsecの設定とトンネルインターフェースの設定
# Phase1の設定 config vpn ipsec phase1-interface edit "P1-Amazon1" set interface "wan1" set local-gw xxx.xxx.xxx.xxx set nattraversal disable set dhgrp 2 set proposal aes128-sha1 set remote-gw 27.0.1.16 set dpd-retryinterval 10 set psksecret PRE_SHARED_KEY1 next end # Phase2の設定 config vpn ipsec phase2-interface edit "P2-Amazon1" set keepalive enable set phase1name "P1-Amazon1" set proposal aes128-sha1 set dhgrp 2 set keylifeseconds 3600 next end # Tunnel インターフェースの設定 config system interface edit "P1-Amazon1" set vdom "root" set ip 169.254.252.26 255.255.255.255 set type tunnel set remote-ip 169.254.252.25 set interface "wan1" next end
もう1つのトンネルも同様に入れておく(PSKとIPアドレスの違いによく気をつけて)。
ここまで出来たら、対向のインターフェースまで通信が出来てないといけないので、
# execute ping 169.254.252.25 PING 169.254.252.25 (169.254.252.25): 56 data bytes 64 bytes from 169.254.252.25: icmp_seq=0 ttl=64 time=7.1 ms 64 bytes from 169.254.252.25: icmp_seq=1 ttl=64 time=6.1 ms 64 bytes from 169.254.252.25: icmp_seq=2 ttl=64 time=5.7 ms 64 bytes from 169.254.252.25: icmp_seq=3 ttl=64 time=5.4 ms --- 169.254.252.25 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 5.4/6.0/7.1 ms
などとチェックしておく(ここでpingができない場合は、上記の設定を見直す)。
BGP設定
ここまで来たらあと一息。BGPルーティングの設定を行う。ここはGUIからやってしまいました。
ルータ>ダイナミックルーティング>BGPのメニューに移動し、ローカルのASN(65000等、Customer Gateway作成時に指定した物)とIPを入れる(192.168.1.99を指定した)。
次にネイバーとして、2つリモートのASN(10124)とIP(169.254.252.25と169.254.252.29)を指定して追加。
advertiseするネットワークとして192.168.1.0/24を追加(複数のcustomer gatewayをつながない場合には0.0.0.0/0でもよさそう)。
うまくBGPの通信が行われれば、モニタ>ルーティングモニタで、ゲートウェイから受信したVPC側のサブネット情報が表示されているはず。
VPC側の設定
あとはAmazon VPC側のルートテーブルに、LAN側の情報を追加してやる必要がある。
VPC>Route Tables>(対象サブネットで使用しているRoute Tableを選択)>Destinationに192.168.1.0/24と入力し、Targetをvgw-xxxxxxxxとし、Addする。
SecurityGroupで192.168.1.0/24からのICMPやsshなど必要な通信を通すようにしておく。
ファイアウォール設定その2
トンネルインターフェースとinternalの間で通信が行えるよう、
ファイアウォール>ポリシー>Create Newから、P1-Amazon1→internalとその逆、P1-Amazon2→internalとその逆、をACCEPTする4つのルールを追加
疎通確認
$ ping 172.21.0.4 PING 172.21.0.4 (172.21.0.4) 56(84) bytes of data. 64 bytes from 172.21.0.4: icmp_seq=0 ttl=61 time=7.17 ms 64 bytes from 172.21.0.4: icmp_seq=1 ttl=61 time=6.29 ms 64 bytes from 172.21.0.4: icmp_seq=2 ttl=61 time=5.72 ms --- 172.21.0.4 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 5.725/6.397/7.176/0.604 ms, pipe 2 $ ssh -i keypair.pem ec2-user@172.21.0.4 Last login: Thu Oct 13 08:06:43 2011 from 192.168.1.249 __| __|_ ) Amazon Linux AMI _| ( / Beta ___|\___|___| See /usr/share/doc/system-release-2011.02 for latest release notes. :-)
つながりました!
最後に
otto様、ありがとうございました!
追記
複数のAZにまたがってsubnetを構成している場合、
config system settings set asymroute enable end
を入れていないと、片方のzoneとしか通信できなかったので、要注意。