SC430のうろ覚え - フリーコラム・Tips

最終更新:

どのシステムでも安全に運用できるという検証はしておりません、あしからず。

FreeBSDで複数IPアドレスを割り当てる

FreeBSDで1枚のNICでも複数のIPアドレスを割り当てることができる。方法は/etc/rc.confに次のような記述をするだけだ。

/etc/rc.conf (抜粋)
ifconfig_de0="inet 192.168.0.100  netmask 255.255.255.0"
ifconfig_de0_alias0="inet 192.168.0.101  netmask 255.255.255.255"

ifconfig_de0_alias0の最後の数字を1つずつ変えて増やしていくことでもっとIPアドレスを割り当てることができる。またネットワークアドレスがオリジナルと同じになる場合は、ネットマスクを255.255.255.255にしておかなければならない。


・・・と、ここまでならいろいろなサイトでも書かれていることだが。

いかねーよ、俺んトコ!

仮想PCにFreeBSD6.1の時はすんなりOKだったが、それをFreeBSD7.1または7.2にアップデートしたシステムでは全てのアクセスが止まってしまう。何回立ち上げなおしても同じ。しかし次のコマンドを試したところ、設定が反映されて複数IPでアクセスできるようになった。

% ifconfig de0 down
% ifconfig de0 up

しかし、これを/usr/local/etc/rc.d/とか/etc/crontabの起動時に登録したとしても・・・たぶん遅いよな。nfsdとかntpdateとかの起動に間に合わないといかんし。

どこかの参考サイトで/etc/rc.d/あたりでifconfigを書いておけとかいう情報があったので、その辺りのスクリプトを眺めてみる。で。

/etc/network.subr (抜粋)
ifalias_up()
{
	_ret=1
	alias=0
	while : ; do
		eval ifconfig_args=\$ifconfig_$1_alias${alias}
		if [ -n "${ifconfig_args}" ]; then
			ifconfig $1 ${ifconfig_args} alias
			ifconfig $1 down
			ifconfig $1 up
			alias=$((${alias} + 1))
			_ret=0
		else
			break
		fi
	done
	return $_ret
}

この部分のこの2行を追加することで、/etc/rc.confの変更で反映されるようになった。めでたし、めでたし?。

Samba 3.3.7が共有ライブラリを見つけられない

Samba 3.0.23がコンパイルされて動いていたFreeBSDで、Samba 3.3.7をコンパイル&インストールしてみた。しかし共有ライブラリが見つからないとエラーになってしまう。

(執筆中)

そこで次のコマンドを使うと見つけることができるようになる。現在の「ライブラリへのパス」に指定したディレクトリを追加する。

% ldconfig -m /usr/local/samba/lib

起動スクリプトでも組み込んでおける。

/usr/local/etc/rc.d/samba.sh (抜粋)
start)
	ldconfig -m /usr/local/samba/lib
	nmbd -D
	smbd -D
	;;

他にも設定する方法もあるみたいだけど、この方法のほうがsambaを起動させる時だけにライブラリへのパスを設定する感じなので、これはこれでイイかも。


SC430インデックスへ
トップページへ

こな