確かめたことなど。

240ポート

ルータは WSR-1166DHPL。
同一接続先IPv4+同一ポートに連続アクセスすると、241回目につまり、約30秒後にぽつぽつアクセスできるようになる。
どうも240ポートの中から回収されたステートのポートを引けるという訳でもなさそうで
15グループの1つの、16ポートの中からしか空を調べていないのかもしれない気がする。

FreeBSD 直付け

gif トンネルを BR まで張れば

curl --local-port 使えるポート http://hoge とすれば、正常にレスポンスは返ってくる。

問題は NAT(ポート先の 16個*15グループ 指定が出来るもの)なのだけれど。。。

また ping も不可だった。 RFC7597

pf

nat 先のポート指定が不十分。レンジは可能だが、レンジ*15 というのが出来ない。
nat on gif0 from any to any -> xxx.xxx.xxx.xxx port { xxx:xxx, xxx:xxx } # { } が不可
1つのレンジのみで動かしてみると、使えはするがすぐ(16個で)詰まる。

probability も nat に使えない。
nat on gif0 from any to any probability 6% -> xxx.xxx.xxx.xxx port xxx:xxx # probability は使えない

tagged は使えるが、nat ルールより先に tag することが出来ない。
pass out on gif0 tag group1 6% # これが先に評価されれば。。。OpenBSD なら pass nat-to が使える?
nat on gif0 from any to any tagged group1 -> xxx.xxx.xxx.xxx port xxx:xxx

ipfw

nat 先にポート指定がそもそも出来ない。tag や skipto や評価順は柔軟なんだけど。。。

ipf

nat 先にポート指定はレンジで出来るが、15グループというのが同じく無理。

その他

効率的なのは 240ポート から空きを探せることだと思うけど
WSR-1166DHPL も挙動からして Linuxのiptables例 のように
15グループへは $seq%15 やラウンドロビンかもしれない。

コメントする

perl adv
perl adv