PPPoEの導入
ブロードバンドルータ化する
FreeBSD 8.0 に PPPoE を導入し、ブロードバンドルータ化する。
ports は net/mpd4 を使用する。
参考URL:
http://freebsd.fkimura.com/pppoe-a0.html
http://simasimapants.blog79.fc2.com/blog-entry-274.html
インタフェース確認
WAN 側のネットワークインタフェースは em0 とする。
# ifconfig em0 em0: flags=8843metric 0 mtu 1500 options=9b ether XX:XX:XX:XX:XX:XX inet 192.168.n.n netmask 0xffffff00 broadcast 192.168.n.255 media: Ethernet autoselect (1000baseT ) status: active
/boot/loader.conf
/boot/loader.conf に次の行を追加。
# vi /boot/loader.conf ng_pppoe_load="YES"
カーネルモジュールは次の通りとなった。
ng_pppoe_load="NO" のとき # kldstat Id Refs Address Size Name 1 1 0xffffffff80100000 d188c0 kernel ng_pppoe_load="YES" を追加 # kldstat Id Refs Address Size Name 1 5 0xffffffff80100000 d188c0 kernel 2 1 0xffffffff80e19000 6cd8 ng_pppoe.ko 3 2 0xffffffff80e20000 14e10 netgraph.ko
ports 導入
# portinstall net/mpd4
オプション指定
Options for mpd 4.4.1_1 [ ] NG_CAR Use ng_car kernel module from port (<7.0 only) [ ] NG_IPACCT Use ng_ipacct kernel module from port
設定ファイル
設定ファイルは以下に保存されている。
# cd /usr/local/etc/mpd4 # ls -l -r--r--r-- 1 root wheel 10999 Mar 6 15:08 mpd.conf.sample -r--r--r-- 1 root wheel 3778 Mar 6 15:08 mpd.links.sample -r--r--r-- 1 root wheel 39204 Mar 6 15:08 mpd.script.sample -r--r--r-- 1 root wheel 834 Mar 6 15:08 mpd.secret.sample
設定ファイルのサンプルをコピーして編集する。(太字は追記、取消線は削除を意味する)
# cp -Rp mpd.conf.sample mpd.conf # vi mpd.conf startup: # enable TCP-Wrapper (host_access(5)) to block unfriendly clients set global enable tcp-wrapper # configure the console set console port 5005 set console ip 0.0.0.0 set console user foo bar set console user foo1 bar1 set console open# configure the web serverset web port 5006set web user foo barset web opendefault:load myispload PPPoE PPPoE: new -i ng0 PPPoE PPPoE set iface addrs 1.1.1.1 2.2.2.2 set iface route default set iface disable on-demand set iface mtu 1454 set iface idle 0 set ipcp yes vjcomp set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set bundle disable multilink set auth authname HOGE@FUGA.com set link no acfcomp protocomp set link disable pap chap set link accept chap set link mtu 1454 set link mru 1454 set link keep-alive 10 60 open
mpd.links の編集
WAN 側インタフェースは上述のとおり em0 である。
# cp -Rp mpd.links.sample mpd.links
# vi mpd.links
PPPoE:
set phys type pppoe
set pppoe iface em0
set pppoe service "whatever"
set pppoe disable incoming
set pppoe enable originate
mpd.secret の編集
# cp -Rp mpd.secret.sample mpd.secret # vi mpd.secret HOGE@FUGA.com HogeFugaPasswordMyLogin MyPassword PeerLogin PeerPassword fred "fred-pw" joe "foobar" 192.168.1.1 bob "\x34\"foo\n" 192.168.1.10/24 sal "yipee" 192.168.1.254
mpd.secret を他のユーザから読まれないように、パーミッションを変更しておく。
# chmod 400 mpd.secret # ls -l mpd.secret -r-------- 1 root wheel 879 Mar 6 18:47 mpd.secret
/etc/rc.conf に追記
mpd_enable="YES" mpd_flags="-s mpd -b"
mpd のログを取るため、/etc/syslog.conf を編集
# vi /etc/syslog.conf !mpd *.* /var/log/mpd.log !ppp *.* /var/log/ppp.log !*
ログのローテーションをするため、/etc/newsyslog.conf を編集
# vi /etc/newsyslog.conf /var/log/mpd.log 600 5 100 * JC /var/run/mpd.pid
IPアドレスの再割り当て
/etc/rc.conf でネットワークインタフェースの IP アドレスなどを書き換えた時は、/etc/netstart を実行して、/etc/rc.conf を再読み込みさせる。
参考URL:http://www.server-memo.net/freebsd/freebsd-ip-setting
# /etc/netstart