AWSでVPCがIPv6をサポート(オハイオリージョンのみ) その2 | ぼぶろぐ

ぼぶろぐ

以前は、あいらぶLinux♪というタイトルでしたが、
最近はLinux以外のことも書いているので、タイトルを変更しました。
ぼぶちゃんのぶろぐでぼぶろぐです。

前回からの続きで、今回はIPv6のDNSまわりの設定がどのくらいできるかを確認してみました。

 

デフォルトの設定だと、AmazonLinuxのDNSサーバの設定はIPv4しか設定されていませんでした。

$ cat /etc/resolv.conf
options timeout:2 attempts:5
; generated by /sbin/dhclient-script
search us-east-2.compute.internal
nameserver 10.0.0.2

 

ただ、この状態でもIPv6の名前解決はできます。

DNSサーバ自体に設定されているIPアドレスがIPv4でも、DNSの設定にはAAAAレコードを登録することができるので、IPv6の名前解決ができます。

 

$ dig google.com aaaa

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.51.amzn1 <<>> google.com aaaa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2895
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      AAAA

;; ANSWER SECTION:
google.com.             6       IN      AAAA    2a00:1450:400b:c00::71

;; Query time: 1 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Mon Dec 12 01:50:56 2016
;; MSG SIZE  rcvd: 56

 

せっかくIPv6アドレスが使えるようになったので、DNSサーバもIPv6にしてみます。

まず試しにDHCPオプションセットで指定できるかをやってみましたが、IPv6アドレスの指定ができませんでした。

 

 

 

なので、手動で変更しました。

まずは、インターフェースの設定を変更します。

 

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
PEERDNS=no ←PEERDNSの設定を no に変更する
DHCPV6C=yes
DHCPV6C_OPTIONS=-nw
PERSISTENT_DHCLIENT=yes
RES_OPTIONS="timeout:2 attempts:5"
DHCP_ARP_CHECK=no

 

PEERDNSの設定をnoにしないと、/etc/resolv.confの設定を変更しても、DHCPに問い合わせた時に取得するDNSサーバ情報を/etc/resolv.confに上書きしてしまいます。

 

その後、/etc/resolv.confを変更して、ネットワークの再起動をします。

 

$ vi /etc/resolv.conf

"/etc/resolv.conf" 4L, 120Coptions timeout:2 attempts:5
; generated by /sbin/dhclient-script
search us-east-2.compute.internal
nameserver 2001:4860:4860::8888 ←IPv6のDNSサーバを指定する

$ sudo network restartservice
Shutting down interface eth0:  [  OK  ]
Shutting down loopback interface:  [  OK  ]
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  
Determining IP information for eth0... done.

Determining IPv6 information for eth0... done.
[  OK  ]

 

もう一度、名前解決をしてみます。

 

$ dig google.com aaaa

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.51.amzn1 <<>> google.com aaaa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52126
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.            IN    AAAA

;; ANSWER SECTION:
google.com.        299    IN    AAAA    2607:f8b0:400a:807::200e

;; Query time: 21 msec
;; SERVER: 2001:4860:4860::8888#53(2001:4860:4860::8888)
;; WHEN: Mon Dec 12 01:52:17 2016
;; MSG SIZE  rcvd: 56

 

今度は、DNSサーバへの問い合わせもIPv6で行うようになっています。