標籤彙整: RDP

如何通過IPv6遠程桌面連回家裡的Windows電腦

之前的一篇文章,介紹過手搓Python腳本或者bat批處理文件,向cf更新自己的ipv6地址的方法。現在介紹一個傻瓜式的方案。我已經把程序寫好直接使用即可。

使用前提:你必須有一個域名,且託管在cloudflare。家裡路由器請開啟ipv6功能,並調整防火牆設置放行3389端口入站。因為中國網絡的特殊原因,很多家庭寬帶沒有公網ipv4,所以我們使用ipv6連接。

首先獲得cf的api token:登錄cloudflare,右上角點設定,左邊菜單選擇api權杖。點擊建立token按鈕,選擇模板,編輯區域DNS,選擇你準備用來ddns的域名並點擊繼續。(如下圖)

拿到 token 之後。

添加你需要使用ddns的域名dns記錄:回到首頁,點擊你的域名,左邊菜單選擇 DNS – 記錄,點擊添加記錄。因為我們需要添加的是ipv6的記錄,所以選擇AAAA記錄。如下圖。

類型選擇AAAA,名稱填寫你需要的前綴,比如你的域名是 lilith.pro,那麼你填寫一個 ipv6,未來需要使用的ddns域名就是 ipv6.lilith.pro。下面的地址隨便寫一個,因為之後會被我們真實的地址覆蓋,現在可以隨便寫 8888::8 即可。注意proxy這個橙色小雲彩需要選擇關閉。然後點擊儲存。

cf這邊的設置就全部完成了。下面去下載和使用我寫好的程序即可。
請在github頁面直接下載即可:https://github.com/kujourin/cfddns-ipv6-win
點擊右側Release選項對應你系統的版本,一般是x64

將這個 .exe 文件放到一個你以後不會隨便移動的文件夾里(比如 D:\Tools\CFDDNS\)
雙擊運行它一次。
此時程序會發現當前沒有配置文件,它會自動彈出一個提示框,並在同一文件夾下生成一個 config.ini 文件。
使用記事本打開剛剛生成的 config.ini 文件,你會看到以下內容,請替換為你自己的信息:

API_TOKEN:填入你在cf獲得的token。
DNS_NAME:填入你想要綁定的完整子域名(我們剛才添加AAAA記錄的那個)。
ZONE_NAME:填入你的主域名(例如 example.com)。
SLEEP_INTERVAL_SEC:檢查 IP 變動的間隔時間,單位為秒。默認 3600(即 1 小時檢查一次),建議保持默認或設為 600(10分鐘),不要設置得太小以免觸發 API 限制。
填寫完成後,保存並關閉 config.ini。
再次雙擊運行 .exe 文件。
這一次,程序沒有任何界面,它已經開始在後台靜默運行了。只要你的電腦開着,它就會自動更新 IPv6 地址。
退出程序可以直接結束任務。

如果需要開機自啟:找到你存放 cfddns-ipv6.exe 的文件夾,右鍵點擊該程序,選擇創建快捷方式。按下鍵盤上的 Win + R 鍵打開運行窗口,輸入 shell:startup 並回車。這時會打開一個啟動文件夾,將剛才創建好的快捷方式剪切或複製到這個文件夾中。以後每次開機它都會自動在後台運行了。

你使用這個域名得到的ip就是你運行程序的Windows電腦的ipv6地址。
使用Windows自帶的遠程桌面,連接剛才的域名。如果彈出輸入用戶名密碼選項,則說明成功,其他情況請自查ddns ip是否正確,防火牆是否放行。

使用cf域名ddns連接家用ipv6公網地址

最近又折騰了一個其實沒什麼需求的東西,把家裡Windows服務器的ip通過DDNS連接,使我在外面也能通過遠程桌面連回家裡。

其實我的路由器本身就有華碩官方的ddns,也安裝了支持cf的ddns插件,而且家裡也有公網ipv4和ipv6,所以平時我都是wg直接連回家使用家裡的遠程桌面。但是總覺得還要連一個wg有點麻煩,直接ipv4端口映射又不安全。所以想把家裡Windows服務器的ipv6直接用cf的api做成ddns。

其他小夥伴也可以參考,適用於家中有ipv6公網地址且會分配給下面的設備,想通過域名直接連回家中Windows遠程桌面的情況。需要準備:cf的域名,ipv6防火牆放行相關端口(如3389),Windows的機器安過Python。

在需要連接的機器上創建以下兩個文件:

update_ipv6.bat 是用來循環執行 update_ipv6.py 的,當然如果你更喜歡用計劃任務定時運行也一樣。個人愛好,我比較喜歡開機自啟bat然後能看見一個窗體讓我知道它在運行。

運行 update_ipv6.bat 即可每小時更新一次相關的dns記錄。該腳本只更新AAAA記錄,也就是ipv6,因為個人感覺ipv6連內網安全一點,如果需要連同A記錄也更新,可以自行修改,但需要通過第三方網站獲得本機外網ip(因為網卡上的ipv4是內網地址,不能直接獲得)。

如果你的服務器是2022或者以上版本應該會支持powershell,這樣的話不需要使用Python也可以,這樣更方便了。兩個文件可以改為如下:

以上。凜。