IP8の/29で8個のグローバルIPアドレスを(例えば56-63の範囲で)もらっていたりすると、56がネットワークアドレスで63がブロードキャストアドレスに成る。つまり実際には2個減って57-62の6個のIPアドレスだけが使えることに。
(rc.confの設定をまともにやると
ifconfig_bge1="inet 192.168.0.57 netmask 255.255.255.248"な感じ)
だけどFreeBSDをルーターとして使う場合は、netmaskを0xffffffffにすることでネットワークアドレスとブロードキャストアドレスも普通に使えるようになる。これは市販のブロードバンドルーターよりもお得なところ。
/etc/rc.confの設定
ifconfig_bge1="inet 192.168.0.56 netmask 255.255.255.255" ifconfig_bge1_alias0="inet 192.168.0.57 netmask 255.255.255.255" ifconfig_bge1_alias1="inet 192.168.0.58 netmask 255.255.255.255" ... ifconfig_bge1_alias6="inet 192.168.0.63 netmask 255.255.255.255"そしてデフォルトルートも/usr/local/etc/mpd/mpd.linkupで
#!/bin/sh route delete default route add default -interface ng0で設定し直せばOk。
mpdの起動はオレは/etc/start_if.bge1で
#!/bin/sh /usr/local/sbin/mpd -s mpd -b defaultとしている。
ただnet/mpdは
kldload ng_etherするか、カーネル設定ファイルに
options NETGRAPH_ETHERを追加してmake kernelしないとエラーが出て接続しないという現象が有る。理由はmpdが必要なng_etherをロードしていないから。(net/mpdはなんだか開発がイマイチ停滞気味で、こういうちょっとした細かい古さがある。ng_tcpmssのサポートが遅れているとか)
ただnet/mpd4のほうは開発が進んでいるので、この不具合は無いみたいだ。



[ コメントする ]