第二十八章 DragonFlyBSD
第三节 jail 配置

创建jail目录

放入基本系统

方案一
1
# make buildworld #编译基本系统
2
# make installworld DESTDIR=/usr/jail/ #安装到jail
3
# make distribution DESTDIR=/usr/jail/ #或者
Copied!
方案二
1
#下载base.txz 或者从iso提取baes.txz,然后解压到jail
2
# tar -xvf base.txz -C /usr/jail/
3
#挂载 devfs文件系统。(不是必须)
4
# mount -t devfs devfs /usr/jail/dev
Copied!

写入rc.conf

1
# sysrc jail_enable="YES"
Copied!
创建jail.conf文件(可以写进rc.conf但这样便于管理)
1
www {
2
host.hostname =www.example.org; # 主机名
3
ip4.addr = 192.168.0.10; # IP 地址
4
path ="/usr/jail"; # jail位置
5
devfs_ruleset = "www_ruleset"; # devfs ruleset
6
mount.devfs; # 挂载 devfs文件系统到jail
7
exec.start = "/bin/sh /etc/rc"; # 启动命令
8
exec.stop = "/bin/sh /etc/rc.shutdown"; # 关闭命令
9
}
Copied!

管理

jails查看在线 jail 信息列表
1
JID IP Address Hostname Path
2
3 192.168.0.10 www /usr/jail/www
Copied!
中英对照
英语
中文
JID
jail ID
IP Address
IP地址
Hostname
主机名
Path
Jail 路径

启动与停止jail

1
# service jail start www
2
# service jail stop www
Copied!

登录jail

1
# jexec 1 tcsh
Copied!

干净关闭jail

1
# jexec 3 /etc/rc.shutdown
Copied!

升级jail

1
# freebsd-update -b /here/is/the/jail fetch
2
# freebsd-update -b /here/is/the/jail install
Copied!

ping与网络

开启ping

写入/etc/jail.conf
1
allow.raw_sockets=1;
2
allow.sysvipc=1;
Copied!

网络

创建/etc/resolv.conf,并编辑
1
search lan
2
nameserver 119.29.29.29
3
nameserver 182.254.116.116
4
nameserver 114.114.114.114
5
nameserver 223.5.5.5
6
nameserver 223.6.6.6
7
#不要写路由器地址
Copied!

创建jail目录

创建4个 分别是模板 骨架 数据 项目

创建模板目录

1
# mkdir -p /jail/j1
2
#然后放入基本目录,上边说过不再写
Copied!

创建骨架目录

1
# mkdir -p /jail/j2
2
#移动目录 etc usr tmp var root
Copied!
1
# cd /jail/j2/ # 注意目录
2
# mv /jail/j1/etc ./etc
3
# mv /jail/j1/tmp ./tmp
4
# mv /jail/j1/var ./var
5
# mv /jail/j1/root ./root
Copied!

创建数据目录

就是复制一份骨架给他用
# cp -R /jail/j2/ /jail/js/www/

创建项目目录

1
# mkdir -p /jail/www/
Copied!

建立链接

1
# cd /jail/j1 #cd 到模板目录
2
# mkdir -p jusr #创建用来做链接数据的目录
3
# ln -s jusr/etc etc
4
# ln -s jusr/home home
5
# ln -s jusr/root root
6
# ln -s jusr/usr usr
7
# ln -s jusr/tmp tmp
8
# ln -s jusr/var var
9
#链接目录,注意链接的目录
Copied!

创建fstab

1
#ee /jail/www.fstab
2
#将公共只读系统挂载到项目目录
3
/jail/j1/ /jail/www/ mullfs ro 0 0
4
#将项目数据目录挂载到项目目录
5
/jail/js/www/ /jail/www/jusr/ mullfs ro 0 0
Copied!
创建fstab
1
# ee /jail/www.fstab
2
#将公共只读系统挂载到项目目录
3
/jail/j1/ /jail/www/ mullfs ro 0 0
4
#将项目数据目录挂载到项目目录
5
/jail/js/www/ /jail/www/jusr/ mullfs ro 0 0
6
awk
Copied!
写入 jail.conf
1
#全局部分
2
3
4
exec.start = "/bin/sh /etc/rc";
5
exec.stop = "/bin/sh /etc/rc.shutdown";
6
exec.clean;
7
mount.devfs;
8
allow.raw_sockets = 1;
9
allow.sysvipc = 1;
10
11
12
#网关 没用就不写
13
14
interface = "网卡地址"; #主机名也可以用变量代替
15
16
17
hostname = "$name.domain.local";
18
#jail 位置,也可以用变量
19
path = "/jail/$name";
20
21
22
#ip地址
23
24
25
ip4.addr = 192.168.1.$ip;
26
27
28
#fstab位置
29
30
31
mount.fstab = /jail/www.fstab;
32
www {
33
$ip=2
34
#不使用fstab,使用
35
#mount.fstab ="";
36
37
#替换全局
38
}
Copied!

删除文件没有权限

1
# chflags -R noschg directory
Copied!
最近更新 29d ago