Juniper NetScreen-208 Policy-based Destination NAT in ScreenOS 5.4
NetScreen-208(ScreenOS 5.4)でPolicy-based Destination NATを使う方法です。
インターネット(Untrust)からも内部(Trust)からもグローバルIPアドレスでアクセスさせるのにはちょっとした工夫が必要です。もっともPolicy-based Destination NATを使わず、VIP(Virtual IP)を使えば簡単なのですが...。
= 前提条件 =
グローバルIPアドレス x.y.z.0/28(使えるIPアドレスは x.y.z.1 ~ x.y.z.14 まで)のインターネット環境があると仮定します。
“ethernet1″を”Untrust”ゾーン、”ethernet2″を”DMZ”ゾーンと設定します。
“ethernet1″にはIPアドレス x.y.z.2 が割り当てられてあり、他にサーバー用として割り当て可能なアドレスは以下の1つです。
x.y.z.3
グローバルIPアドレスと対象サービス(プロトコル:ポート番号)、転送されるプライベートIPアドレスは以下の通りです。
x.y.z.3 SMTP(TCP:25) → 192.168.1.2 x.y.z.3 DNS(TCP/UDP:53) → 192.168.1.3 x.y.z.3 HTTP(TCP:80) → 192.168.1.4 x.y.z.3 POP3(TCP:110) → 192.168.1.2 x.y.z.3 HTTPS(TCP:443) → 192.168.1.4
= 手順 =
1. Destination NAT用に proxy-arp を有効化する(隠しコマンド)
set arp nat-dst
2. グローバルIPアドレスを”Untrust”にオブジェクトとして定義する。
set address "Untrust" "U-server" x.y.z.3 255.255.255.255
3. グローバルIPアドレスを”DMZ”にオブジェクトとして定義する。
set address "DMZ" "D-server" x.y.z.3 255.255.255.255
4. ポリシーを定義する。
インターネット(Untrust)からインターネット(Untrust)へ
set policy id 10 from "Untrust" to "Untrust" "Any" "U-server" "POP3" nat dst ip 192.168.1.2 permit log set policy id 10 set service "SMTP" exit set policy id 11 from "Untrust" to "Untrust" "Any" "U-server" "DNS" nat dst ip 192.168.1.3 permit log set policy id 11 exit set policy id 12 from "Untrust" to "Untrust" "Any" "U-server" "HTTP" nat dst ip 192.168.1.4 permit log set policy id 12 set service "HTTPS" exit
インターネット(Untrust)から公開サーバ(DMZ)へ
set policy id 20 from "Untrust" to "DMZ" "Any" "D-server" "POP3" nat dst ip 192.168.1.2 permit log set policy id 20 set service "SMTP" exit set policy id 21 from "Untrust" to "DMZ" "Any" "D-server" "DNS" nat dst ip 192.168.1.3 permit log set policy id 21 exit set policy id 22 from "Untrust" to "DMZ" "Any" "D-server" "HTTP" nat dst ip 192.168.1.4 permit log set policy id 22 set service "HTTPS" exit
内部(Trust)から公開サーバ(DMZ)へ
set policy id 30 from "Trust" to "DMZ" "Any" "D-server" "POP3" nat dst ip 192.168.1.2 permit log set policy id 30 set service "SMTP" exit set policy id 31 from "Trust" to "DMZ" "Any" "D-server" "DNS" nat dst ip 192.168.1.3 permit log set policy id 31 exit set policy id 32 from "Trust" to "DMZ" "Any" "D-server" "HTTP" nat dst ip 192.168.1.4 permit log set policy id 32 set service "HTTPS" exit
”Untrust”にオブジェクトを作成して"Untrust" to "Untrust"のポリシーを作成しないと"Untrust" to "DMZ"のポリシーが機能しませんでした。
5. グローバルIPアドレスを”DMZ”インターフェースへのスタティックルートとして定義します。
set vrouter "trust-vr" set route x.y.z.3/32 interface ethernet2 exit
“DMZ”のインターフェースは”ethernet2″になりますので上記の書き方になります。
“Untrust”にあるIPアドレスを転送するのに必要なようです。
= 備考 =
これでPolicy-based Destination NATが機能するはずです。
自分の環境に合わせて書き換えてみてください。
参考になれば幸いです。