set setting reset

インフラ関連の小ネタと備忘録

SSG140 を使って AWS VPC への VPN を複数構築

主にSSG側の設定について記載します。
ので、VPCVPN まわりの設定については省略します。

概要構成図

f:id:rriifftt:20141005175037p:plain

前提

  • ScreenOS 6.3
  • インターネット回線は 1 本でOK
    • もちろん複数あってもよい
  • 複数の固定IPを持っている
    • AWSアカウントが異なる場合は同一IPでも大丈夫かもしれない → ダメ。AWS全体で一意でなくてはならない。
  • SSG に空きポートが1つ以上ある
  • 1本目のVPNは構築済み
    • bgp / static のどちらでも OK
    • tunnel.1 と tunnel.2 を利用
    • デフォルトの trust-vr を利用

概要

  • SSG内に新規で仮想ルータを作成して既存に影響を与えないようにする
  • 空きポートにグローバルIPを付与する
  • 2本目は static vpn で構築する

設定

vrouter 作成

新規で vrouter を作成する。

set vrouter name "test-vr" sharable
set vrouter "test-vr"
unset auto-route-export
set ignore-subnet-conflict

zone 作成

set zone name "test"
set zone "test" vrouter "test-vr"

インターフェイス設定

グローバルIPインターフェイスに付与。
このIPで customer gateway が作られていること。
また、 /32 でないと VPN 設定がエラーになってコマンドが入らない。

set interface ethernet0/* zone "test"
set interface ethernet0/* ip ***.***.***.***/32
set interface ethernet0/* nat

ポリシー設定

実際は細かく設定する。

set policy top from "test" to "Trust" "Any" "Any" "ANY" permit log
set policy top from "Trust" to "test" "Any" "Any" "ANY" permit log

Amazon から DL したコンフィグを編集してコピペ

  • DL するコンフィグは static 、ダメなら bgp を使う
  • DLしたコンフィグ内のインターフェイス名(tunnel、及び ethernet)と zone 名 を環境に応じて編集
  • 既存で使っているVPNエンドポイント (169.254.252.0/30 の様なサブネット) に重複しないコンフィグをDLする
    • 重複してしまった場合はダミーのグローバルIPを使って customer gateway を作るなどする
      • こちらを参考にさせていただきました

既存ルータへのRouting

set vrouter "trust-vr"
set route 10.1.0.0/16 vrouter "test-vr" preference 20
set route 169.254.252.**/30 vrouter "test-vr" preference 20
set route 169.254.252.**/30 vrouter "test-vr" preference 20

新仮想ルータへのRouting

set vrouter "test-vr"
set route 0.0.0.0/0 interface ethernet0/* gateway ***.***.***.***/32
set route 10.1.0.0/16 interface tunnel.3 gateway 169.254.252.**
set route 10.1.0.0/16 interface tunnel.4 gateway 169.254.252.**
exit

つなぎたいところがあれば続けてルーティングを追加する

確認

  • management console の vpn status を確認
  • get sa コマンドで各 tunnel の status が A/U になることを確認

この方法で複数VPCに対してVPNを構築できています。