FreeBSD Jails: Difference between revisions

From DWIKI
mNo edit summary
Line 33: Line 33:




===Links===
=Links=
*[http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html Handbook about jails, just follow this :)]
*[http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html Handbook about jails, just follow this :)]
*[http://www.freebsddiary.org/jail-6.php Jails]
*[http://www.freebsddiary.org/jail-6.php Jails]
Line 39: Line 39:
*http://wiki.freebsd.org/Jails
*http://wiki.freebsd.org/Jails


==FAQ==
=FAQ=
===ln: /dev/log: Operation not permitted===
===ln: /dev/log: Operation not permitted===



Revision as of 16:32, 2 September 2010

HOWTO

Host IP: 10.0.0.15, Jail IP: 10.0.0.16

JAIL=/jails/jail1
mkdir $JAIL
cd /usr/src
DESTDIR=$JAIL make installworld 
DESTDIR=$JAIL make distribution

Set up /etc/fstab to mount ports in your jail:

/usr/ports      /jails/jail1/usr/ports      nullfs  ro,auto 0       0
devfs           /jails/jail1/dev            devfs   rw      0       0


Set up /jails/jail1/etc/make.conf for ports:

WRKDIRPREFIX=/var/wrkdir
DISTDIR=/var/distfiles


Configuring deamons on the jail host:

Sendmail: in the .mc file put:

DAEMON_OPTIONS(`Name=IPv4, Addr="10.0.0.15",Family=inet')

Sshd, in /etc/ssh/sshd_config, make sure it only listens on IP of the host

ListenAddress  10.0.0.15


Links

FAQ

ln: /dev/log: Operation not permitted

How to see which jails are active?

jls


(dis) allow icmp

sysctl security.jail.allow_raw_sockets

enter a jail

Get the JID of the jail to enter

jls

Then enter jail 2 with your shell of choice

jexec 2 csh


(postgresql) FATAL: could not create shared memory segment: Function not implemented

# For PostgreSQL
#http://www.freebsddiary.org/jail-multiple.php
jail_sysvipc_allow="YES"

non-existent system call invoked

compat options? COMPAT_* in kernel?


jls shows stopped jail

something is still in use.

Notes

sysinstall _ftpPath=ftp://ftp.FreeBSD.org/pub/FreeBSD/ nonInteractive=yes mediaSetFTP

             releaseName=7.1-RELEASE dists=base distSetCustom installRoot=<JAILDIR> installCommit