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自体を無効化してみる。