ipv6トラブル
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自体を無効化してみる。
hosts設定
さらに、CentOS6.2の場合、マシン名が自動的にhostsファイルに記述されないため、無用なトラブルを起こす。 これを記述する必要がある。
127.0.0.1 localhost localhost.localdomain 192.168.1.106 sample sample.example.com