0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EdgeRouterでインターリンクのIPv6接続サービス(PPPoE方式)を設定する

Last updated at Posted at 2023-03-01

はじめに

インターリンクのフレッツ接続 ZOOT NEXTの無料オプションサービスIPv6接続サービス(PPPoE方式)をEdgeRouter4に設定したときのメモです。
EdgeRoute Xでも同手順で設定可能です。

今更pppoeでのIPv6ですが、現状接続速度に不満もなくIPoEよりも若干安いので。。。

前提条件

  • ファームウェア Ver 2系
  • eth0 IPv4(PPPOE)でwanと接続
  • eth1 IPv6(PPPOE)でwanと接続
  • eth2 IPv4/IPv6でLANと接続
  • eth3 未使用

ポートの使用状況が異なる場合や、スイッチやブリッジを作成している場合は以下ポートの読み替えやスイッチ・ブリッジの設定を変更してください。

IPv6接続サービス(PPPoE方式)の申込

インターリンクのマイメニューからIPv6接続サービスの申込を行ってください。
IPv6用の接続IDが払い出されます。

ONUとEdgeRoute間にスイッチを追加

通常はONUとEdgeRouteを直接LANケーブルで接続していると思います。
ONUとEdgeRouter間にスイッチを入れてONU、EdgeRouterのeth0、EdgeRouterのeth1を接続します。
ONUとEdgeRouterを1:1で接続しても良いのですが、IPv6設定中にIPv4に影響を及ぼすことやEdgeRouterのポートも開いていることからIPv4とIPv6でWAN側のポートを分けました。
スイッチのLEDでIPv4とIPv6の通信状況が視覚的に分かるってのも良いです。

firewallの設定

IPv4では通常lan内はプライベートアドレスになるためwan⇒lanの通信については直接通信できず、必要な分だけport-forwardを設定していきますが、IPv6ではLAN内もグローバルアドレスになるのでfirewallが無いとIPv6では外部からアクセスし放題になります。
IPv6はデフォルトではfirewallで全通信を拒否し、必要な分だけ穴開けします。

  • wan⇒router
    お約束&デフォルトは全てdrop&dchpとicmpを許可
set firewall ipv6-name WANv6_LOCAL description 'WAN inbound traffic to the router'
set firewall ipv6-name WANv6_LOCAL enable-default-log
set firewall ipv6-name WANv6_LOCAL default-action drop
set firewall ipv6-name WANv6_LOCAL rule 10 action accept
set firewall ipv6-name WANv6_LOCAL rule 10 description 'Allow established/related sessions'
set firewall ipv6-name WANv6_LOCAL rule 10 state established enable
set firewall ipv6-name WANv6_LOCAL rule 10 state related enable
set firewall ipv6-name WANv6_LOCAL rule 20 action drop
set firewall ipv6-name WANv6_LOCAL rule 20 description 'Drop invalid state'
set firewall ipv6-name WANv6_LOCAL rule 20 state invalid enable
set firewall ipv6-name WANv6_LOCAL rule 30 action accept
set firewall ipv6-name WANv6_LOCAL rule 30 description 'Allow IPv6 icmp'
set firewall ipv6-name WANv6_LOCAL rule 30 protocol ipv6-icmp
set firewall ipv6-name WANv6_LOCAL rule 40 action accept
set firewall ipv6-name WANv6_LOCAL rule 40 description 'allow dhcpv6'
set firewall ipv6-name WANv6_LOCAL rule 40 destination port 546
set firewall ipv6-name WANv6_LOCAL rule 40 protocol udp
set firewall ipv6-name WANv6_LOCAL rule 40 source port 547
  • wan⇒lan
    お約束&デフォルトは全てdrop&icmpを許可
set firewall ipv6-name WANv6_IN default-action drop
set firewall ipv6-name WANv6_IN description 'WAN inbound traffic forwarded to LAN'
set firewall ipv6-name WANv6_IN enable-default-log
set firewall ipv6-name WANv6_IN rule 10 action accept
set firewall ipv6-name WANv6_IN rule 10 description 'Allow established/related sessions'
set firewall ipv6-name WANv6_IN rule 10 state established enable
set firewall ipv6-name WANv6_IN rule 10 state related enable
set firewall ipv6-name WANv6_IN rule 20 action drop
set firewall ipv6-name WANv6_IN rule 20 description 'Drop invalid state'
set firewall ipv6-name WANv6_IN rule 20 state invalid enable
set firewall ipv6-name WANv6_IN rule 30 action accept
set firewall ipv6-name WANv6_IN rule 30 description 'Allow IPv6 ICMP'
set firewall ipv6-name WANv6_IN rule 30 protocol icmpv6
  • 必要なポートを穴開け
    以下の例だとdns/http/httpsの例
    IPアドレスは"xxxx:xxxx:xxxx:xxxx::/64"のような指定も可能
