Solaris10 - IP FilterでNATボックス
Solaris10バンドルのipfilterを利用したNATボックスの構築について解説します。
既にPPPoE接続の準備が完了していて、インターフェイスは以下の環境を前提としています。
- 外側(グローバル/PPPoE)インターフェース
iprb0 (PPPoEにてグローバルIP XXX.XXX.XXX.XXXを割り当て)
- 内側(プライベート)インターフェース
e1000g0 (192.168.0.254/24)
IP Filterの有効化
# svcadm -v enable ipfilter
デバイスの登録(Solaris 10 8/07以降は不要)
iprb, e1000g のコメントアウトを外して、更にPPPoEで使用する sppp デバイスを追記します。
iprb -1 0 pfil
#elxl -1 0 pfil
e1000g -1 0 pfil
#bge -1 0 pfil
#nf -1 0 pfil
#fa -1 0 pfil
#ci -1 0 pfil
#el -1 0 pfil
#ipdptp -1 0 pfil
#lane -1 0 pfil
#dnet -1 0 pfil
#pcelx -1 0 pfil
#spwr -1 0 pfil
#ce -1 0 pfil
sppp -1 0 pfil
FireWallルールの設定
外部からやってくるプライベートIPルーティングやブロードキャストパケットのブロック等、
パケットフィルタリングルールを/etc/ipf/ipf.confへ記述します。
block in all
block in quick on sppp0 from 10.0.0.0/8 to any
block in quick on sppp0 from 172.16.0.0/12 to any
block in quick on sppp0 from 192.168.0.0/16 to any
block in quick on sppp0 from 255.255.255.255/32 to any
pass in all
pass out all
内側から外側へ通過させるNATルールを/etc/ipf/ipnat.confへ記述します。
map sppp0 192.168.0.0/24 -> XXX.XXX.XXX.XXX/32 proxy port ftp ftp/tcp
map sppp0 192.168.0.0/24 -> XXX.XXX.XXX.XXX/32 portmap tcp/udp 40000:60000
map sppp0 192.168.0.0/24 -> XXX.XXX.XXX.XXX/32
パケットフォワーディングの有効化
# routeadm -e ipv4-forwarding
# routeadm -u
syslog.conf の修正
# vi /etc/syslog.conf
以下を追記します。
local0.info[TABキーで空ける]/var/log/ipf.log
# touch /var/adm/ipf.log
再起動
# /usr/sbin/shutdown -y -i6 -g0