作業日記@HatenaBlog

各種の作業メモ

ホスト環境

ports からインストール

前提環境

HOST: 192.168.X.1
jail: 192.168.X.3
 

ezjail をインストールする。
# cd /usr/ports/sysutils/ezjail
# make && make install clean
# rehash

 

ezjail.conf を設定
# cd /usr/local/etc/
# cp ezjail.conf.sample ezjail.conf
# vi ezjail.conf
 
ezjail_jaildir=/usr/local/jails ← 適当に修正する
ezjail_jailtemplate=${ezjail_jaildir}/newjail
ezjail_jailbase=${ezjail_jaildir}/basejail
ezjail_sourcetree=/usr/src
ezjail_ftphost=ftp.jp.freebsd.org ← 日本のサイトに変更
ezjail_mount_enable="YES"
ezjail_devfs_enable="YES"
ezjail_devfs_ruleset="devfsrules_jail"
ezjail_procfs_enable="YES"
ezjail_fdescfs_enable="YES"

 

Jail 環境の雛形作成
# ezjail-admin update -b
# ezjail-admin update -i

 

Jail 内で ports を使えるようにする:
# ezjail-admin update -P

 

rc.conf の設定

ezjail の有効化、新しい仮想マシンに仮想 IP アドレスを割り当てる。

# vi /etc/rc.conf
 
defaultrouter="192.168.X.1"
hostname="HOSTNAME.example.com"
 
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
 
ezjail_enable="YES"
ifconfig_re0_alias0="192.168.X.3 netmask 255.255.255.255"
inetd_enable="YES"
inetd_flags="-wW -C 60 -a 192.168.X.1"
 
# /etc/netstart ← ネット設定の再読込

 

sysctl.conf の設定
# vi /etc/sysctl.conf
 
security.jail.allow_raw_sockets=1 ← jail 内から ping や traceorute が使える
security.jail.set_hostname_allowed=0 ← jail システムでホスト名の変更不可

 

ssh 設定

jail 側に送られるパケットまで拾ってしまうので、HOST 側のアドレス (192.168.X.1) で Listen するように設定。

# vi /etc/ssh/sshd_config
 
ListenAddress 192.168.X.1

 

Jail 環境の作成
# ezjail-admin create JAILNAME 192.168.X.3
(中略)
/usr/local/jails/JAILNAME/./basejail
Warning: Some services already seem to be listening on IP 192.168.X.3
  This may cause some confusion, here they are:
root     ntpd       1163  28 udp4   192.168.X.3:123       *:*
Warning: Some services already seem to be listening on IP, (including 192.168.X.3)
  This may cause some confusion, here they are:
dhcpd   dhcpd      2904  5  udp4   *:67                   *:*
root    syslogd    2871  9  udp4   *:514                  *:*
root    sshd       1200  4  tcp4   *:22                   *:*
root    ntpd       1163  20 udp4   *:123                  *:*
root    mpd4       999   10 tcp4   *:5005                 *:*
root    apcupsd    986   5  tcp4   *:3551                 *:*
#

 

ezjail 開始
# /usr/local/etc/rc.d/ezjail.sh start
 ezjailConfiguring jails:.
Starting jails: JAILNAME.
# jls
   JID  IP Address      Hostname                      Path
     1  192.168.X.3     JAILNAME                      /usr/local/jails/JAILNAME
#