LoginSignup
1
1

More than 5 years have passed since last update.

EdgeRouterでIPv6 PPPoEの設定

Last updated at Posted at 2018-04-15

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つにしてます。 

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1