access: 213241
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 インタフェース名:igb0
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 link max-redial 0
set link mtu 1454
set link keep-alive 10 60
set pppoe iface igb0
set pppoe service ""
open
/usr/local/etc/mpd5/mpd.secret を編集します。
XXXXXXXX YYYYYYYY
認証情報を作成したら、root以外の人から読めなくしておきます
# chmod 200 /usr/local/etc/mpd5/mpd.secret # chown root.wheel /usr/local/etc/mpd5/mpd.secret
/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 5
/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を割り当てるインタフェース名:em0
interface ng0 {
send ia-pd 0;
};
id-assoc pd {
prefix-interface em0 {
sla-len 0;
sla-id 0;
};
};
/etc/rc.conf に起動の設定を追記します。
mpd_enable="YES"
起動します。
# service mpd5 start