Edited at

EdgeRouterでIPv6 PPPoEの設定

More than 1 year has passed since last update.


EdgeRouter-Xを購入

自宅の光回線はフレッツ 光ネクスト ファミリー・ハイスピードタイプをずっと使っていたのですが、さすがに遅さを感じていたため、フレッツ 光ネクスト ファミリー・ギガラインタイプに変更することに。

同時にこれまでつかっていたルーターをNEC UNIVERGE IX2015から変更する必要があるため、いろいろと検討したところ、Ubiquiti Networks EdgeRouter Xが安くて良さそうだということで購入。

amazon.co.jpで購入するとPSE認証付き電源1が付属するとのことで、amazonで購入した。


問題発覚

IPv4の設定も一通り終わり、IPv6の設定を行おうとしたところ、問題が発覚。

どうも、IPv6のみのPPPoEだとまともに動かないらしい。


参考

いろいろと試してみたところ、スクリプトを作成することによりとりあえず対応できそう。


やったこと

EdgeOSにsshでログイン

rootシェルにログインし、スクリプトを作成

$ sudo su -

# vi /config/scripts/ppp/ipv6-up.d/ipv6olny


/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デバイスとブリッジするといいような気もしてます。

パフォーマンスは落ちそうですが。





  1. 中身は秋月電子の電源でした。 



  2. とりあえずサイズ1MB、ファイル数5つにしてます。