久々すぎて一部忘れてた
- VIP
- MIP
- DIP
- ポリシーベース Nat-Dst, Nat-Src
設定内容によっては複数の方法で実現できるものもあるけど、基本的にはこんな感じ?
VIP
Virtaul IP
dest NATで使う。
untrust interfaceでのみ設定可能。
untrustに設定した(通常は)グローバルIP宛のパケットをtrustなどのプライベートIP宛に変換する際に利用する。
VIPはip:port のペアで設定するので、1つのIPで複数のプライベートIPを公開できる。
trustのプライベートIPからuntrustへパケットが出て行く場合に、
自動的にsrc IPがVirtualIPにNATされることはない。
(ポリシーベースの設定を別途すればできる)
MIP
Mapped IP
1対1のアドレス変換?
MIPの設定画面にnetmaskあるけど通常は255.255.255.255にして1対1で変換する際に利用する。と思う
ポリシーでアドレスを選択する際にMIPを選ぶ。
対象のゾーンはMIPをつけたinterfaceがバインドしているゾーン、もしくはGlobalゾーン。
DIP
src NAT
interfaceにあらかじめsrc NATしたいIPを設定しておく。
次にポリシーのAdvancedの画面でNAT Source Translationで設定したDIPを選択する。
DIPを設定していなくてもNone(Use Egress Interface IP)が選べる。
文字通り、outboundへ出て行く時のinterfaceのIPでnatする設定。
おまけ: ゾーンを跨ったDestination NAT
ゾーンを跨ったDest Natする場合は複数のポリシーの組み合わせが必要?
こんな設定する機会ないような気もするけど、
ふと気になったのでやってみた。
例えばssgがこうなっているとする。
- eth0 untrust 192.0.2.1 # global IP
- eth1 dmz 198.51.100.1 # global IP
- eth2 trust 192.168.0.1 # private IP
この時、インターネット上のPC 203.0.113.1 から
trust ネットワークにいるサーバ 192.168.0.2 へアクセスしたいとする。
通常のdest nat (宛先IPはuntrustのネットワーク)の設定方法
次の2種類のどっちか
- 1. VIP/MIP
untrustのeth0にVIPかMIP(ex: 192.0.2.2)を設定
MIP 192.0.2.2
Netmask 255.255.255.255
host IP: 192.168.0.2
untrust to untrust もしくはuntrust to global のポリシーを設定
src: 203.0.113.1
dest: MIP(192.0.2.2)
- 2. ポリシーベースNAT
untrust to untrust のポリシーでAdvanced、
src: 203.0.113.1
dst: 192.0.2.2
NAT dst: 192.168.0.2
宛先IPをdmz のネットワークにする
インターネット上からdmzの198.51.100.2 へアクセスし、それをtrustの192.168.0.2 へdst nat する。
直接MIPでNATしても出来なかった。
色々やってできた例 (policyとmip組み合わせる)
policy
untrust to dmz
src: 203.0.113.1
dst: 198.51.100.2
NAT dst: 198.51.100.3
(一旦、他のipへNAT)
dmzのMIP
Mapped IP: 198.51.100.3
host: 192.168.0.2
このあとdmz to Global にポリシー追加
(denyされた時はログ残るけどpermitしたのが残らない。なんで?)
src: 203.0.113.1
dst: MIP(198.51.100.3)
やったあと気づいたけど、screenosが5.xでかなり古かったので新しいのだともっとスマートにできそう