花原です。
Jailを提供しているホスト環境を 「jailer」、
そのホストに構築したjail環境を 「prisoner」と呼ぶとして、
jailerの環境で、sshd の設定ファイル「/etc/ssh/sshd_config」で、
「ListenAddress」の設定をしていないのではないでしょうか?
つまり、以下のコメントアウトされたままではないですか?
#ListenAddress 0.0.0.0
#ListenAddress ::
この状態だと、jailerのsshd は、すべてのネットワークインターフェイスにバ
インドします。
# sockstat -4 | grep sshd
とすると、
....
root sshd 1365 4 tcp4 *:22 *:*
というような行がみつかるのではないでしょうか?
これは、PID 1365のsshdが 全てのIPアドレス:22ポート で 接続待ちしていると
いうことです。
解決策は、jailer 側の sshd_configで
ListenAddress 192.168.xxx.aaa
として、接続待ちIPアドレスを指定します。
(prisoner側は、192.168.xxx.bbb のネットワークインターフェースしか見えて
ないだろうから、まあ指定しなくても特に問題はなさそうな気がする...)
以下のURLも参考になると思います。
FreeBSD - Jailは仮想化ではなく半仮想化と呼ぶべきではないか
https://dankogai.livedoor.blog/archives/51916648.html
まあ、Jail使いだした頃のあるあるネタなんだと思います。
PS.
いまだに ezjail使ってるけど、iocage の方がいいかなぁ。
qjailは、VIMAGEつかうのに試しにつかってみたぐらい。
MTUを変更してたら、なんかうまく動かなくて、パッチいれる必要が有ったりし
た記憶がある...。
On Thu, 15 Sep 2022 06:11:09 +0900
MATSUMOTO Masayoshi <[email protected]> wrote:
> 松本と申します
>
> 初めてiocageを導入してみて、あれっと思った挙動があったので
>
> ホストのIPが192.168.xxx.aaaで
> #iocage activate zpool
> #iocage create -r 13.1-RELEASE -n hogehoge
> #iocage set ip4_addr="re0|192.168.xxx.bbb/24" hogehoge
> として、hogehogeにいろいろ入れたあと
> 外部から192.168.xxx.bbbにnmapかけてみたのですが、
> 22/tcpが空いているようでした。jail内でsshは有効にしてないのですが。
>
> で、別PCから実際に叩いてみると、
> >ssh [email protected]
> Password forなんちゃらで出てくるホスト名もJAIL外の名前で、fugafugaはホスト側のみのID
> jail外の環境にログインできちゃいました。なんじゃこれ?
>
> あと、iocage内でspamassassin-3.4.6、正確には下記サイト通りにでっち上げた
> ja-spamassassin-3.4.6の挙動もiocage外と違っていました。
> https://qiita.com/false-git@github/items/0dbe59922a391e547ca5
>
> そのままだとspamc使用時に/var/log/maillogに
> mail spamd[xxxxx]: spamd: unauthorized connection from 192.168.xxx.bbb
> [192.168.xxx.bbb]:xxxxx to port 783, fd 5 at /usr/local/bin/spamd line 1627.
> mail spamd[xxxxx]: prefork: child states: II
> がでてメールが素通しです。これに関しては/etc/rc.confで
> spamd_flags="-A 192.168.xxx.bbb"
> を付け加えることで解決しますが、隣ではiocage外、spamd_flags無しで動いてるサーバがあるんですよね。
>
> 松本 将宜
--
Yoshihiro Hanahara <[email protected]>