Revision 2 as of 2012-05-23 01:29:16

Clear message
Locked History Actions

Linux/ipv6-trouble

ipv6トラブル

CentOS6.2ではデフォルトでipv6をサポートしているようだが、これが原因でトラブルが起こることがある。 以下では、最初にipv6アドレス「::1」を試し、接続できないとipv4の「127.0.0.1」に接続している。

# telnet localhost 3050
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

telnetの場合は、リトライができるようだが、そうではないプログラムも多々あり、結局「localhostのポートに接続できない」という事態になってしまう。

デフォルトで/etc/hostsには

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

と記述されているが、なぜか二行目のipv6が優先されてしまうようだ。二行目を消すことでも対応できるようだが、ipv6自体を無効化してみる。