[技術] 架設VPN Server於無實體IP區域網路路由

作者: roger5486 (Cin_Sung)   2021-11-14 22:24:16
以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
作者: asdfghjklasd (好累的大一生活)   2021-11-15 04:56:00
3G/4G/5G 都是CGNAT , 但有行動業者可申請Public IP固定的,只有花多少錢的問題翻牆這件事自己弄站點只要你沒資源就是沒什麼用你的4G就慢了搞VPN 會卡在 outbound
作者: roger5486 (Cin_Sung)   2021-11-15 10:17:00
用錢確實可以解決各種問題另想詢問一件事,我可以理解連VPN時,設備的下載速度會受限於VPN Server的上行速度,那連VPN的設備,其上行速度瓶頸在哪呢?
作者: b325019 (望月)   2021-11-15 11:20:00
設備處理能力
作者: asdfghjklasd (好累的大一生活)   2021-11-15 11:27:00
假設你申請的是 60M/20M 網路,那就卡在20M設備CPU的能力也會是個問題,比如你的設備只有300Mbps 的VPN 能力,你申請1G/600M ,那只會跑到300Mbps用錢是可以解決各種問題,前提是自己有技術或者找到技術的人
作者: b325019 (望月)   2021-11-15 11:30:00
vpn會有額外的資料加解密不能這樣看,不過現在的中高階分享器應該頂不到處理能力上限不懂你幹嘛把wifi速率混進來講喔幹我眼殘抱歉
作者: HiJimmy (å—¨ 吉米)   2021-11-16 19:49:00
自己弄最大的問題容易遇上IP不夠用 沒辦法一直換
作者: asdfghjklasd (好累的大一生活)   2021-11-17 02:21:00
我放在雲啊XDDD
作者: a0952864901 (Fish)   2021-11-18 11:38:00
VPN我也是放在雲上 放自家的問題經常是要維護麻煩出口線路速度不夠快 機器不穩 架構稍微複雜 都是問題放雲上一次把上面三個問題解掉
作者: ctes940008 (蛤!我只是小兵!?)   2021-12-10 06:44:00
AMAZON那套虛擬機現在還有免費流量嗎?
作者: asdfghjklasd (好累的大一生活)   2021-12-10 18:29:00
我不是用AWS的XDD
作者: fashionjack (神奇傑克)   2020-01-23 20:53:00
你應該不會高興很久,很快你家的電腦就會被封鎖。對岸ISP專幹這種事, 我是過來人。

Links booklink

Contact Us: admin [ a t ] ucptt.com