読者です 読者をやめる 読者になる 読者になる

ネットワーク設計を見直してみた(内部ネットワークのIPv6対応)(4.2)

今回は、前回忘れていたip6tablesと、サーバー側でNTP, Apacheのv6化と、nmap, curl, ncのv6対応についてまとめる。

前回についてはこちらを参照。
http://d.hatena.ne.jp/aaabbb_200904/20100131/1264942906

ip6tables

Fedora12には、v6向けのiptablesとしてip6tables が付属しているので稼働確認の際には注意。使い方はiptablesとほとんど同じようである。。

# service ip6tables start
# service ip6tables save
# service ip6tables stop

稼働確認の時には気をつけないとハマることになるので注意。。 orz

NTP

NTPサーバー側では、デフォルトでv6アドレスもListenしてくれる。ただし、時刻同期を許可するには、IPv4と合わせて、次のように設定する。

# Hosts on local network are less restricted.
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict -6 ::192:168:1:0 mask ff:ff:ff:ff:ff:: nomodify notrap  <==この行を追加

クライアント側では、ntp.confのserverの部分をv6アドレスを設定する。

server -6 ::192:168:1:15

設定が正しいかどうかは、 ntpd -qd で確認できる。以下のような出力が出ればOKである。

transmit: at 9 ::192:168:1:135->::192:168:1:15 mode 3
  <== NTPの要求
receive: at 9 ::192:168:1:135<-::192:168:1:15 mode 4 code 1 auth 0 <==NTPサーバーからの返答
clock_filter: n 5 off -0.507016 del 0.000591 dsp 0.437525 jit 0.000385, age 0

同期後にntpqで確認するとこんな感じになる。

$ ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 *::192:168:1:15  218.45.21.199    3 u   42 1024  377    0.182  -506.41   6.607
 127.127.1.0     .LOCL.           5 l   27   64  377    0.000    0.000   0.001

Apache

デフォルトだとv6アドレスをListenしないらしいので、IPアドレス固定で次のようにListenさせる必要があるらしい。。(普段あまり使っていないので詳しく調べていない。。)

Listen [::192:168:1:132]:80

クライアント側ではFirefoxはデフォルトでv6レコードがあるか確かめるようなので、AAAAレコードがあれば、問題なくv6で接続しにいく。
ただし、about:config でdisableIPv6dns をtrueにしているとv6で接続しにいかないので注意。

nmap

nmapはv6アドレスに使う場合、-6のオプションが必要らしい。

# nmap -T aggressive -6 ::1

curl

curlでもv6接続を使うことができる。

$ curl http://localhost6

また、-6をつけると、v6として名前解決を行うらしい。

$ curl -6 http://localhost6

なお、

$ curl -6 http://::1

も試してみたのだが、コロンがプロトコル名として解釈されてしまうらしく、上手く使用出来なかった。 orz

nc

nc(好きなポートにつなぎにいける、便利なツール)も、v6に対応している。こちらも-6オプションでv6アドレスだけを使うようにできるらしい。

$ nc -z -v ::1 22
Connection to ::1 22 port [tcp/ssh] succeeded!
$ nc -z -v ::1 23
nc: connect to ::1 port 23 (tcp) failed: Connection refused
$ nc ::1 22
SSH-2.0-OpenSSH_5.2

Protocol mismatch.


こんな感じである。大体の内部サービスはv6化できたので、ひとまずここまででネットワーク変更の話は完了だろうか。。
今後もブリッジ型F/Wや、Quaggaの導入、Nagios, Cactiによるネットワーク監視など試したいことはいくつかあるのだが、順序を立ててやっていこうと思う。。