------------------------------------------------------------------------
jail環境構築(ezjail)
HOST 192.168.110.5
jail 192.168.110.6
------------------------------------------------------------------------
***************************************
ezjailインストール
***************************************
# cd /usr/ports/sysutils/ezjail/
# make install clean
# cp -p /usr/local/etc/ezjail.conf.sample /usr/local/etc/ezjail.conf
# vi /usr/local/ezjail.conf
////////////////////////////////////////////////////////////////////////////
# Location of jail root directories
#
# Note: If you have spread your jails to multiple locations, use softlinks
# to collect them in this directory
ezjail_jaildir=/usr/jails
# Location of the tiny skeleton jail template
ezjail_jailtemplate=${ezjail_jaildir}/newjail
# Location of the huge base jail
ezjail_jailbase=${ezjail_jaildir}/basejail
# Location of your copy of FreeBSD's source tree
ezjail_sourcetree=/usr/src
# In case you want to provide a copy of ports tree in base jail, set this to
# a cvsroot near you
# ezjail_portscvsroot=:pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs
#ezjail_portscvsroot=":pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs"
# This is where the install sub command defaults to fetch its packages from
# ezjail_ftphost=ftp.freebsd.org
# base jail will provide a soft link from /usr/bin/perl to /usr/local/bin/perl
# to accomodate all scripts using '#!/usr/bin/perl'...
# ezjail_uglyperlhack="YES"
# Default options for newly created jails
#
# Note: Be VERY careful about disabling ezjail_mount_enable. Mounting
# basejail via nullfs depends on this. You will have to find other
# ways to provide your jail with essential system files
ezjail_mount_enable="YES"
ezjail_devfs_enable="YES"
ezjail_devfs_ruleset="devfsrules_jail"
ezjail_procfs_enable="YES"
ezjail_fdescfs_enable="YES"
////////////////////////////////////////////////////////////////////////////
# ezjail-update //長時間掛かるので注意
jail-remove.txtで不要なファイルを削除
# fetch http://memberwebs.com/stef/freebsd/jails/docs/6.x/jail-remove.txt
# sed "s#^/#/usr/jails/newjail/#" < jail-remove.txt | xargs rm -rfv
# sed "s#^/#/usr/jails/basejail/#" < jail-remove.txt | xargs rm -rfv
/usr/jails 158MB
jail-remove.txtで余計なファイルを消して121M
host# vi /etc/rc.conf
ezjail_enable="YES"
inetd_flags="-wW -C 60 -a 192.168.110.5"
ifconfig_fxp0_alias0="inet 192.168.110.6 netmask 255.255.255.255"
rpcbind_enable="NO" //ポートマッパーを止める
aliasの設定
host# ifconfig fxp0 inet 192.168.110.6 netmask 255.255.25.255 alias
jailでpingやtracerouteが使えるようにする。
host# vi /etc/sysctl.conf
security.jail.allow_raw_sockets=1
jailにSSHをアクセス
host# vi /etc/ssh/sshd_config
ListenAddress 192.168.110.5
このまま環境作ろうとすると
Warning: Some services already seem to be listening on all IPと出るので一度再起動。
jail環境構築
host# ezjail-admin create virtual 192.168.110.6 //一瞬で終わる。
jailにログイン
host# jexec 1 /bin/tcsh //JIDは変わる時があるのでjlsコマンドで確認すること
パスワード変更やユーザ追加
jail# passwd root
jail# adduser hoge
ホストのほうから.cshrcをコピーしておく。
ログアウトしてホストでcrontabをコメントアウト
host# exit
vi /usr/jails/virtual/etc/crontab
1,31 0-5 * * * root adjkerntz -a
/etc/fstab の設定
host# touch /usr/jails/virtual/etc/fstab
resolv.conf の設定をして名前解決出来るようにする
host# cp /etc/resolv.conf /usr/jails/virtual/etc/
ローカルタイムの設定
host# cd /usr/jails/virtual/etc
host# touch wall_cmos_clock
host# ln -sf ../usr/share/zoneinfo/Asia/Tokyo localtime
# vi /usr/jails/virtual/etc/rc.conf
defaultrouter="192.168.110.5"
hostname="virtual.example.com"
network_interfaces="" //ネットワークインターフェースの設定を無効
inetd_enable="YES"
inetd_flags="-wW -C 60 -a 192.168.110.6"
rpcbind_enable="NO" //ポートマッパーを無効
sendmail_enable="NONE" //sendmailを無効
sendmail_submit_enable="NONE"
sendmail_outbound_enable="NONE"
sendmail_msp_queue_enable="NONE"
sshd_enable="YES"
sshd_flags="-4"
syslogd_flags="-ss"
tcp_keepalive="NO"
tcp_extensions="NO"
cron_flags="-J 15"
/usr/jails/virtual/etc/ssh/sshd_config に一行加えます
ListenAddress 192.168.110.6
/usr/jails/virtual/etc/inetd.confや/usr/jails/virtual/etc/namedb/named.conf を編集する
jailでportsが使えるようにportsツリーのマウントポイントの設定
host# vi /etc/fstab //ホスト環境
/usr/ports /usr/jails/virtual/basejail/usr/ports nullfs ro,noauto 0 0
/usr/src /usr/jails/virtual/basejail/usr/src nullfs ro,noauto 0 0
portsの書き込み用ディレクトリ作成
jail# mkdir /var/ports
jail# mkdir /var/ports/distfiles
jail# mkdir /var/ports/packages
jail#/etc/make.conf
WRKDIRPREFIX= /var/ports
DISTDIR= /var/ports/distfiles
PACKAGES= /var/ports/packages
WITHOUT_X11=yes
portsツリーをマウント
host# mount /usr/jails/virtual/basejail/usr/portshost
host# mount /usr/jails/virtual/basejail/usr/src
今のままだとnullfsが使えないのでkldstatでカーネルモジュール一覧を確認。
nullfs.koがなければkldload nullfsで読み込む。
参考
FreeBSDでサーバの仮想化技術「jail」を使った複数ドメインでの運用
ezjailでFreeBSDのjailを作る
jail環境構築(ezjail)
HOST 192.168.110.5
jail 192.168.110.6
------------------------------------------------------------------------
***************************************
ezjailインストール
***************************************
# cd /usr/ports/sysutils/ezjail/
# make install clean
# cp -p /usr/local/etc/ezjail.conf.sample /usr/local/etc/ezjail.conf
# vi /usr/local/ezjail.conf
////////////////////////////////////////////////////////////////////////////
# Location of jail root directories
#
# Note: If you have spread your jails to multiple locations, use softlinks
# to collect them in this directory
ezjail_jaildir=/usr/jails
# Location of the tiny skeleton jail template
ezjail_jailtemplate=${ezjail_jaildir}/newjail
# Location of the huge base jail
ezjail_jailbase=${ezjail_jaildir}/basejail
# Location of your copy of FreeBSD's source tree
ezjail_sourcetree=/usr/src
# In case you want to provide a copy of ports tree in base jail, set this to
# a cvsroot near you
# ezjail_portscvsroot=:pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs
#ezjail_portscvsroot=":pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs"
# This is where the install sub command defaults to fetch its packages from
# ezjail_ftphost=ftp.freebsd.org
# base jail will provide a soft link from /usr/bin/perl to /usr/local/bin/perl
# to accomodate all scripts using '#!/usr/bin/perl'...
# ezjail_uglyperlhack="YES"
# Default options for newly created jails
#
# Note: Be VERY careful about disabling ezjail_mount_enable. Mounting
# basejail via nullfs depends on this. You will have to find other
# ways to provide your jail with essential system files
ezjail_mount_enable="YES"
ezjail_devfs_enable="YES"
ezjail_devfs_ruleset="devfsrules_jail"
ezjail_procfs_enable="YES"
ezjail_fdescfs_enable="YES"
////////////////////////////////////////////////////////////////////////////
# ezjail-update //長時間掛かるので注意
jail-remove.txtで不要なファイルを削除
# fetch http://memberwebs.com/stef/freebsd/jails/docs/6.x/jail-remove.txt
# sed "s#^/#/usr/jails/newjail/#" < jail-remove.txt | xargs rm -rfv
# sed "s#^/#/usr/jails/basejail/#" < jail-remove.txt | xargs rm -rfv
/usr/jails 158MB
jail-remove.txtで余計なファイルを消して121M
host# vi /etc/rc.conf
ezjail_enable="YES"
inetd_flags="-wW -C 60 -a 192.168.110.5"
ifconfig_fxp0_alias0="inet 192.168.110.6 netmask 255.255.255.255"
rpcbind_enable="NO" //ポートマッパーを止める
aliasの設定
host# ifconfig fxp0 inet 192.168.110.6 netmask 255.255.25.255 alias
jailでpingやtracerouteが使えるようにする。
host# vi /etc/sysctl.conf
security.jail.allow_raw_sockets=1
jailにSSHをアクセス
host# vi /etc/ssh/sshd_config
ListenAddress 192.168.110.5
このまま環境作ろうとすると
Warning: Some services already seem to be listening on all IPと出るので一度再起動。
jail環境構築
host# ezjail-admin create virtual 192.168.110.6 //一瞬で終わる。
jailにログイン
host# jexec 1 /bin/tcsh //JIDは変わる時があるのでjlsコマンドで確認すること
パスワード変更やユーザ追加
jail# passwd root
jail# adduser hoge
ホストのほうから.cshrcをコピーしておく。
ログアウトしてホストでcrontabをコメントアウト
host# exit
vi /usr/jails/virtual/etc/crontab
1,31 0-5 * * * root adjkerntz -a
/etc/fstab の設定
host# touch /usr/jails/virtual/etc/fstab
resolv.conf の設定をして名前解決出来るようにする
host# cp /etc/resolv.conf /usr/jails/virtual/etc/
ローカルタイムの設定
host# cd /usr/jails/virtual/etc
host# touch wall_cmos_clock
host# ln -sf ../usr/share/zoneinfo/Asia/Tokyo localtime
# vi /usr/jails/virtual/etc/rc.conf
defaultrouter="192.168.110.5"
hostname="virtual.example.com"
network_interfaces="" //ネットワークインターフェースの設定を無効
inetd_enable="YES"
inetd_flags="-wW -C 60 -a 192.168.110.6"
rpcbind_enable="NO" //ポートマッパーを無効
sendmail_enable="NONE" //sendmailを無効
sendmail_submit_enable="NONE"
sendmail_outbound_enable="NONE"
sendmail_msp_queue_enable="NONE"
sshd_enable="YES"
sshd_flags="-4"
syslogd_flags="-ss"
tcp_keepalive="NO"
tcp_extensions="NO"
cron_flags="-J 15"
/usr/jails/virtual/etc/ssh/sshd_config に一行加えます
ListenAddress 192.168.110.6
/usr/jails/virtual/etc/inetd.confや/usr/jails/virtual/etc/namedb/named.conf を編集する
jailでportsが使えるようにportsツリーのマウントポイントの設定
host# vi /etc/fstab //ホスト環境
/usr/ports /usr/jails/virtual/basejail/usr/ports nullfs ro,noauto 0 0
/usr/src /usr/jails/virtual/basejail/usr/src nullfs ro,noauto 0 0
portsの書き込み用ディレクトリ作成
jail# mkdir /var/ports
jail# mkdir /var/ports/distfiles
jail# mkdir /var/ports/packages
jail#/etc/make.conf
WRKDIRPREFIX= /var/ports
DISTDIR= /var/ports/distfiles
PACKAGES= /var/ports/packages
WITHOUT_X11=yes
portsツリーをマウント
host# mount /usr/jails/virtual/basejail/usr/portshost
host# mount /usr/jails/virtual/basejail/usr/src
今のままだとnullfsが使えないのでkldstatでカーネルモジュール一覧を確認。
nullfs.koがなければkldload nullfsで読み込む。
参考
FreeBSDでサーバの仮想化技術「jail」を使った複数ドメインでの運用
ezjailでFreeBSDのjailを作る
tar.gz
圧縮
# tar czvf hoge.tar.gz hoge
解凍
# tar zxvf hoge.tar.gz
tar.bz2
圧縮
# tar jcvf hoge.tar.bz2 hoge
解凍
# bzip2 -dc hoge.tar.bz2 | tar xvf -
# tar jxvf hoge.tar.bz2
bz2
圧縮
# bzip2 hoge
解凍
# bunzip2 hoge
# bzip2 -d hoge
zip
圧縮
# zip hoge.zip hoge
解凍
# unzip hoge.zip
圧縮
# tar czvf hoge.tar.gz hoge
解凍
# tar zxvf hoge.tar.gz
tar.bz2
圧縮
# tar jcvf hoge.tar.bz2 hoge
解凍
# bzip2 -dc hoge.tar.bz2 | tar xvf -
# tar jxvf hoge.tar.bz2
bz2
圧縮
# bzip2 hoge
解凍
# bunzip2 hoge
# bzip2 -d hoge
zip
圧縮
# zip hoge.zip hoge
解凍
# unzip hoge.zip
FreeBSDの日本語インストーラを配布している
有限会社小金丸コンピュータエンジニアリングサービスから
bootflp.tar.gzをダウンロードをして適当なフォルダに解凍する。
次にイメージファイルをFDに書き込むために必要なfdimageをダウンロード。
ftp://ftp.freebsd.org/pub/FreeBSD/tools/fdimage.exe
bootflp.tar.gzと同じフォルダまたはパスの通ってるフォルダに置く。
コマンドプロンプトを起動。
C:\bsd\>fdimage boot.flp a:
C:\bsd\>fdimage kern1.flp a:
C:\bsd\>fdimage kern2.flp a:
C:\bsd\>fdimage kern3.flp a:
C:\bsd\>fdimage mfsroot1.flp a:
毎回
C:\bsd\>
と表示されFDDのアクセスランプが消えたのを確認後取り出す。
フロッピーイメージの入れる順番は下記の通り
1.boot.flp
2.kern1.flp
3.kern2.flp
4.kern3.flp
5.boot.flp
6.mfsroot1.flp
7.boot.flp
FreeBSDのCDから起動ディスクを作成する。
コマンドプロンプトを起動後下記のコマンドを入力。
cd D:\floppies
..\tools\fdimage boot.flp a:
..\tools\fdimage kern1.flp a:
..\tools\fdimage kern2.flp a:
..\tools\fdimage kern3.flp a:
..\tools\fdimage mfsroot.flp a:
参考
有限会社小金丸コンピュータエンジニアリングサービス
有限会社小金丸コンピュータエンジニアリングサービスから
bootflp.tar.gzをダウンロードをして適当なフォルダに解凍する。
次にイメージファイルをFDに書き込むために必要なfdimageをダウンロード。
ftp://ftp.freebsd.org/pub/FreeBSD/tools/fdimage.exe
bootflp.tar.gzと同じフォルダまたはパスの通ってるフォルダに置く。
コマンドプロンプトを起動。
C:\bsd\>fdimage boot.flp a:
C:\bsd\>fdimage kern1.flp a:
C:\bsd\>fdimage kern2.flp a:
C:\bsd\>fdimage kern3.flp a:
C:\bsd\>fdimage mfsroot1.flp a:
毎回
C:\bsd\>
と表示されFDDのアクセスランプが消えたのを確認後取り出す。
フロッピーイメージの入れる順番は下記の通り
1.boot.flp
2.kern1.flp
3.kern2.flp
4.kern3.flp
5.boot.flp
6.mfsroot1.flp
7.boot.flp
FreeBSDのCDから起動ディスクを作成する。
コマンドプロンプトを起動後下記のコマンドを入力。
cd D:\floppies
..\tools\fdimage boot.flp a:
..\tools\fdimage kern1.flp a:
..\tools\fdimage kern2.flp a:
..\tools\fdimage kern3.flp a:
..\tools\fdimage mfsroot.flp a:
参考
有限会社小金丸コンピュータエンジニアリングサービス
# cd /usr/ports/net-im/pebrot
# make install clean;rehash
# pebrot // 初回起動はpebrotrcがコピーされる
# vi $HOME/.pebrot/pebrotrc
user=メールアドレス
password=パスワード
#encoding= ISO8859-1
encoding= EUC-JP
参考
腹部hiki - (Linux) Tips - Soft
# make install clean;rehash
# pebrot // 初回起動はpebrotrcがコピーされる
# vi $HOME/.pebrot/pebrotrc
user=メールアドレス
password=パスワード
#encoding= ISO8859-1
encoding= EUC-JP
参考
腹部hiki - (Linux) Tips - Soft
びんずめ堂から必要なファイルをダウンロード。
自分のはintel製だったのでbbrlinux-0.1.0_i.zip for Intel Flashとramdisk-0.1.1.bz2を落とす。
bbrlinux-0.1.0_i.zipを解凍したあと
バイナリエディタのStirlingを使いbbrlinux_i.binを開く。
アドレス000C000の4Dを48に書き換え保存。
PCとBBR-4HGをLANケーブルで直接繋ぐ。
http://192.168.11.1にアクセス
ユーザー名 root
パス なし
アドバンスト→管理→bbrlinux_i.binを選択してファームウェア更新
BBR-4HGの電源入れ直す。
ローカルエリア接続→TCP/IPプロパティ→IPアドレスを自動的に取得する
192.168.0.100が割り当てられる。
puttyで接続タイプTelnetを選択して
192.168.0.1にアクセス
ユーザー名 root
パス bbr4mg
TFTPサーバー Poor TFTP Server for WIN32を使いTFTPサーバを立ち上げる。
ptftp32を実行してAuthorized Directoryをramdisk-0.1.1.bz2のある
ディレクリを選択。
ramdisk-0.1.1.bz2をramdisk.bz2にリネーム。
puttyでログイン後、以下のコマンドを打ち込む。
tftp -g -l /dev/mtd5 -r ramdisk.bz2 192.168.0.100
ctrl-dでログアウト後にACアダプターを外して再起動(rebootコマンドはやらないように!)
再度puttyでアクセス。
パスワード変更 (これを行うことでBBR-4HGの設定ファイルが消えるので注意)
# passwd
# sh /etc/format.sh
# sh /etc/write.sh
これでLinux化出来ました。
Ramdisk dataの作り直し
etc/init.d/rcSを書き換えたくてFreeBSDでramdisk.bz2(ext2)をマウントしようとしたけどOSがサポートしてないと言われマウント出来ず。
調べてみたらFreeBSDだとカーネル再構築が必要なようなのでCentOSでやることに。
FreeBSDで、LinuxのEXT2ファイルシステムをマウントする
解凍
# bunzip2 ramdisk-0.1.1.bz2
マウント
# mkdir /mnt/bbr4mg
# mount -o loop ramdisk-0.1.1 /mnt/bbr4mg
アンマウント
# umount /mnt/bbr4mg
圧縮
# bzip2 -z ramdisk-0.1.1
# mv ramdisk-0.1.1.bz2 ramdisk.bz2
TFTPサーバを再び立ち上げてputtyでアクセスして書き込む。
# tftp -g -l /dev/mtd5 -r ramdisk.bz2 192.168.0.100
再起動
参考
びんずめ堂
BUFFALO BBR-4MG(Linux導入)
自分のはintel製だったのでbbrlinux-0.1.0_i.zip for Intel Flashとramdisk-0.1.1.bz2を落とす。
bbrlinux-0.1.0_i.zipを解凍したあと
バイナリエディタのStirlingを使いbbrlinux_i.binを開く。
アドレス000C000の4Dを48に書き換え保存。
PCとBBR-4HGをLANケーブルで直接繋ぐ。
http://192.168.11.1にアクセス
ユーザー名 root
パス なし
アドバンスト→管理→bbrlinux_i.binを選択してファームウェア更新
BBR-4HGの電源入れ直す。
ローカルエリア接続→TCP/IPプロパティ→IPアドレスを自動的に取得する
192.168.0.100が割り当てられる。
puttyで接続タイプTelnetを選択して
192.168.0.1にアクセス
ユーザー名 root
パス bbr4mg
TFTPサーバー Poor TFTP Server for WIN32を使いTFTPサーバを立ち上げる。
ptftp32を実行してAuthorized Directoryをramdisk-0.1.1.bz2のある
ディレクリを選択。
ramdisk-0.1.1.bz2をramdisk.bz2にリネーム。
puttyでログイン後、以下のコマンドを打ち込む。
tftp -g -l /dev/mtd5 -r ramdisk.bz2 192.168.0.100
ctrl-dでログアウト後にACアダプターを外して再起動(rebootコマンドはやらないように!)
再度puttyでアクセス。
パスワード変更 (これを行うことでBBR-4HGの設定ファイルが消えるので注意)
# passwd
# sh /etc/format.sh
# sh /etc/write.sh
これでLinux化出来ました。
Ramdisk dataの作り直し
etc/init.d/rcSを書き換えたくてFreeBSDでramdisk.bz2(ext2)をマウントしようとしたけどOSがサポートしてないと言われマウント出来ず。
調べてみたらFreeBSDだとカーネル再構築が必要なようなのでCentOSでやることに。
FreeBSDで、LinuxのEXT2ファイルシステムをマウントする
解凍
# bunzip2 ramdisk-0.1.1.bz2
マウント
# mkdir /mnt/bbr4mg
# mount -o loop ramdisk-0.1.1 /mnt/bbr4mg
アンマウント
# umount /mnt/bbr4mg
圧縮
# bzip2 -z ramdisk-0.1.1
# mv ramdisk-0.1.1.bz2 ramdisk.bz2
TFTPサーバを再び立ち上げてputtyでアクセスして書き込む。
# tftp -g -l /dev/mtd5 -r ramdisk.bz2 192.168.0.100
再起動
参考
びんずめ堂
BUFFALO BBR-4MG(Linux導入)
Copyright (C) 2007-2010 大塚味噌醸造所 All Rights Reserved.