set firewall ipv6-name WANv6_IN rule 100 action accept
set firewall ipv6-name WANv6_IN rule 100 description dns
set firewall ipv6-name WANv6_IN rule 110 destination address 'xxxx:xxxx:xxxx::xxxx'
set firewall ipv6-name WANv6_IN rule 100 destination port 53
set firewall ipv6-name WANv6_IN rule 100 protocol tcp_udp
set firewall ipv6-name WANv6_IN rule 110 action accept
set firewall ipv6-name WANv6_IN rule 110 description http
set firewall ipv6-name WANv6_IN rule 110 destination address 'xxxx:xxxx:xxxx::xxxx'
set firewall ipv6-name WANv6_IN rule 110 destination port 80
set firewall ipv6-name WANv6_IN rule 110 protocol tcp
set firewall ipv6-name WANv6_IN rule 110 action accept
set firewall ipv6-name WANv6_IN rule 110 description https
set firewall ipv6-name WANv6_IN rule 110 destination address 'xxxx:xxxx:xxxx::xxxx'
set firewall ipv6-name WANv6_IN rule 110 destination port 443
set firewall ipv6-name WANv6_IN rule 110 protocol tcp
  • MSSクランプの設定
    ちょっと自信がないのですが、色々調査&自分で試した結果インターリンクのIPv6(pppoe)使用時は1394で良いようです。
set firewall options mss-clamp6 interface-type pppoe
set firewall options mss-clamp6 mss 1394

eth1(IPv6 PPPOE)の設定

まずはeth1の設定をリセット

interfaces ethernet eth1

pppoeのID/PASSは良い感じに書き換えてください。
set interfaces ethernet eth1 pppoe 1 dhcpv6-pd pd 1 interface eth2 service slaac
↑このeth2はLANに設定されるポートを指定してください。
この行でeth2にIPv6アドレスを設定しています。

set interfaces ethernet eth1 description 'Internet (PPPoE) IPv6'
set interfaces ethernet eth1 duplex auto
set interfaces ethernet eth1 pppoe 1 default-route auto
set interfaces ethernet eth1 pppoe 1 dhcpv6-pd pd 1 interface eth2 service slaac
set interfaces ethernet eth1 pppoe 1 dhcpv6-pd rapid-commit enable
set interfaces ethernet eth1 pppoe 1 firewall in ipv6-name WANv6_IN
set interfaces ethernet eth1 pppoe 1 firewall in name WAN_IN
set interfaces ethernet eth1 pppoe 1 firewall local ipv6-name WANv6_LOCAL
set interfaces ethernet eth1 pppoe 1 firewall local name WAN_LOCAL
set interfaces ethernet eth1 pppoe 1 ipv6 address autoconf
set interfaces ethernet eth1 pppoe 1 ipv6 dup-addr-detect-transmits 1
set interfaces ethernet eth1 pppoe 1 ipv6 enable
set interfaces ethernet eth1 pppoe 1 mtu 1454
set interfaces ethernet eth1 pppoe 1 name-server auto
set interfaces ethernet eth1 pppoe 1 password xxxxxxxxxx
set interfaces ethernet eth1 pppoe 1 user-id xxxxxxxxxx@xx.il24.net
set interfaces ethernet eth1 speed auto

eth2(LAN)の設定

IPv6設定前は以下の設定だけしていました。

set interfaces ethernet eth2 address 192.168.1.1/24
set interfaces ethernet eth2 description Lan
set interfaces ethernet eth2 duplex auto
set interfaces ethernet eth2 speed auto

IPv6では以下の設定を追加しています
殆どRouter Advertisement(RA、ルーター広告)の設定になりますが、詳細は各自調べてください。
IPv6ではクライアントはdhcpを使用せず、RAを使用してIPv6アドレスを自動設定します。(dhcpも使用できます)

