IPv6に対応する備忘録

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

■ IPv6の有効化
過去にIPv6を無効化していたものを有効化します。

方式1

# vi /etc/sysctl.conf

#IPv6 Disabled
#net.ipv6.conf.all.disable_ipv6 = 1 ← リマークするか削除する 

# sysctl -p
# reboot

方式2

# vi /etc/default/grub
GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=fedora-server/root....
↓
GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora-server/root....

# grub2-mkconfig -o /boot/grub2/grub.cfg 
# reboot

確認してみましょう

■ ipアドレスの確認

# ip -6 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: enp1s12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
   inet6 2001:db8:cc14:c702:xxxx:xxxx:xxxx:xxxx/64 scope global noprefixroute dynamic
      valid_lft 13695sec preferred_lft 13695sec
   inet6 fe80::20d:5eff:fe3a:ab16/64 scope link
      valid_lft forever preferred_lft forever

■ 疎通の確認

# ping6 -c3 ipv6.google.co.jp
PING ipv6.google.co.jp(nrt12s11-in-x0e.1e100.net) 56 data bytes
64 bytes from nrt12s11-in-x0e.1e100.net: icmp_seq=1 ttl=52 time=4.30 ms
64 bytes from nrt12s11-in-x0e.1e100.net: icmp_seq=2 ttl=52 time=3.96 ms
64 bytes from nrt12s11-in-x0e.1e100.net: icmp_seq=3 ttl=52 time=4.33 ms

--- ipv6.google.co.jp ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 3.965/4.200/4.330/0.182 ms

■ amavisdのエラー

amavisd: Error Opening file /usr/share/GeoIP/GeoIPv6.dat

とエラーを吐いていたので
https://github.com/maxmind/geoip-api-php/blob/master/tests/data/GeoIPv6.dat
よりダウンロードして
/usr/share/GeoIP/GeoIPv6.dat
に配置しました。

apacheのページを分けてみる

Listen MY-v6fr:80
<VirtualHost MY-v6fr:80>
・・・・・・・・
</VirtualHost>

 Listen MY-fr:80
<VirtualHost MY-fr:80>
・・・・・・・・
</VirtualHost>
# vi /etc/hosts
IPv4アドレス  MY-fr
IPv6アドレス  MY-v6fr

クライアントからIEなどで
http://[IPv6アドレス]
にアクセスしてみるとIPv6のページが表示されるのが確認できます。
※IPv6アドレスを直接指定する時は[]で括ります。

本当にIPv6でアクセスできているのか確認できるサイトがあります。
こちらにアクセスして確認してみましょう。
画像の説明

DNSサーバー

RRレコードにAAAAレコードを追加するだけでサーバーに誘導できます。
この場合、IPv4での問い合わせに、AAAAレコードを返答します。

■ DNSサーバー自身をIPv6に対応させる
IPv6での問い合わせに対応させ、AAAAレコードを返答します。

bindの場合、options に以下を追加することで対応できます。

listen-on-v6 { any; };
または
listen-on-v6 { IPv6アドレス; };

またキャッシュDNSの場合はviewのローカルネット側に

acl "local-net6" {
        2001:db8:cc14:c700::/56; ⇦ 割当てられたアドレス
        fe80::/10;         ⇦ 同一セグメント
};

view "internal" {
         allow-query {
                local-net;
                local-net6; ⇦ 追加する
        }; 
〜省略

のようにすれば利用可能です。

Mailサーバー

Dovecotは変更なく対応していた、PostfixはIPv4 Onlyに設定していたので元に戻す。

# vi /etc/postfix/main.cf
inet_protocols = ipv4
 ↓ 
inet_protocols = all

Postfixを再起動
IPv6でPOP3,SMTPの確認ができました。
クライアント側のPOP3,SMTPサーバー設定はHTTP同様 [] で括って設定しました。

FTPサーバー

proftpdは変更なく対応できました。
クライアント側のFFFTP設定はHTTP同様 [] で括っても括らなくてもOKで、
拡張設定で「ネッワークの種類」は「TCP/IPv6」を選択しました。