EdgeRouter-Xを購入
自宅の光回線はフレッツ 光ネクスト ファミリー・ハイスピードタイプをずっと使っていたのですが、さすがに遅さを感じていたため、フレッツ 光ネクスト ファミリー・ギガラインタイプに変更することに。
同時にこれまでつかっていたルーターをNEC UNIVERGE IX2015から変更する必要があるため、いろいろと検討したところ、Ubiquiti Networks EdgeRouter Xが安くて良さそうだということで購入。
amazon.co.jpで購入するとPSE認証付き電源1が付属するとのことで、amazonで購入した。
問題発覚
IPv4の設定も一通り終わり、IPv6の設定を行おうとしたところ、問題が発覚。
どうも、IPv6のみのPPPoEだとまともに動かないらしい。
参考
- EdgeRouterLiteでPPPoE IPv6接続ができない件(未解決) - /home/tnishinaga/TechMEMO
- IPv6 only PPPoE = FAIL - Ubiquiti Networks Community
いろいろと試してみたところ、スクリプトを作成することによりとりあえず対応できそう。
やったこと
EdgeOSにsshでログイン
rootシェルにログインし、スクリプトを作成
$ sudo su -
# vi /config/scripts/ppp/ipv6-up.d/ipv6olny
# !/bin/sh
OLD_IFNAME=$1
ipparam=($6)
NEW_IFNAME=${ipparam[0]}
if [ -z "`ip a show dev $NEW_IFNAME | grep 'inet '`" ]; then
. /etc/ppp/ip-pre-up.d/0002rename-pppoe $*
ip link set dev $NEW_IFNAME up state up
for f in `ls /var/run/pppoe-client-sessions/*@$OLD_IFNAME 2> /dev/null`; do
mv $f $(echo $f | sed -e s/$OLD_IFNAME/$NEW_IFNAME/)
done
/etc/ppp/ip-up $NEW_IFNAME $2 $3 $4 $5
fi
# chmod 755 /config/scripts/ppp/ipv6-up.d/ipv6olny
やっていること
IPv4アドレスが付与されていなければ、次の処理を実施。
-
/etc/ppp/ip-pre-up.d/0002rename-pppoe
を動かし、デバイス名の変更を行う。 -
/var/run/pppoe-client-sessions
内のinterface名を変更。 -
/etc/ppp/ip-up
を実行。ここでDHCPv6-PDの処理などが行われる。
制限事項
ログにCouldn't get PPP statistics: No such device
が5秒に1回でてきます。
したがって、ログローテートの設定は必須になります。2
pppdを修正し、/etc/ppp/ipv6-pre-up
対応すればよいらしいのですが、EdgeOSのソースが見つからず、修正できません。
デバイス名の変更ではなくて、pppoeの名前でダミーデバイスを作成してpppデバイスとブリッジするといいような気もしてます。
パフォーマンスは落ちそうですが。