set interfaces ethernet eth2 ipv6 address autoconf
set interfaces ethernet eth2 ipv6 dup-addr-detect-transmits 1
set interfaces ethernet eth2 ipv6 router-advert cur-hop-limit 64
set interfaces ethernet eth2 ipv6 router-advert default-lifetime 1800
set interfaces ethernet eth2 ipv6 router-advert default-preference high
set interfaces ethernet eth2 ipv6 router-advert link-mtu 0
set interfaces ethernet eth2 ipv6 router-advert managed-flag false
set interfaces ethernet eth2 ipv6 router-advert max-interval 200
set interfaces ethernet eth2 ipv6 router-advert min-interval 10
set interfaces ethernet eth2 ipv6 router-advert other-config-flag false
set interfaces ethernet eth2 ipv6 router-advert prefix '::/56' autonomous-flag true
set interfaces ethernet eth2 ipv6 router-advert prefix '::/56' on-link-flag true
set interfaces ethernet eth2 ipv6 router-advert prefix '::/56' preferred-lifetime 604800
set interfaces ethernet eth2 ipv6 router-advert prefix '::/56' valid-lifetime 2592000
set interfaces ethernet eth2 ipv6 router-advert reachable-time 0
set interfaces ethernet eth2 ipv6 router-advert retrans-timer 0
set interfaces ethernet eth2 ipv6 router-advert send-advert true

ウチでは別途内部用のネームサーバが有るのでそのサーバを指定していますが、EdgeRouterのdns forwardingを使うなら後述する方法でルーターのIPv6アドレスを調査してからname-serverを追加します。

set interfaces ethernet eth2 ipv6 router-advert name-server '2001:xxxx:xxxx:xxxx::x'

IPv6のルーティング設定
pppoe1の部分は通常ipv4がpppoe0、ipv6がpppoe1になるかと思いますが、正しくはip aやshow interfacesで調査してください。

set protocols static interface-route6 '::/0' next-hop-interface pppoe1

接続確認

ここまで設定すればipv6での接続が出来ていると思います。
EdgeRouter上でIPアドレスが割り振られているか確認してみます。

admin@EdgeRouter-4:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address                        S/L  Description
---------    ----------                        ---  -----------
eth0         -                                 u/u  Internet (PPPoE) IPv4
eth1         -                                 u/u  Internet (PPPoE) IPv6
eth2         192.168.1.1/24                    u/u  Lan
             2001:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:3334/56
eth3         -                                 u/D
lo           127.0.0.1/8                       u/u
             ::1/128
pppoe0       61.206.120.198                    u/u
pppoe1       -                                 u/u

eth2にIPv6のアドレスが割り振られていればOKです。
うまく言っていないときはログが /var/log/vyatta/ppp_pppoe1.log に有ります。
割り振られたIPアドレスはメモっておいてください。
2001:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:3334/56
この場合56bitのアドレスが割り当てられているので、
2001:xxxx:xxxx:xx00::~2001:xxxx:xxxx:xxFF::まで使用することが出来ます。

ping ipv6.google.com を実行して問題なければルーターからはIPv6でWANと通信できています。

admin@EdgeRouter-4:~$ ping ipv6.google.com
PING ipv6.google.com(2404:6800:4004:825::200e (2404:6800:4004:825::200e)) 56 data bytes
64 bytes from 2404:6800:4004:825::200e (2404:6800:4004:825::200e): icmp_seq=1 ttl=117 time=11.1 ms
64 bytes from 2404:6800:4004:825::200e (2404:6800:4004:825::200e): icmp_seq=2 ttl=117 time=10.5 ms

ルーターに固定のIPv6アドレスを割り振る

ルーターには自動で設定されたIPアドレスが設定されていますが、このままだと不便なので別途指定のアドレスに変更します。
今回ルーターには 2001:xxxx:xxxx:xx00::1/56 のアドレスを割り振ります。

set interfaces ethernet eth2 address '2001:xxxx:xxxx:xx00::1/56'

また、eth2へ自動でのIPv6アドレス設定を削除します

delete interfaces ethernet eth1 pppoe 1 dhcpv6-pd pd 1 interface eth2

これでルーターのIPアドレスが固定になったので、dns等の各種サービスに設定出来ます。

クライアントからのアクセス

RAを受け入れるクライアントはこの時点でIPv6が設定されてIPv6で通信が出来るようになっているはずです。
ipv6のテストが行えるサイトで確認してください。

https://test-ipv6.com/
image.png

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?