作者roger5486 (LeopardCat)
看板Network
標題[技術] 架設VPN Server於無實體IP區域網路路由
時間Sun Nov 14 22:24:16 2021
以Tailscale架設VPN Server於無實體IP之區域網路路由器
序
本文僅供實驗用目的,本人不對損壞任何硬體設備、喪失保固資格等行為負責,請完全了解
自身行為對設備造成的影響後再進行操作。
個人計畫前往中國工作,想試著在家裡架設個VPN Server來翻牆享受下自由的網路,原本計
畫於Router使用DDNS服務並架設內建的OpenVPN Server,但嘗試後發現自家網路(以4G LTE
作網路分享)並無實體IP而不可行,後嘗試以安裝ZeroTier或Tailscale於路由器上的方式
來避開無實體IP的問題,最終選用Tailscale來完成。本文將介紹
●佈署伺服器環境介紹
●安裝Asuswrt-Merlin韌體於Asus RT-AX68U路由器
●於AX68U上安裝Entware
●於AX68U上安裝Tailscale
●Tailscale的執行與設定
本人家中使用Netgear M1設備將4G LTE網路轉為RJ45乙太網路線,接入RT-AX68U WAN接口後
分享出Wi-Fi。本文以介紹如何設定RT-AX68U為主,Netgear M1設定為IP Passthrough,僅
輸出有線網路給RT-AX68U,不作Wi-Fi分享,不使用Tethering功能。
本文沒有什麼操作過程中的截圖,可以參考文章中連結,後續視本文反應,未來有機會要重
複設定時我再對內容截圖。
消歧義與名詞解釋
●本文提及之IP皆指IPv4
●實體IP:public IP,從網際網路中連線時真正使用的IP
●虛擬IP:private IP,進入區域網路後,於內部網路使用的IP。以4G LTE來說,一般各家
電信商給到的IP皆是虛擬IP,常見的虛擬IP開頭為10.開頭、100.開頭、172.開頭、192.168
開頭
●區域網路:LAN,內部網路,區域網路內使用虛擬IP,所有區域網路內的設備共用一個實
體IP。一般而言在區域網路內的某個設備架設伺服器是可行的,需要在區域網路中對外連線
的設備上設定Port Forwarding,將特定port的流量全部導到架設server的設備,但4G LTE
對外連線的設備是由電信商管理,電信商不會幫你設定Port Forwarding,因此一般要架設
自己的server會需要辦家用有線網路(如光纖、ADSL,或稱固網),擁有自己的實體IP,管
理自己的設備
●DDNS:解決實體IP是浮動IP而非固定IP的問題,但本文不會用到,因為我連實體IP都沒有
一、架構介紹
網路架構
https://i.imgur.com/yl2tTiH.jpg
我計畫中的VPN連線方法
https://i.imgur.com/71KdCJI.jpg
二、Asuswrt-Merlin
Asuswrt-Merlin為一修改過的Asus路由器韌體,可於其網站上查詢是否有使用的路由器型號
的韌體,這種韌體會提供一些額外的功能。
刷入韌體的方法:於Asuswrt-Merlin網站上下載好對應路由器型號的韌體後,連線到自家路
由器管理網頁(如192.168.50.1)→系統管理→韌體更新,上傳Asuswrt-Merlin韌體後開始
更新。
參考:
https://www.asuswrt-merlin.net/
三、Entware
於路由器管理網頁→系統管理→系統設定下的服務,啟動SSH連線,選擇LAN only,設定一S
SH連接埠。透過PC以SSH連線到路由器,例如使用PuTTY,於PuTTY上輸入路由器 IP address
與設定的port,以路由器登入帳密登入。
於路由器上插上一個USB disk,要將USB disk做格式化並使用合適的Format(ext2/ext3/ex
t4),參考下方的YouTube連結,完成後拔除USB disk並重新插回路由器,可以在路由器管
理網頁看看是不是有讀到USB disk或是於putty上輸入df -T確認是不是有讀到這個USB disk
,一般來說路徑為/dev/sda1,格式會為ext3。
輸入amtm,首次進入會要選擇Theme,隨便選,進入後輸入i來顯示所有script,接著輸入ep
來安裝Entware,一路照著說明輸入後就安裝好了
SSH連線可參考
https://www.vermax.cn/334.html前半部分,後半部分提及zerotier,在本
文中沒有使用到zerotier,與Tailscale能做的事情類似,但zerotier可能設定較複雜,我
也沒搞出來。
USB disk格式化與使用amtm部分可以參考
https://youtu.be/ykMxnWvwbog時間2:06-6:15,
影片最後也有安裝Entware可以參考。
四、Tailscale
安裝完Entware後,於PuTTY輸入opkg install tailscale即會自動開始安裝。
五、Tailscale的設定與執行
首先以PC瀏覽器在Tailscale網頁上註冊服務,Tailscale顯示說要兩台以上的設備連線到Ta
ilscale,在一台欲連線至VPN的設備上安裝Tailscale並登入即可建立一個連線。
接下來要設定路由器登入到Tailscale,首先先安裝screen,在PuTTY上輸入opkg install s
creen,安裝完成後輸入screen開啟一個新的輸入頁,關於screen的功能可以參考網路資源
,不使用screen的話在PuTTY關掉後tailscale服務也會關掉。
輸入tailscaled -state \opt\bin\tailscaled &
輸入tailscale up --advertise-exit-node --reset
回應會顯示一個網址要登入
在PC瀏覽器上輸入網址,以同樣的帳號登入Tailscale
於Tailscale管理網頁上將路由器設為exit node
在欲連線至VPN的設備上設exit node為路由器即完成VPN連線功能,可以嘗試透過IP查詢網
站確認是否有完成VPN連線。
Tailscale的使用可以參考
https://post.smzdm.com/p/ad2kw7xx/ ,但我使用的是exit nod
e功能。
六、結果
透過Speedtest by Ookla測速,結果網路速度偏慢,延遲也較高、浮動大,但至少是一個堪
用的VPN Server,小流量看看網站還行,透過家人於日本測試連線也確認確實可用,看影片
網站也可行,但是否能作為於中國穩定翻牆的手段尚不確定,得看我未來的使用體驗了。
尚有一問題是每次路由器重啟要重新連SSH進去開Tailscale,類似電腦重新開機要開啟一些
軟體,懂Linux可以設定自動化的腳本,但我也沒弄,有興趣可以自行研究。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.8.22 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Network/M.1636899863.A.67D.html
1F:→ asdfghjklasd: 3G/4G/5G 都是CGNAT , 但有行動業者可申請Public IP 11/15 04:56
2F:→ asdfghjklasd: 固定的,只有花多少錢的問題 11/15 04:56
3F:→ asdfghjklasd: 翻牆這件事自己弄站點只要你沒資源就是沒什麼用 11/15 04:59
4F:→ asdfghjklasd: 你的4G就慢了搞VPN 會卡在 outbound 11/15 05:06
5F:→ roger5486: 用錢確實可以解決各種問題 11/15 10:17
6F:→ roger5486: 另想詢問一件事,我可以理解連VPN時,設備的下載速度會 11/15 11:00
7F:→ roger5486: 受限於VPN Server的上行速度,那連VPN的設備,其上行速 11/15 11:00
8F:→ roger5486: 度瓶頸在哪呢? 11/15 11:00
9F:→ b325019: 設備處理能力 11/15 11:20
10F:→ asdfghjklasd: 假設你申請的是 60M/20M 網路,那就卡在20M 11/15 11:27
11F:→ asdfghjklasd: 設備CPU的能力也會是個問題,比如你的設備只有300Mbp 11/15 11:28
12F:→ asdfghjklasd: s 的VPN 能力,你申請1G/600M ,那只會跑到300Mbps 11/15 11:28
13F:→ asdfghjklasd: 用錢是可以解決各種問題,前提是自己有技術或者找到 11/15 11:29
14F:→ asdfghjklasd: 技術的人 11/15 11:29
15F:推 b325019: vpn會有額外的資料加解密不能這樣看,不過現在的中高階分 11/15 11:30
16F:→ b325019: 享器應該頂不到處理能力上限 11/15 11:30
17F:→ b325019: 不懂你幹嘛把wifi速率混進來講 11/15 11:31
18F:→ b325019: 喔幹我眼殘抱歉 11/15 11:32
19F:推 HiJimmy: 自己弄最大的問題容易遇上IP不夠用 沒辦法一直換 11/16 19:49
20F:→ asdfghjklasd: 我放在雲啊XDDD 11/17 02:21
21F:推 a0952864901: VPN我也是放在雲上 放自家的問題經常是要維護麻煩 11/18 11:38
22F:→ a0952864901: 出口線路速度不夠快 機器不穩 架構稍微複雜 都是問題 11/18 11:40
23F:→ a0952864901: 放雲上一次把上面三個問題解掉 11/18 11:41
24F:推 ctes940008: AMAZON那套虛擬機現在還有免費流量嗎? 12/10 06:44
25F:→ asdfghjklasd: 我不是用AWS的XDD 12/10 18:29
26F:推 fashionjack: 你應該不會高興很久,很快你家的電腦就會被封鎖。 01/23 20:53
27F:→ fashionjack: 對岸ISP專幹這種事, 我是過來人。 01/23 20:55