概念

Jail是chroot机制的一种进化后的机制,翻译成中文叫“监狱”,它可以提高更为高级和灵活的隔离和监管机制,除了文件系统监管外,还实现了设备隔 离,用户隔离,系统资源隔离,使其更像是一种虚拟机机制了,与此相似的概念有linux下的openvz,以及Solaris下的Container。 Jail可以说是一种轻量级的虚拟机制,比较起linux下的openvz,差的地方有网络地址分配,共享库控制这两大方面.

如何构建Jail(本文基于FreeBSD 8.0 Release-p2)

构建一个Jail,必备的几个参数有Jail的根目录,用户态程序,主机名以及IP地址,还有一个可选的dev。根据用户态程序的不同考虑可以将Jail做成完整的系统型Jail以及服务型Jail。

一、 构建Jail根目录

  1. # mkdir /jail/test

二、构建用户态程序

  1. # cd /usr/src
  2. # make world DESTDIR=/jail/test

这里make world=make buildworld + make installworld,因此如果以前做过buildworld的话可以偷懒直接用以前build好的安装,可以节省大量时间(我试过,似乎不行,可能是哪里配置有误)

三、构建jail内系统运行需要的配置文件

  1. # make distribution DESTDIR=/jail/test

四、修改rc.conf添加jail服务运行的必要参数,必备的有:

  1. jail_enable="YES" # 如果设为 NO 则表示不自动启动 jail
  2. jail_list="test" # 以空格分隔的 jail 名字列表

指定单个jail的必备参数:

  1. jail_test_rootdir="/jail/test" # jail 的根目录
  2. jail_test_hostname="XXXX.XXXX.XXXX.XXXX" # jail 的主机名
  3. jail_test_ip="XXXX.XXXX.XXXX.XXXX" # jail 的 IP 地址

另外还有可选的devfs,用于控制jail里面使用哪些设备

  1. jail_test_devfs_enable="YES" # 挂接 devfs
  2. jail_test_devfs_ruleset="test_ruleset" #  jail 中应用的devfs 规则集

注:jail_test_devfs_enable="YES"这项虽是可选的,但一定要加上,否则会出现莫名其妙的错误,我就是因为这个,重新做前面的二三步骤三四次,浪费了不少时间。

至此Jail基本就建立完成了,现在来启动它。启动之前,我们还要来做几件准备的事情

1)为Jail指定IP

  1. ifconfig vr0 = "inet 10.4.0.6 netmask 255.255.255.0"
  2. ifconfig vr0_alias = "inet 10.4.0.88 netmask 255.255.255.0"

这也是BSD平台下为网卡指定另一个IP的方法,指定完,一定要重启网络服务生效

2)创建一些必要的系统文件

  1. # touch /jail/test/etc/fstab

这个文件是个空文件,不需要添加任何东西

最后,来启动Jail

  1. # /etc/rc.d/jail start

后续的一些配置

设置Jail的口令及SSH

SSH的配置同理,SSH好后,就和现实中的实体机一样了,想做什么就做什么吧,赶紧!

本文转自dongfang_09859 51CTO博客,原文链接:http://blog.51cto.com/hellosa/537738,如需转载请自行联系原作者

FreeBSD 虚拟化(jail) 初体验相关推荐

  1. [VMM 2008虚拟化之初体验-1] 准备环境

    当你谈起虚拟机的时候,听到的人无一不想到VMWare,很显然VMWare是多么深入人心,因为VMWare方便实用,对系统要求不高,功能强大.当微软推出Virtual Server 2005的时候,就已 ...

  2. [VMM 2008虚拟化之初体验-2] 界面功能介绍

    最近比较忙,博客更新比较慢,没关系,慢慢来.因为我们都是在学习,所以机器的配置可能比较低,所以采取的方案是VMM 2008的所有组件都安装在一台机器上. 目前我的配置是: 处理器:Intel 酷睿2双 ...

  3. Swift与C++混编 OpenCV初体验 图片打码~

    OpenCV初体验,给图片打码 提到OpenCV,相信大多数人都听说过,应用领域非常广泛,使用C++开发,天生具有跨平台的优势,我们学习一次,就可以在各个平台使用,这个还是很具有诱惑力的. 本文主要记 ...

  4. vSphere 7 Kubernetes 初体验

    vSphere 7 Kubernetes 初体验 分类专栏: NSX-T WCP K8S 文章标签: paas 版权 有关vSphere7 with WCP,即整合Kubernetes的具体介绍,请参 ...

  5. Docker深入浅出系列 | 容器初体验

    Docker深入浅出系列 | 容器初体验 教程目标 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干 ...

  6. SDN初体验·理论篇(零):SDN与传统网络不得不说的那些事

    本人是一名热爱网络工程的菜鸡,是一只兴趣使然的菜鸡,我目前发的blog只是作为我学习阶段的一个总结,分享给大家,希望大家一起交流,一起探讨,文章中有不正确的知识或言论请大家指出,同时我觉得对网络感兴趣 ...

  7. 苹果电脑安装python3密码_mac系统安装Python3初体验

    前沿 对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7. 1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 安装 ...

  8. MapReduce编程初体验

    需求:在给定的文本文件中统计输出每一个单词出现的总次数 第一步: 准备一个aaa.txt文本文档 第二步: 在文本文档中随便写入一些测试数据,这里我写入的是 hello,world,hadoop he ...

  9. 小程序 缩放_缩放流星应用程序的初体验

    小程序 缩放 by Elie Steinbock 埃莉·斯坦博克(Elie Steinbock) 缩放流星应用程序的初体验 (First Experiences Scaling a Meteor Ap ...

  10. wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言 2 下载.安装wxWidgets 3 wxWidgets应用程序初体验 4 wxWidgets学习资料及利用方法指导 5 ...

最新文章

  1. spring boot多数据源配置(mysql,redis,mongodb)实战
  2. CentOS中通过编译源码包的方式安装Git
  3. QA seven's blog
  4. HTML 中的特殊字符
  5. emr系统 php,完整电子病历系统c#源码
  6. 切换python执行版本
  7. Flask 验证模式
  8. 让服务器自动从HG版本库中下载代码
  9. 记ICS的lab2--bomb实验
  10. 电子元件-发光二极管
  11. IBM 开源图形终端Kui框架
  12. 基于MNIST数据集实现手写数字识别
  13. JSON Shema 校验JSON内容
  14. sequoia中的自动故障处理
  15. Brave Game
  16. 基于公用通信网络的区域级 C-V2X应用系统技术要求 应用系统技术要求
  17. mysql查询本用户的表的列名等信息_mysql常用命令查询手册
  18. 中国最倒霉的十大姓氏
  19. [Flash] - 108个Flash常见问题解答
  20. 13、Linux加固与Windows加固

热门文章

  1. 手机流量不清零这个便宜不好占
  2. 墨羽卿画第二章第5节:另一个世界,腊月廿四
  3. 帝国Empire采集-帝国如何免费采集
  4. 2017年下半年中学综合素质问答题
  5. python做地图热力图保存为png_Python如何实现热力图?可视化入库图实战演示
  6. 5g消息服务器,5G消息开启信息服务新篇章
  7. 解决mysql存储特殊文字(表情符号)utf8mb4
  8. 2022危险化学品经营单位安全管理人员操作证考试题库及在线模拟考试
  9. CPA十二--外币会计报表折算的方法(转载)
  10. 华为应用市场2021年度安全隐私报告发布:护航应用安全是场“持久战”