柏崎@北海道です. その後,やっぱり通信出来なくなったり,設定を投入したら OK だったのに 再起動したら NG とかいろいろありまして,ようやく整理する事が出来まし た.現在は以下のような構成で動いています.
host +------------+ jail/www bge0 | pf | bge0 alias +-----------+ -----------+[port80 rdr]+------------------+80 apache + 133.87.a.b | [ nat ] | 192.168.0.20 +-----------+ +------------+ ポイントだったのは host 側の pf の設定でした.nat の設定で ext_if="bge0" table <private> const { 10/8, 172.16/12, 192.168/16 } nat on $ext_if from 192.168.0/24 to ! <private> -> ($ext_if) のように記述していたのですが,bge0 に alias が設定されている状態では nat の規則が以下のように展開されまして, % sudo pfctl -s nat nat on bge0 inet from 192.168.0.0/24 to ! <private> -> (bge0) round-robin 133.87.a.b と 192.168.0.20 が round-robin で利用される事になってしま って通信出来ないという状態になったのではないかと. ということで,pf.conf を ext_addr="133.87.a.b" nat on $ext_if from 192.168.0/24 to ! <private> -> $ext_addr にしまして, % sudo pfctl -s nat nat on bge0 inet from 192.168.0.0/24 to ! <private> -> 133.87.a.b となって jail/www 側からの通信が出来るようになりました. ホストにグローバルアドレス,jail側がプライベートの時に NATを使わなけ ればいけない事をそもそも確信出来ていなかった上に,pfで redirect だけ は使っていたので,外部→ jail/wwwへのアクセスが出来て,何で jail/www →外部へのアクセスが出来ないのだろうかと懊悩する事になったというオチ です :-) jail + NATの構成でまとまった情報源がなかったので,今回の構築をどこか でまとめておこうと思います.みなさまからの情報に多謝. -- 柏崎 礼生 (Hiroki Kashiwazaki)@HUIST Assistant Professor @ Graduate School of Information Science and Technology, Hokkaido University mailto:[メールアドレス保護] Tel:+81-11-706-2056 (Office), +81-11-706-2998 (Takai Lab.)