IPv6に対応する備忘録

IPv6でインターネットに接続をする防備録です。

■ インターネット接続ルーターをIPv6に対応する
現在利用しているちょっと古めですが、NEC製のIXルーターで設定した内容です。

フレッツ 光ネクスト向け IPv6インターネット接続 設定ガイド(IPv6 PPPoE)を参照して行いました。

■ IPv6インターネット接続の設定は固定IPではなくDHCP取得方式
IPv6用にPPPoEセッションを定義します。

!
ppp profile ipv6
 authentication myname [プロバイダ接続用ユーザID]
 authentication password [プロバイダ接続用ユーザID] [パスワード]
!

■ DHCPv6の設定
ISPから「IPv6プレフィックス」と「DNSサーバアドレス」の情報を取得して、その情報を基にLAN内のIPv6端末のIPv6アドレスを自動設定するための設定
IPv6のデフォルトゲートウェイ設定とDHCP機能の有効化

ipv6 ufs-cache enable
ipv6 route default FastEthernet0/0.2
ipv6 dhcp enable

■ IPv6 DHCP用プロファイル(ISP側)

!
ipv6 dhcp client-profile dhcp6
 option-request dns-servers
 option-request ntp-servers
 ia-pd subscriber FastEthernet1/0.0
!

■ IPv6 DHCP用プロファイル(LAN側)

ipv6 dhcp server-profile dhcpv6-sv
 dns-server dhcp
!

■ LAN側インターフェイスにIPv6の定義を追加
IPv4とIPv6のデュアルスタック構成になります。

!
interface FastEthernet1/0.0
 ipv6 enable
 ipv6 dhcp server dhcpv6-sv
 ipv6 nd ra enable
 ipv6 nd ra other-config-flag
 no shutdown
!

■ WAN側インターフェイスにフィルタリングの定義を追加
外部からの不正アクセスからLANを守るために、動的フィルタの設定を行います。

ipv6 access-list block-list deny ip src any dest any
ipv6 access-list dhcpv6-list permit udp src any sport eq 547 dest any dport eq 546
ipv6 access-list dhcpv6-list permit udp src any sport eq 546 dest any dport eq 547
ipv6 access-list icmpv6-list permit icmp src any dest any
ipv6 access-list permit-list permit ip src any dest any
ipv6 access-list dynamic dflt-list access permit-list

■ WAN側インターフェイスの設定

!
interface FastEthernet0/0.2
 encapsulation pppoe
 auto-connect
 ppp binding ipv6
 ipv6 enable
 ipv6 dhcp client dhcp6
 ipv6 tcp adjust-mss auto
 ipv6 filter dhcpv6-list 1 in
 ipv6 filter icmpv6-list 2 in
 ipv6 filter block-list 100 in
 ipv6 filter dhcpv6-list 1 out
 ipv6 filter icmpv6-list 2 out
 ipv6 filter dflt-list 100 out
 no shutdown
!

動作確認

# sh ipv6 dhcp client
DHCPv6 client is enabled
 System DUID 00:03:00:01:00:XX:XX:XX:XX:XX
 Statistics:
   Solicit-advertise(reply):
     1 send, 11466 seconds ago
     1 receive, 0 drops, 11466 seconds ago
   Request-reply:
     1 send, 11465 seconds ago
     1 receive, 0 drops, 11465 seconds ago
   Renew-reply:
     1 send, 4265 seconds ago
     1 receive, 0 drops, 4265 seconds ago
Interface FastEthernet0/0.2 is active
 Server address fe80::90:1a00:XXXX:XXXX
 Server identifier 00:03:00:01:XX:XX:XX:XX:XX:XX
 Uptime 1:11:05
 Prefix Delegation:
   Renew 2935 seconds, rebind 7255 seconds
 IA Prefix:
   2001:db8:cc14:c700::/56 vltime 10135 pltime 10135
 DNS Servers:
   2001:db8:11::c01
   2001:db8:11:1::c02
 Statistics:
   Solicit-advertise(reply):
     1 send, 11467 seconds ago
     1 receive, 0 drops, 11467 seconds ago
   Request-reply:
     1 send, 11466 seconds ago
     1 receive, 0 drops, 11466 seconds ago
   Renew-reply:
     1 send, 4266 seconds ago
     1 receive, 0 drops, 4266 seconds ago

