https://ipv6-test.com/validate.php を使用してIPv6対応のWebサイトをテストすると(ドメインwww。[private] .comの例)、テストは失敗し、エラーを返します:
IPv6 web server web server is unreachable : Connection refused
https://ready.chair6.net/ のような他のテストサイトも、ipv6に関するさまざまなエラーでテストに失敗しました。
テストを行うときにサーバーにエラーがないことを確認し、ipv6を有効にするためにさまざまなことを行いました。最後に、テストが失敗した理由がわからないため、この問題を無視することにしましたが、サーバーのipv6アドレスにpingを実行できます。しかし、私はこの質問だけを念頭に置いています:
テストでは、ウェブサイトwww。[private] .comは、ipv6アドレスのみを使用して接続するクライアントからのみアクセス可能であると結論付けていますか?はいの場合、私は心配する必要があります。どう思いますか?
説明のために編集(@Piotr P. Karwaszに回答するため):
1)サーバーはIPv6をリッスンします。
2)これはip6tables -nVL INPUTの出力です(サイトをテストするためにファイアウォールを完全に無効にしたが、前述のようにcurlを実行すると接続がまだ拒否されることに注意してください)。
3)リスニングディレクティブについて。はい、ipv6リスニングディレクティブがあります。例サーバーはこの設定を取得しました:
server {
listen ipv4:80
listen ipv6:80 ipv6only=on;
}
server {
listen ipv4:443 ssl http2
listen ipv6:443 ssl http2 ipv6only=on;
}
4)Ipv6構成が有効になっています。
このコマンドを実行するときも:
[ -f /proc/net/if_inet6 ] && echo 'IPv6 ready system!' || echo 'No IPv6 support found! Compile the kernel!!'
出力は次のとおりです。
IPv6 ready system!
5)これを行う場合:netstat -napl | grep 80 nginxやhttpdのように問題なくipv6で実行されているようです。出力は次のとおりです。
このサーバーに関するその他の事項:
a)リバースプロキシとしてのnginx_Apache(フロントエンドとしてのnginxおよびバックエンドとしてのApache)
b)オペレーティングシステムはCentos 8
c)linodeでdirectadmin Hostを使用する(linodeは、その側のIPv6に問題がないことを確認しています)。
編集:解決しました。 IPにタイプミスがあったことを指摘してくれた@Piotr P. Karwaszに感謝します。これは、fe05ではなくf305を置いた1文字IPのタイプミスでした。
検索エンジンによるインデックス作成を防ぐためにドメイン名を編集しました。
ホストがping
を使用してIPv6経由で到達可能かどうかをテストしましたが、実際にはポート80で接続していません。
curl -6 -i http://www.example.com/
接続は失敗します。つまり、次のいずれかです。
サーバーはIPv6ソケットをリッスンしません。これは次の方法で確認できます。
netstat -6nl | grep 80
次のような行を探します:
tcp6 0 0 :::80 :::* LISTEN
そして、設定のListen
ディレクティブを確認してください。
ファイアウォールがIPv6ポートをブロックしています。確認する:
ip6tables -nvL INPUT
また、ポリシーがDROP
で、ポート80のACCEPT
ルールがない場合は、追加する必要があります。
編集:明確にした後で、IPv6アドレスを入力するタイプミスをしたようですnginx構成:アドレスの最後の8桁の16進数を忘れました。 nginx listenするアドレスを本当に指定する必要がない限り、すべてのアドレスを指定するだけです。
listen *:80;
listen [::]:80;