Linux
無法通過 ipv6 SSH 伺服器
第一:ipv4 工作正常。
所以我得到了以下設置:(伺服器是作為 VM 執行的 Arch Linux 作業系統)
編輯 添加了一條規則
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 所以我需要弄清楚出了什麼問題:)
鑑於您沒有詳細介紹設置,這裡有一些提示:
驗證…
- 您為 IPv6 啟用了 ip_forward:
sysctl net.ipv6.conf.all.forwarding=1
- 你不是在處理連結本地地址(fe80::/10 前綴)
- 您可以從執行它的主機通過 IPv6 訪問虛擬機。
- 您首先在禁用防火牆 (
ip6tables -F
) 的情況下測試 IPv6 連接,並在其工作時添加規則。
我的 Edgerouter X 也有同樣的問題。我嘗試使用 TCP_UDP 協議設置 ssh 埠,而不僅僅是 TCP,解決了這些問題。TCP 適用於 IPv4。