NetScreen
NetScreenはJuniper社のFireWall
NetScreenで固定IP8の設定
NetScreen NS-5GTを利用して、ISPの固定IP8を設定する方法。めっちゃハマったので備忘録。 本来、NetScreenはIP Unnumberedには対応していない。Unnumberedは特に日本だけで普及しているのがその理由。 PPPoEには対応しているので、NetScreenをRouteモードで稼働させて設定をすることで固定IP8を利用することができる。 またこの場合は、Trust側もグローバルIPアドレスとなる。
この設定にはCLIが欠かせない。よって、Console接続かSSHかTELNETを利用してCLIが実施できる環境が必要。可能な限りConsole接続が望ましい。理由は設定中にNS-5GTのIPアドレスを変更するからだ。
検証した環境は以下
- NS-5GT Firmware:5.4.0r12.0
- ISP固定IP8 Unnumbered
- まず、普通にNATルータとして設定する。この時にUntrustインターフェースをPPPoEに設定し適切なPPPoE設定を施す。
- DNSのHost項目にある、DNS ServerのIP Addressはデフォルト(0.0.0.0)のまま。
- DNSのProxyを有効にして(InitializeとEnableにチェックをつける)、NewからSelection Tableを作成する。Domain nameは*(アスタリスク)として、PrimaryとSecondaryには何も入力せずに作成する。
- PPPoEが接続できていることを確認する。この時、UntrustインターフェースにはPPPoEから固定IP8の先頭IPアドレス(ネットワークアドレス)が/32で割り振られるはず。
- TrustインターフェースのDNS Proxyを有効にする(チェックをつける)
ここからがポイント!
CLIで以下のコマンド発行!
set ignore-subnet-conflict set interface trust ip (固定IP8からの任意IP Address)/29 set interface trust route save
set ignore-subnet-conflictは同じネットワークセグメントIPを各インターフェースに割り当て可能にすること。これはGUIでは設定できない。PPPoEでIP Unnumberedの場合、PPPoEインターフェースに固定IP8の先頭IP Addressが/32で割り当てられるために、GUIでTrustインターフェース側に固定IP8内のIP Addressを/29で割り当てようとするとエラーになる。逆に先にTrustインターフェースに固定IP8内のIP Addressを/29で割り当ててると、PPPoEで接続した後にLCPによってPPPoEインターフェースにIPを割り当てる処理でエラーとなる。割り当て処理がエラーとなるので、PPPoEの処理がFailして結果としてPPPoEが接続していない状態になる。
ルーティング情報はPPPoEにて自動的にデフォルトゲートウェイが設定される。 Routingのtrust-vrのDestinationには5つの項目が生成される。
IP/Netmask | Gateway | Interface | Protocol | Preference | Metric | Vsys | Configure | |
---|---|---|---|---|---|---|---|---|
* | AAA.AAA.AAA.0/29 | trust | C | Root | - | |||
* | AAA.AAA.AAA.1/32 | trust | H | Root | - | |||
* | AAA.AAA.AAA.0/32 | untrust | C | Root | - | |||
* | AAA.AAA.AAA.0/32 | untrust | H | Root | - | |||
* | 0.0.0.0/0 | PPPoEのGateway IP | untrust | C | 1 | Root | - |
この設定により構成されたNS-5GTは次の状態となる。
- Untrustには、固定IP8の先頭IP Address(ネットワークアドレス)が/32で割り振られる
- UntrustのIPにも、外部から接続加納
- Trustには、固定IP8内の任意のIP Addressを/29で割り振ることができる
- DNS Server IPはPPPoEにより受け取ったIP Addressを使用する
あとは、Firewall Policyを適切に設定する
- デフォルトでは、DNS Proxyの許可範囲はAnyになっているので、CLIから範囲を指定するか、PolicyでNS-5GTのTrustに割り当てたIP Addressに対してDNS Queryを拒否する
- NS-5GTには都合2つのIP Addressが付与されるので、それぞれのIPに対するPolicyが必要