FreeBSD jails merupakan virtualisasi dalam freeBSD yang mirip XEN , openVZ , dll .Dalam kasus ini saya menggunakan FreeBSD 7.1
Buat folder lokasi jail , sebagai contoh saya meletakkan di /usr/jails/webserver
cd /usr/ mkdir jails cd jails mkdir webserver1 sysinstall
Pada saat sysinstall
1. Pada menu pilih “Custom”.
2. Pilih “2 Options” dan tujukan kursor ke “Install Root /”. Tekan spasi dan rubah “/” ke “/usr/jails/webserver”. Tekan ‘q’ untuk keluar.
3. Pilih “5 Distributions” dan pilih “A Minimal”.
4. Kemudian pilih “6 Media” , dan pilih media yang digunakan untuk installasi jail ,disini saya menggunakan cdrom.
5. Jika sudah semua , pilih “7 Commit”.
Visit the general configuration menu for a chance to set any last options? , pilih NO
Jika berhasil maka akan terbentuk beberapa directory
# cd /usr/jails/webserver # ls .cshrc boot libexec rescue tmp .profile dev media root usr COPYRIGHT etc mnt sbin var bin lib proc sys #
Pada host machine , tambahkan di /etc/rc.local
ifconfig_em1_alias0="inet 192.168.8.201 netmask 255.255.255.255" jail_set_hostname_allow="NO" jail_enable="YES" jail_list="webserver" jail_interface="em1" jail_devfs_enable="YES" jail_procfs_enable="YES" jail_webserver_rootdir="/usr/jails/webserver" jail_webserver_hostname="webserver" jail_webserver_ip="192.168.8.201" jail_webserver_devfs_ruleset="devfsrules_jail"
Jika terdapat banyak jail sesuaikan jail_list dengan nama jail yang ada , misal jail_list=”webserver dnsserver mailserver”
Berikutnya , edit atau buat rc.conf pada jailnya /usr/jails/webserver/etc/rc.conf
hostname="webserver" ifconfig_rl0="inet 192.168.8.201 netmask 255.255.255.0" defaultrouter="192.168.8.1" rpcbind_enable="NO" clear_tmp_enable="YES" sendmail_enable="YES" sshd_enable="YES"
Berikutnya copy resolv.conf
# cp /etc/resolv.conf /usr/jails/webserver/etc/
Menjalankan jail :
# /etc/rc.d/jail start Configuring jails:. Starting jails: webserver.
Jika berhasil , lihat jail yang berjalan sekarang
# jls
JID IP Address Hostname Path
1 192.168.8.201 webserver /usr/jails/webserver
Sekarang jail sudah bisa berjalan :)
Ubah password root :
# jexec 1 touch /etc/fstab # jexec 1 passwd Changing local password for root New Password: Retype New Password:
Buat user baru :
# jexec 1 adduser Username: kucing Full name: kucing asia Uid (Leave empty for default): Login group [kucing]: wheel Login group is wheel. Invite kucing into other groups? []: Login class [default]: Shell (sh csh tcsh nologin) [sh]: csh Home directory [/home/kucing]: Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: Enter password again: Lock out the account after creation? [no]: Username : kucing Password : ******** Full Name : kucing asia Uid : 1001 Class : Groups : wheel Home : /home/kucing Shell : /bin/csh Locked : no OK? (yes/no): yes adduser: INFO: Successfully added (kucing) to the user database. Add another user? (yes/no): no Goodbye!
Untuk mengenable ssh kita perlu mengubah “ListenAddress” pada sshd_config , edit menjadi seperti ini
ListenAddress 192.168.8.201
perintah-perintahnya :
# jexec 1 login # su # /etc/rc.d/sshd stop # ee /etc/ssh/sshd_config # /etc/rc.d/sshd start
Saat pertama menggunakan jail , saya tidak dapat melakukan ping ke jaringan local
ping: socket: Operation not permitted
tambahkan pada host machine di /etc/sysctl.conf
security.jail.allow_raw_sockets=1