User Tools

Site Tools


технология_jail

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
технология_jail [2012/06/26 15:42]
val
технология_jail [2015/08/26 09:31]
val [С использованием дистрибутива]
Line 1: Line 1:
 ====== Технология jail ====== ====== Технология jail ======
  
-[[http://​ru.wikipedia.org/​wiki/​FreeBSD_Jail]]+  * [[http://​ru.wikipedia.org/​wiki/​FreeBSD_Jail|FreeBSD Jail]] 
 +  * [[http://​www.freebsd.org/​doc/​handbook/​jails-build.html|Creating and Controlling Jails]] 
 +  * [[http://​www.unixfaq.ru/​index.pl?​req=qs&​id=1002|Управление переменными ядра в Jail]]
  
-[[http://​www.freebsd.org/​doc/​handbook/​jails-build.html]]+===== Создание копии системы =====
  
-===== Создание ​"мира" ​====+==== С использованием ​дистрибутива ====
-Инсталлируем исходные тексты системы+
 <​code>​ <​code>​
-[server:​~] ​freebsd-update fetch +mount_cd9660 /dev/cd0 /mnt 
-[server:​~] ​# freebsd-update install+ 
 +# setenv D /​var/​jail/​www 
 + 
 +# mkdir -p $D 
 + 
 +tar -xvf /mnt/usr/freebsd-dist/​base.txz -C $D
 </​code>​ </​code>​
-Следующее действие занимает несколько часов:+ 
 +==== С использованием компиляции и установки "​мира"​ системы ==== 
 + 
 +=== Подготовка исходных текстов === 
 + 
 +  * [[Обновление системы и базового ПО в FreeBSD#​Установка ​исходных текстов]] 
 +  * [[Обновление системы и базового ПО в FreeBSD#​Установка заплаток внутри релиза]] 
 + 
 +=== Сборка "​мира"​ (несколько часов) === 
 <​code>​ <​code>​
 [server:~] # cd /usr/src [server:~] # cd /usr/src
 [server:~] # make buildworld [server:~] # make buildworld
 </​code>​ </​code>​
 +
 +=== Установка копии "​мира"​ (5-7 минут) ===
  
 <​code>​ <​code>​
Line 24: Line 41:
 [server:~] # make distribution DESTDIR=$D [server:~] # make distribution DESTDIR=$D
 </​code>​ </​code>​
 +
 +===== Совместное использование дерева портов =====
 +
 <​code>​ <​code>​
 [server:~] # mount_nullfs /usr/ports/ /​var/​jail/​www/​usr/​ports [server:~] # mount_nullfs /usr/ports/ /​var/​jail/​www/​usr/​ports
Line 29: Line 49:
  
 ===== Запуск jail ===== ===== Запуск jail =====
 +
 +==== FreeBSD10.X ====
 +
 +  * [[http://​therub.org/​2014/​08/​11/​convert-freebsd-jails-from-rc.conf-to-jail.conf/​|Convert FreeBSD 10 Jails from rc.conf to jail.conf]]
 +
 <​code>​ <​code>​
 [server:~] # cat /​etc/​rc.conf [server:~] # cat /​etc/​rc.conf
 +</​code><​code>​
 +...
 +jail_enable="​YES"​
 +jail_list="​www"​
 +</​code><​code>​
 +[server:~] # cat /​etc/​jail.conf
 +</​code><​code>​
 +allow.raw_sockets = 1;
 +exec.clean;
 +exec.system_user = "​root";​
 +exec.jail_user = "​root";​
 +exec.start = "/​bin/​sh /​etc/​rc";​
 +exec.stop = "/​bin/​sh /​etc/​rc.shutdown";​
 +mount.devfs;​
 +allow.set_hostname = 0;
 +allow.sysvipc = 0;
 +
 +www {
 +        host.hostname = "​www.corpX.un";​
 +        path = "/​var/​jail/​www";​
 +        interface = "​em0";​
 +        ip4.addr = "​192.168.X.20";​
 +        exec.consolelog = "/​var/​log/​jail_www_console.log";​
 +}
 +</​code><​code>​
 +[server:~] # service jail start www
 +</​code>​
 +
 +==== FreeBSD8.X ====
 +<​code>​
 +[server:~] # cat /​etc/​rc.conf
 +</​code><​code>​
 ... ...
 jail_enable="​YES"​ jail_enable="​YES"​
 jail_list="​www"​ jail_list="​www"​
 jail_www_rootdir="/​var/​jail/​www"​ jail_www_rootdir="/​var/​jail/​www"​
-jail_www_hostname="​www.class.un"+jail_www_hostname="​www.corpX.un"
 jail_www_interface="​em0"​ jail_www_interface="​em0"​
 jail_www_ip="​192.168.X.20"​ jail_www_ip="​192.168.X.20"​
 jail_www_devfs_enable="​YES"​ jail_www_devfs_enable="​YES"​
 jail_www_devfs_ruleset="​devfsrules_jail"​ jail_www_devfs_ruleset="​devfsrules_jail"​
 +</​code><​code>​
 [server:~] # sysctl security.jail.allow_raw_sockets=1 [server:~] # sysctl security.jail.allow_raw_sockets=1
  
Line 49: Line 106:
 <​code>​ <​code>​
 [server:~] # jls [server:~] # jls
- 
-[server:~] # sysctl security.jail.list 
  
 [server:~] # jexec N csh [server:~] # jexec N csh
Line 67: Line 122:
 </​code><​code>​ </​code><​code>​
 domain corpX.un domain corpX.un
-nameserver ​192.168.X.10+nameserver ​172.16.1.254
 </​code><​code>​ </​code><​code>​
 www# cat /etc/hosts www# cat /etc/hosts
Line 74: Line 129:
  
 192.168.X.20 ​           www.corpX.un www 192.168.X.20 ​           www.corpX.un www
 +
 +172.16.1.249 ​   rep
 </​code>​ </​code>​
  
технология_jail.txt · Last modified: 2016/04/22 14:02 by val