web-dev-qa-db-ja.com

ipv6経由でサーバーをsshできません

まず、ipv4は正常に機能します。

だから私は次のセットアップを取得しました:(サーバーはVMとして実行されているArchLinux OSです)

[〜#〜] edit [〜#〜]ルールを追加しました

ACCEPT     tcp      ::/0                 ::/0                 tcp dpt:22

これはポート22ですべての接続を受け入れますが(IP障害でないことを確認するため)、それも機能しません。 ssh ...コマンドで何か問題が発生しているか、ipv6ファイアウォールテーブルが機能していません。

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all      ::/0                 ::/0                 ctstate RELATED,ESTABLISHED
ACCEPT     all      ::/0                 ::/0                
DROP       all      ::/0                 ::/0                 ctstate INVALID
UDP        udp      ::/0                 ::/0                 ctstate NEW
TCP        tcp      ::/0                 ::/0                 tcp flags:0x17/0x02 ctstate NEW
REJECT     tcp      ::/0                 ::/0                 reject-with tcp-reset
REJECT     all      ::/0                 ::/0                 reject-with icmp6-adm-prohibited

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain TCP (1 references)
target     prot opt source               destination         
ACCEPT     tcp      ::/0                 ::/0                 tcp dpt:22

Chain UDP (1 references)
target     prot opt source               destination         

Ip6tableを削除した後、最終的に機能します:Dだから、何が悪かったのかを理解する必要があります:)

1
elp

セットアップについてあまり詳しく説明しなかったので、ここにいくつかの指針があります。

それを確認する...

  • iPv6に対してip_forwardが有効になっています:sysctl net.ipv6.conf.all.forwarding=1
  • リンクローカルアドレス(fe80 ::/10プレフィックス)を扱っていません
  • 実行中のホストからIPv6経由でVMにアクセスできます。
  • ファイアウォールを無効にしてIPv6接続をテストします(ip6tables -F)最初に、動作しているときにルールを追加します。
0
fuero

Edgerouter Xでも同じ問題が発生しました。TCPだけでなく、TCP_UDPを使用するプロトコルでsshポートを設定しようとすると、問題が解決しました。 TCPはIPv4でうまく機能します。

0