IA Prefix:2001:db8:cc14:c700::/56 Globalになっています。
IPv6アドレス範囲
2001:db8:cc14:c700:0000:0000:0000:0000 - 2001:db8:cc14:c7ff:ffff:ffff:ffff:ffff
こんなに広くていいのかな??
IPv6のサブネットを計算してくれるサイトがあります。
IPv6 Calculator Online IP Calculator

■ LAN側から試してみます
WindowsクライアントPCのコマンドプロンプトから

C:\>ping ipv6.google.co.jp

ipv6.l.google.com [2404:6800:4004:815::200e]に ping を送信しています 32 バイトのデータ:
2404:6800:4004:815::200e からの応答: 時間 =3ms
2404:6800:4004:815::200e からの応答: 時間 =4ms
2404:6800:4004:815::200e からの応答: 時間 =3ms
2404:6800:4004:815::200e からの応答: 時間 =7ms

2404:6800:4004:815::200e の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 3ms、最大 = 7ms、平均 = 4ms

OS X 10.11.6

$ ping6 -c 3 ipv6.google.co.jp
PING6(56=40+8+8 bytes) 2001:db8:cc14:c702:XXXX:XXXX:XXXX:XXXX --> 2404:6800:4004:80f::200e
16 bytes from 2404:6800:4004:80f::200e, icmp_seq=0 hlim=52 time=4.842 ms
16 bytes from 2404:6800:4004:80f::200e, icmp_seq=1 hlim=52 time=4.757 ms
16 bytes from 2404:6800:4004:80f::200e, icmp_seq=2 hlim=52 time=6.460 ms

--- ipv6.l.google.com ping6 statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 4.757/5.353/6.460/0.784 ms

Linux ( CentOS7)

$ ping6 -c 3 ipv6.google.co.jp
PING ipv6.google.co.jp(kix05s07-in-x0e.1e100.net (2404:6800:400a:80a::200e)) 56 data bytes
64 bytes from kix05s07-in-x0e.1e100.net (2404:6800:400a:80a::200e): icmp_seq=1 ttl=51 time=10.9 ms
64 bytes from kix05s07-in-x0e.1e100.net (2404:6800:400a:80a::200e): icmp_seq=2 ttl=51 time=10.9 ms
64 bytes from kix05s07-in-x0e.1e100.net (2404:6800:400a:80a::200e): icmp_seq=3 ttl=51 time=10.8 ms

--- ipv6.google.co.jp ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 10.869/10.929/10.962/0.042 ms
$ dig -x 2404:6800:400a:80a::200e
 
; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7_3.1 <<>> -x 2404:6800:400a:80a::200e
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37646
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.a.0.8.0.a.0.0.4.0.0.8.6.4.0.4.2.ip6.arpa. IN PTR

;; ANSWER SECTION:
e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.a.0.8.0.a.0.0.4.0.0.8.6.4.0.4.2.ip6.arpa. 3525 IN PTR kix05s07-in-x0e.1e100.net.

;; AUTHORITY SECTION:
0.0.8.6.4.0.4.2.ip6.arpa. 3525	IN	NS	ns1.google.com.
0.0.8.6.4.0.4.2.ip6.arpa. 3525	IN	NS	ns2.google.com.
0.0.8.6.4.0.4.2.ip6.arpa. 3525	IN	NS	ns3.google.com.
0.0.8.6.4.0.4.2.ip6.arpa. 3525	IN	NS	ns4.google.com.

;; ADDITIONAL SECTION:
ns1.google.com.		3344	IN	A	216.239.32.10
ns2.google.com.		3344	IN	A	216.239.34.10
ns3.google.com.		3344	IN	A	216.239.36.10
ns4.google.com.		3344	IN	A	216.239.38.10