NAT
 設定手順
/etc/rc.confを編集
rc.confに以下のような行を追加
ipfilter_enable="YES" ipfilter_rules="/etc/ipf.rules" ipfilter_flags="" ipnat_enable="YES" ipnat_rules="/etc/ipnat.conf" gateway_enable="YES" portmap_enable="NO" natd_enable="YES" natd_interface="vr0" #vr0:外側デバイス名 tcp_restrict_rst="YES" tcp_drop_synfin="YES" |
/etc/ipf.rulesの作成
新規にipf.rulesをとりあえず以下のように作成する
pass in all pass out all |
/etc/ipnat.confの作成
新規にipnat.confを以下のように作成する
4Fの場合
map vr0 192.168.33.0/24 -> gatewayの外側のIP/32 portmap tcp/udp 20000:30000 map vr0 192.168.33.0/24 -> gatewayの外側のIP/32 #vr0:外側デバイス名 |
map vr0 192.168.33.0/24 -> 133.xxx.yyy.166/32 portmap tcp/udp 20000:30000 map vr0 192.168.33.0/24 -> 133.xxx.yyy.166/32 |
説明
内部ネットのIPアドレスをgatewayの外側のIPアドレスに変換する。 このときtcpまたはudpパケットであるなら,gatewayの外側の20000から30000のどれかのポートから外部へ送られる。 (これによって,特権ポート(1024以下のポート)から送られてきたら無条件に許可をするR系のコマンド(rsh等)を, 外部に送信することを制限している)
NATの設定
次のコマンドを実行する.
# ipnat -f /etc/ipnat.conf
このとき "Device not configured" というエラーが出た場合は、カーネルを再構築する必要があるようです.
FreeBSD4.3-RELEASEでは次のように変更するとエラーがなくなりました。
追加: option IPFILTER 変更: #option INET6 #option NFS #option NFS_ROOT |
クライアントの設定
クライアントのdefaultrouterを192.168.33.75(3Fの場合は192.168.33.1)に設定
その他
ipnat -l: 現在アドレス変換をしているものを表示する