IPv6 導入メモ(1)
May 3, 2017 – 6:53 pm既に書いたように、Asahi-net に対し「IPv6接続機能」を申し込み、「晴れて」IPv6のprefixが割り当てられた。
これを受けて、我が家のLinux Server に対し、IPv4に加えて、IPv6でも動作するように設定してみることにした。
Linux Sever のネットワーク状況:
まず、ifconfigによりLinux Serverのネットワーク状況を確認。
$ ifconfig enp3s0: flags=4163mtu 1500 inet 192.168.11.111 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80::beae:c5ff:fe12:78e2 prefixlen 64 scopeid 0x20 inet6 2405:6581:c740:0:beae:c5ff:fe12:78e2 prefixlen 64 scopeid 0x0 ether bc:ae:c5:12:78:e2 txqueuelen 1000 (Ethernet) RX packets 4994969 bytes 1673615084 (1.5 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 5191723 bytes 4441403468 (4.1 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback) RX packets 42715 bytes 11769935 (11.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 42715 bytes 11769935 (11.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ここで、IPv4アドレス 192.168.11.111に加えて、IPv6アドレスが
2405:6581:c740:0:beae:c5ff:fe12:78e2
になっていることを確認できる。
ここで、前部の64bit部 2405:6581:c740:0: が、このたび、我が家の光回線に割り振られたPrefixに対応。後部の64bit部 beae:c5ff:fe12:78e2 は、このLinux Serverのインタフェース識別子である。
ここで、IPv4アドレス192.168.11.111がプライベート・アドレスであるのに対し、上記のIPv6アドレスはグローバル・アドレスであり、外部ネットワークから直接アクセスすることが可能になる。
割り振られたPrefixは半固定:
我が家のLinux Serverに、グローバルIPv6アドレスが割り振られ、外部ネットワークからこのアドレスにアクセスするわけであるが、残念ながら、このアドレス、固定ではなく、「半固定」という代物である。
半固定というのは、このPrefixを割り振っている、NTT + Asahi-net の都合で変更されることがありうるということ。ITProの解説によれば、「滅多に変わらないが、変わってしまう場合がある。具体的には、NTT東西の局舎設備で故障が発生したり、NTT東西がメンテナンスを実施したりするときに変更される」ようだ。
アドレスが固定でないということは、このIPv6アドレスにより、外部ネットワークから我が家のLinux Serverへの接続が保証されないということになってしまう。ただ、Prefixの変更頻度はそう多くはないということに期待し、なんらかの形で、割り振られる Prefixの変更をモニターしながら、実効的な固定アドレスとして使用してゆくことにする。
Registory の DNS にIPv6アドレスを登録
我が家のLinux Serverの Host(domain) Name: yamasnet.com は、registory Gandi.net DNSのzone fileで設定している。
zone file を編集し、yamasnet.comをIPv6アドレスに対応付けできるようにした。具体的には、Type AAAAレコードを追加し、上記のここにIPv6アドレスを登録した。
Domain Name: yamasnet.com の zone file の一部を以下に示す:
@ 10800 IN A 122.249.183.69 @ 10800 IN AAAA 2405:6581:c740:0:beae:c5ff:fe12:78e2 (省 略) memorandum 10800 IN CNAME yamasnet.com. www 10800 IN CNAME yamasnet.com. @ 10800 IN MX 10 yamasnet.com.
zone fileにみられるように、domain name: yamasnet.com はIPv4、IPv6の両方に対応付けられている。
因みに、IPv6アドレスが変更された時には、手動で、このzone fileを編集・修正することになる。
Linux Server上での各種設定:
- /etc/resolv.conf の設定
# Generated by NetworkManager search flets-east.jp iptvf.jp yamasnet.com nameserver 213.167.229.1 nameserver 202.224.32.1 nameserver 2405:6581:c740:0:225:dcff:fe1c:d0cb
nameserverにgandi.net DNSのAddress(213.167.229.1)を追記。
host コマンドにより、yamasnet.com の host 情報を確認:$ host yamasnet.com yamasnet.com has address 122.249.183.69 yamasnet.com has IPv6 address 2405:6581:c740:0:beae:c5ff:fe12:78e2 yamasnet.com mail is handled by 10 yamasnet.com.
-
/etc/postfix/main.confの設定:
IPv6を有効にする:# Enable IPv4, and IPv6 if supported inet_protocols = all #inet_protocols = ipv4
mynatworks にIPv6 アドレス(prefix)を陽に追記:#mynetworks = 192.168.11.0/24, 127.0.0.0/8 mynetworks = 192.168.11.0/24, 127.0.0.0/8,[2405:6581:c740:0::]/64
-
/etc/dovecot/の設定
# A comma separated list of IPs or hosts where to listen in for connections. # "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces. # If you want to specify non-default ports or anything more complex, # edit conf.d/master.conf. listen = *, [::] #listen = *
-
postfix, dovecot の設定を反映:
# systemctl restart dovecot # systemctl restart postfix