access: 181445
MPD(Multi-link PPP daemon for FreeBSD)をインストール。
インストールはパッケージを利用します。
# pkg install mpd5
IPv6のIPアドレスはDHCPv6で取得するのでdhcp6もインストール。
# pkg install dhcp6
/usr/local/etc/mpd5/mpd.conf を編集します。
defaultをPPPoEに変更します。
default: load PPPoE
PPPoEの設定を記載します。
認証ID:xxxxxxxx パスワード:yyyyyyyy インタフェース名:re0
PPPoE: create bundle static B1 set iface enable tcpmssfix set iface route default set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set iface up-script /usr/local/etc/mpd5/script-pppoe.up set iface down-script /usr/local/etc/mpd5/script-pppoe.down set bundle enable ipv6cp create link static L1 pppoe set link action bundle B1 set auth authname xxxxxxxx set auth password yyyyyyyy set link max-redial 0 set link mtu 1454 set link keep-alive 10 60 set pppoe iface re0 set pppoe service "" open
/usr/local/etc/mpd5/script-pppoe.up を編集します。
(IPv6接続時にdefaultを設定し、DHCPv6でIPを取得します)
#!/bin/sh case "$2" in "inet") ;; "inet6") /sbin/route delete -inet6 default /sbin/route -6 add default -iface $1 -mtu 1454 sleep 3 /usr/local/sbin/dhcp6c -c /usr/local/etc/dhcp6c.conf $1 ;; esac exit 0
/usr/local/etc/mpd5/script-pppoe.down を編集します。
(IPv6切断時にdefaultを削除し、DHCPv6クライアントを停止します)
#!/bin/sh case "$2" in "inet") ;; "inet6") kill -9 `pgrep -f 'dhcp6c' ` /sbin/route delete -inet6 default ;; esac exit 0
/usr/local/etc/dhcp6c.conf を編集してDHCPv6 Clientの設定をします。
PPPoEで作られるインタフェース名:ng0 IPv6を割り当てるインタフェース名:re1
interface ng0 { send ia-pd 0; }; id-assoc pd { prefix-interface re1 { sla-len 0; sla-id 0; }; };
/etc/rc.conf に起動の設定を追記します。
mpd_enable="YES" mpd_flags="-s mpd -b"
起動します。
# service mpd5 start