server.bsdlover.cn.in : FreeBSD host server running v7.2 with 66.66.66.2
smtpd.bsdlover.cn.in : Mail server jail with 66.66.66.3
httpd.bsdlover.cn.in : Web server jail with 66.66.66.4
假设我们要在host上搭建两个jail,一个做web,一个做mail,那么我们需要这样做:
第1步:升级host系统
把系统升级到最新,可以参考:http://www.bsdlover.cn/html/53/n-2053.html。
第2步:安装ezjail
# cd /usr/ports/sysutils/ezjail
# make install clean
第3步:生成jail模版
ezjail-admin update -p -i
-p:提供给jail ports
-i:不再运行make world,因为第一步我们已经做了。
如果你原来没有make builworld,/usr/src下没有源代码,那么可以通过ftp来安装:
ezjail-admin install
第4步:建立mail server jail
ezjail-admin create -r /jails/smtpd.bsdlover.cn.in smtpd.bsdlover.cn.in 66.66.66.3
该命令可以再/jails/smtpd.bsdlover.cn.in目录给我们建立一个smtpd.bsdlover.cn.in的jail
下面开始更新jail配置文件
vi /usr/local/etc/ezjail/smtpd_bsdlover_cn_in
export jail_smtpd_bsdlover_cn_in_hostname="smtpd.bsdlover.cn.in"
export jail_smtpd_bsdlover_cn_in_ip="66.66.66.3,10.21.51.12"
设置一下hostname和ip。
第5步:启动jail
在/etc/rc.conf中加入:
ezjail_enable="YES"'
然后通过/usr/local/etc/rc.d/ezjail.sh start来启动,熟悉ports的兄弟们肯定会想到了,可以通过/usr/local/etc/rc.d/ezjail.sh stop来关闭它,/usr/local/etc/rc.d/ezjail.sh restart来重启它。
如果要启动/关闭/重启某个具体的jail,那么输入下面的命令:
/usr/local/etc/rc.d/ezjail.sh {start/stop/restart} jail-name
例如:/usr/local/etc/rc.d/ezjail.sh stop smtpd.bsdlover.cn.in 可以关闭smtpd.bsdlover.cn.in这个jail系统。
Q:列出所有在该host上的jail
A:
jls
jls -v将列出更详细的信息。
Q:从host上登入jail
A:
jexec jid csh
例如jexec 2 csh将登入id为2的smtpd.bsdlover.cn.in jail
然后你就可以操作该jail了,例如安装bach:
pkg_add -r -v bash
Q:如何直接登入jail
A:如果嫌麻烦,可以把jail的sshd启动,设置好相应jail的ip,那么就可以远程直接登录了,不需要先登入host,然后再jexec登录jail。
启动sshd的方法跟平常一样的,没有任何区别。
先通过jexec登入该jail,然后echo 'sshd_enable="YES"' >> /etc/rc.conf,设置好ip等信息以后,/etc/rc.d/sshd start
启动sshd即可。
Q:如何升级jail系统
A:
# /usr/local/etc/rc.d/ezjail.sh stop
# ezjail-admin update -p -i
# /usr/local/etc/rc.d/ezjail.sh start
Q:如何升级jail的ports
A:
ezjail-admin update -P
Q:jail的日志
A:默认是在/var/log下的
tail -f jail_smtpd_bsdlover_cn_in_console.log
第6步:增加另外一个jail
# ezjail-admin create -r /jails/httpd.bsdlover.cn.in httpd.bsdlover.cn.in 66.66.66.4
# vi /usr/local/etc/ezjail/httpd_bsdlover_cn_in
# /usr/local/etc/rc.d/ezjail.sh start httpd.bsdlover.cn.in
# jls -v
# jexec id csh
Q:如何备份jail
可以通过tar、dump、rsync来备份,例如:
tar -zcvf /dev/sa0 /jails/smtpd.bsdlover.cn.in可以将smtpd.bsdlover.cn.in备份到磁带上。
/sbin/dump -0uLf /dev/sa0 /jails/是把jails目录下的所有jail系统通过dump备份到磁带上。
/sbin/dump -1uLf /dev/sa0 /jails/是增量备份。
[版权声明]BSD爱好者乐园站内文章,如来源不是互联网,则均系原创或翻译之作,可随意转载,或以此为基础进行演译,但务必以链接形式注明原始出处和作者信息,否则属于侵权行为。另对本站转载他处文章,俱有说明,如有侵权请联系本人,本人将会在第一时间删除侵权文章。

最新评论
删除 Guest (2010-2-05 13:33:14, 评分: 5 )