NGINXを使用してCentOS 7.2でIPv6 Webサーバーをセットアップしようとしています。 IPv6接続の送信と受信をテストしましたが、すべて動作します。私のIP、AAAAレコードなども同様に問題ありません。 FirewallDを有効にするまで、基本的にすべてが問題ありません。
Eth0インターフェースのドロップゾーンにデフォルトで設定されています。 dhcpv6-client、http、https、sshを有効にしました(sshはカスタムポート上にあります)。ファイアウォールが有効になっている場合、IPv6トラフィックはマシンを出入りできません。何でも(ゲートウェイを含む)へのTraceroute6はlocalhostにのみ行きます。ファイアウォールを無効にしても問題ありません。
なぜこれが起こっているのか私にはわかりません。 FirewallDに同じIPv4構成をIPv6トラフィックに適用させるために、オンラインで何も見つかりませんでした。個人的には、コマンドはすべてIPプロトコルに依存しないため、自動的に実行されると思いました。
どんな助けでも大歓迎です。
同じ問題に遭遇しました。 firewalldが配置したルールを介してロジックを実行した後、ドロップゾーンがipv6ネイバーを見つけるために必要なipv6 icmpをブロックしていることがわかりました。すべてのipv6 icmpを許可するルールがありますが、firewalldはそれをドロップルールが適用される入力ゾーンの後に配置します。
これを自分で確認したい場合は、「ip6tables -L -n -v」の出力を確認してください。
だから、素早く汚い修正はこれを行うことです:
firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -p icmpv6 -j ACCEPT
Firewalldは直接ルールを他の入力ルールの前に置くため、ドロップルールの前に行われます。 pingのようなものをブロックしたい場合は、ダイレクトルールも使用しますが、上記のルールの前に必要です。
あなたは次のようなことをするでしょう:
firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -p icmpv6 --icmpv6-type 128 -j DROP
firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 1 -p icmpv6 -j ACCEPT
優先順位はそれらを順番に保ちます。
Vultr(IPv6は完全に機能します)とContabo(IPv6はfirewalldでは機能しません)のインスタンスをいじり回した後、Contaboのカスタムenable_ipv6
スクリプトを実行した後でも、次のsysctlの違いが見つかりました。
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
/etc/sysctl.conf
、/etc/sysctl.d
、/usr/lib/sysctl.d
、/run/sysctl.d
、または他の場所にはそのような設定はありませんが。ですから、それは奥深く、奇妙なハックであるに違いありません。
これは、クリーンインストールの後でさえ発生するため、ファイアウォールで保護された違いにはなり得ないため、ルールはまったくありません。すべてのゾーンを一覧表示しても、奇妙なことは何も表示されません。
とにかく、上記の3行を/etc/sysctl.d/10-ipv6.conf
に入れて(好きなように名前を付けて)、再起動すると、すべてが期待どおりに機能し始めました。
いいえ、IPv6がnet.ipv6.conf.all.disable_ipv6 = 1
で機能し、firewalldがオフになっている理由を聞かないでください。これはまったく意味がありません。