當前位置: 華文世界 > 數位

有了IPV6地址,我們可以用它來幹什麽?

2024-03-26數位

本文透過一個簡單的例子,為大家展示,如何借助IPV6地址和一個2M左右大小的小程式,很方便地隨時隨地存取自己電腦中的所有檔。

這個小程式就是每台電腦必裝的Everything。你該不會沒有聽說過吧?

Everything

Everything是一個強大的檔搜尋工具,幫助您快速定位電腦上的檔和資料夾。憑借其小的安裝檔、幹凈而簡單的使用者介面、快速的檔索引和快速搜尋能力,Everything使得找到您要尋找的內容變得輕松。

最要命的是,2M的軟體竟然還內建了http和ftp伺服器。

我們的目標就配置好Everything的http伺服器,然後透過IPV6地址成功存取。

1 Everything的http伺服器配置

其實真地沒什麽可以配置的。在Everything中Ctrl + P開啟選項,進行左側最下面http伺服器的設定。

只要開啟最上面的「啟用http伺服器」就行,其它都不需要設定。但出於安全,我們可以設定使用者名稱和密碼,再開啟下面的「允許http檔下載」。只能看不能下載不是我們的想要的。

Everything HTTP 伺服器配置

然後開啟瀏覽器,輸入localhost,或 http://127.0.0.1 ,輸入使用者名稱和密碼,即可來到Everything的目錄頁,列有你共享出的硬碟,點選進入相應目錄即可下載。

假如你的電腦內網IP地址是192.168.10.10,你在其它電腦或手機手上的瀏覽器輸入http://192.168.10.10,同樣也可存取。

這個功能,我主要用在Kindle電紙書上。在Kindle的瀏覽器中輸入Everything的伺服器地址,直接將要閱讀的書下載到裝置中,省去連線的麻煩。

但如果外出,脫離了區域網路環境,是否還能存取?除非你有外網地址。IPV4地址我們很少能拿到公網地址,但IPV6地址基本上都是外網地址。我們在可以這裏動動腦筋。

2 為什麽我的電腦上會有那麽多IPV6地址?我該使用哪個?

一般,電信部門分配給我們的IPV6地址都是公網地址,可以直接透過這個地址存取到我們的電腦。但事實果真如此嗎?

例如,上圖中,共有兩個IPV6地址。我們用這兩個地址,來分別存取剛剛設定好的http伺服器,結果是第一個無法存取,第二個臨時地址可以正常存取。

註意:在瀏覽中直接存取IPV6地址,需要將地址放在中括弧中,如http://[2408:8221:25:8b60:abcd:abcd:abcd:abcd]。

看來,分配給我們的IPV6地址中,臨時地址是我們暴露在外網環境中的真正地址。

Windows給我們的兩個IPV6地址中,第一個「IPV6地址」是根據網卡的MAC地址生成的,會暴露MAC地址。而臨時地址是隨機生成的,主要用來對外通訊,主要好處是保護網卡MAC地址。

有人說,最好禁用這個臨時地址,方法也很簡單。管理員許可權執行CMD, 輸入以下命令:

netsh interface IPv6 set privacy state=disable

但個人覺得,出於安全,還是不這麽做更好。

現在,我們設定好了個簡單的伺服器,而且測試用IPV6地址成功存取。那接下來還要做什麽?

下一個問題是,這個臨時的 IPV6地址會變,下一步我們要為它設定一個網域名稱。

3 設定動態網域名稱 DDNS

windows給的臨時IPV6地址會變化,變化的頻率可以透過以下powershell 命令檢視:

get-netipv6protocol

結果中,有用的幾個計畫:

UseTemporaryAddresses : Enabled //臨時IPv6地址開啟
MaxTemporaryDadAttempts : 3 //臨時IPv6的重復地址檢測嘗試次數
MaxTemporaryValidLifetime : 7.00:00:00 //臨時地址最大有效時間

我們在windows中取得的臨時地址,最大有效期為7個小時。

IPV6地址在不斷變化中,即使沒變,一長串數位誰又能記得住?

解決思路:註冊一個動態網域名稱(最好免費的),電腦IP地址發生變化時,能過簡單設定,定期讓網域名稱更新IP地址。我們只用透過網域名稱存取。

所謂動態網域名稱,就是方便IP地址不斷變化的使用者。服務商很多,但支持IPV6的不多(沒有仔細了解)。以下內容以dynv6為例,內容過程盡量簡化。

在dynv6網站註冊,並申請一個免費網域名稱,然後點選「instruction",如下圖。

在開啟的頁面中,下面兩行最重要,一個是你申請的網域名稱,一個是密碼(或令牌,這個不是網站使用者密碼)。記下來。

接下來,研究如何將更新後的IP通知給網域名稱伺服器。方法很多。

方法一:如果使用的是刷了Openwrt或DDWRT的路由,路由裏一般都有DDNS功能,能找到DYNV6的設定頁面。

方法二:家裏刷過Openwrt的路由經常跑不到滿速,現使用的路由中的DDNS裏沒有DYNV6,我用的是最簡單的命令,

https://dynv6.com/api/update?hostname=你的網域名稱&ipv6=$current&token=上面的密碼

然後Windows中計劃任務,設定每隔一段時間自動執行一次。

以上只是IPV6最簡單的一個套用例項,更多的實用數不勝數,等待大家前去開發。