[Windows] ssh IPv6 port 22: Unknow error. Resolved by using Teredo

採了好幾天的坑今天

就在今天

2020.4.7

成功啦!!

紀錄一下 windows 怎麼 ssh IPv6


https://syuanme.blogspot.com/
一開始直接 ssh [IPv6 地址]
會出現

> ssh[IPv6 地址]
ssh: connect to host [IPv6 地址] port 22: Unknown error


ping 看看呢

> ping [IPv6 地址]
Ping [IPv6 地址] (使用 32 位元組的資料):
PING: 傳輸失敗。一般失敗。
PING: 傳輸失敗。一般失敗。
PING: 傳輸失敗。一般失敗。
PING: 傳輸失敗。一般失敗。

[IPv6 地址] 的 Ping 統計資料:
    封包: 已傳送 = 4,已收到 = 0, 已遺失 = 4 (100% 遺失),


沒錯,會失敗

我試過了 ssh -6、ping -6、ping6 網路上的各種偏方都無法

但是明明 ipconfig 就有 ipv6 位址了卻還是不行

接著試看看 ping localhost 呢

> ping ::1
Ping ::1 (使用 32 位元組的資料):
回覆自 ::1: 時間<1ms
回覆自 ::1: 時間<1ms
回覆自 ::1: 時間<1ms
回覆自 ::1: 時間<1ms

::1 的 Ping 統計資料:
    封包: 已傳送 = 4,已收到 = 4, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
    最小值 = 0ms,最大值 = 0ms,平均 = 0ms


竟然可以了呢,代表這台電腦和 router 還是有支援 IPv6 的
https://syuanme.blogspot.com/

那會不會是 DNS 有問題呢

試看看

> ping -6 ipv6.test-ipv6.com
Ping 要求找不到主機 ipv6.test-ipv6.com。請檢查名稱,然候再試一次。


恩恩找不到

接著我們開啟 windows 的 teredo 服務


> netsh interface teredo set state enterpriseclient server=default
確定。


> ping -6 ipv6.test-ipv6.com

Ping ipv6.test-ipv6.com [2001:470:1:18::125] (使用 32 位元組的資料):
要求等候逾時。
要求等候逾時。
要求等候逾時。
要求等候逾時。

2001:470:1:18::125 的 Ping 統計資料:
    封包: 已傳送 = 4,已收到 = 0, 已遺失 = 4 (100% 遺失),


神奇了吧,可以找的到地址卻一直 timeout

後來研究了老半天才發現

原來



微軟的 teredo 服務器掛了? 嗎?
https://syuanme.blogspot.com/
其實我也不確定

看一下設定檔


>netsh interface teredo dump


# ----------------------------------
# Teredo 設定
# ----------------------------------
pushd interface teredo
set state type=enterpriseclient servername=win1711.ipv6.microsoft.com. servervirtualip=0.0.0.0



popd
# Teredo 設定的結尾


發現 servername=win1771.ipv6.microsoft.com

可以看這篇微軟論壇也有人在討論

https://answers.microsoft.com/en-us/windows/forum/windows_10-networking/teredo-tunneling-adapter-is-missing/aeeae78c-13e8-4bf1-b82d-a0e492d47f50?page=2&auth=1

接著嘗試修改服務器


> netsh interface teredo set state server=teredo.remlab.net
確定。


> ping -6 ipv6.test-ipv6.com

Ping ipv6.test-ipv6.com [2001:470:1:18::119] (使用 32 位元組的資料):
回覆自 2001:470:1:18::119: 時間=3763ms
回覆自 2001:470:1:18::119: 時間=164ms
回覆自 2001:470:1:18::119: 時間=201ms
回覆自 2001:470:1:18::119: 時間=166ms

2001:470:1:18::119 的 Ping 統計資料:
    封包: 已傳送 = 4,已收到 = 4, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
    最小值 = 164ms,最大值 = 3763ms,平均 = 1073ms


哦哦哦

可以了

我不知道要說什麼了 ......真的...

wiki 上有其他的公共 Teredo 伺服器可以試用看看,列在下面
  • teredo.remlab.net / teredo-debian.remlab.net (德國) 還行,延遲稍久 200~800ms
  • teredo.ngix.ne.kr (韓國) Ping 要求找不到主機 ipv6.test-ipv6.com。請檢查名稱,然候再試一次。
  • teredo.managemydedi.com (美國芝加哥) Ping 要求找不到主機 ipv6.test-ipv6.com。請檢查名稱,然候再試一次。
  • teredo.trex.fi (芬蘭) 延遲100~200ms
  • win8.ipv6.microsoft.com (隱藏於Windows RT 8.1中的Teredo伺服器),Windows 7中不存在。 Ping 要求找不到主機 ipv6.test-ipv6.com。請檢查名稱,然候再試一次。
  • win10.ipv6.microsoft.com (Windows10中的Teredo伺服器) Ping 要求找不到主機 ipv6.test-ipv6.com。請檢查名稱,然候再試一次。


可以到下面這個網站測試自己的電腦有沒有支援 IPv4、IPv6

http://test-ipv6.com/


附上前後比對圖

看來還有其他問題要解決呢...

https://syuanme.blogspot.com/
reference:

https://zh.wikipedia.org/wiki/Teredo%E9%9A%A7%E9%81%93

https://www.hostloc.com/forum.php?mod=viewthread&tid=660450&highlight=euserv

https://github.com/XX-net/XX-Net/wiki/IPv6-Win10

https://www.daniao.org/6927.html
https://syuanme.blogspot.com/

留言

張貼留言

熱門文章