[FreeBSD-users-jp 95496] Re: ipfwで特定IP以外の接続を転送したい

Hiroo Ono (小野寛生) hiroo.ono+freebsd at gmail.com
Mon Mar 30 13:57:41 UTC 2015


小野寛生です。

2015年3月30日 10:05 Hiroo Ono (小野寛生) <hiroo.ono+freebsd at gmail.com>:
>> > ipfwを利用して、特定IP以外からのssh(22/tcp)アクセスは
>> > 違うポート(2222/tcp)に転送したいと考えています。
>> >
>> > 特定IPから22/tcpで接続した場合は普通にsshに接続されるが、
>> > それ以外からの22/tcp接続は、kippo(2222/tcp)へ接続させたいと考えています。
> libalias(3)の機能を使っているようなので、
(略)
> でいけないでしょうか。

試してみました。で、間違っていました。
stateless rules だと、動く設定は次のようになるはずです。

add 1001 nat 100 log tcp from not <特定IP> to me 22
add 1002 nat 100 log tcp from 127.0.0.1 2222 to not <特定IP>
nat 100 config if <NIC> redirect_port 127.0.0.1:2222 22

<NIC> はaliasするアドレスがついているNIC名に置き換えてください。
変わる心配がなければ if xx.xx.xx.xx とIPアドレスでもよいと思います。

実際には、以下のような設定で試していますが、伊藤さんの書かれた設定に合わせると上のようになるはずです。

add 19900       nat 30  ip from any to OIP 60 via OIF
         │····················
add 19910       nat 30  ip from 192.168.0.100 22 to any via OIF
nat 30  config if OIF redirect_port tcp 192.168.0.100:22 60

stateful rule だと、keep-state をつけておけば帰りの設定はいらないかもしれません (よくわかっていない)。


More information about the freebsd-users-jp mailing list