がらくたネット


NetScreen

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が必要