OpenWrt安裝配置Tailscale
什么是tailscale?
Tailscale就是基于Wireguard的一個(gè)聯(lián)網(wǎng)工具,無需公網(wǎng)地址,通過去中心化,實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)之間點(diǎn)對(duì)點(diǎn)的連接.配置簡單友好,支持的各類平臺(tái)和客戶端.
相比較其他組網(wǎng)工具的優(yōu)勢(shì)是什么?
對(duì)比zerotier和wireguard,tailscale更容易連上官方的中轉(zhuǎn)服務(wù)器,webui界面更簡單,適合小白上手,并且可以一鍵更新,不需要公網(wǎng)ip.zerotier在沒有ipv6的情況下很容易連接不上官方中轉(zhuǎn)服務(wù)器導(dǎo)致設(shè)備掉線.wireguard需要公網(wǎng)ip,配置繁瑣而且每次公網(wǎng)ip更換都需要重啟wireguard接口.
tailscale的缺點(diǎn)
如果有自建中轉(zhuǎn)服務(wù)器的需求,tailscale需要80及443端口,對(duì)國內(nèi)的用戶和國內(nèi)的政策要求不太友好,雖然有其他解決辦法不過很麻煩不建議大家使用.如有自建節(jié)點(diǎn)的需求,建議使用zerotier自建moon服務(wù)器.
下面介紹在OpenWrt上的配置過程。
1. 下載軟件
將Tailscale軟件包下載到指定目錄。進(jìn)入tailscale的github releases地址,找到最新的軟件包,下載到本地。然后使用Winscp工具將下載的軟件上傳到OpenWrt的/tmp目錄下,也可以找到下載鏈接,直接使用wget命令下載.
wget https://github.com/adyanth/openwrt-tailscale-enabler/releases/download/v1.60.0-e428948-autoupdate/openwrt-tailscale-enabler-v1.60.0-e428948-autoupdate.tgz
2. 解壓軟件包
tar x -zvC / -f openwrt-tailscale-enabler-v1.60.0-e428948-autoupdate.tgz
3. 安裝依賴包
opkg update
opkg install libustream-openssl ca-bundle kmod-tun
4. 設(shè)置開機(jī)啟動(dòng),驗(yàn)證開機(jī)啟動(dòng)
/etc/init.d/tailscale enable
ls /etc/rc.d/S*tailscale*
5. 啟動(dòng)tailscale
/etc/init.d/tailscale start
6. 獲取登錄鏈接并配置路由
tailscale up

復(fù)制顯示的地址,并在瀏覽器中打開,使用谷歌或微軟帳號(hào)登錄Tailscale的管理主頁進(jìn)行驗(yàn)證。
不建議使用谷歌賬號(hào),因?yàn)槭褂霉雀韬竽闶謾C(jī)在外面鏈接需要先開科學(xué)再登錄谷歌賬號(hào)才能鏈接上tailscale的app.
7. 開啟子網(wǎng)路由
在OpenWrt上輸入以下命令,打開本地子路由。子網(wǎng)地址是OpenWrt的lan網(wǎng)絡(luò)。10.1.2.0/24是我的子網(wǎng),不要無腦復(fù)制我的!!!!!
tailscale up --accept-routes --accept-dns=false --advertise-routes=10.1.2.0/24
在Tailscale的管理頁面上,單擊設(shè)備列表右側(cè)的更多圖標(biāo),禁用密鑰過期,并打開子網(wǎng)路由。

現(xiàn)在在OpenWrt上已經(jīng)可以ping通其他Tailscale節(jié)點(diǎn)了,但其他節(jié)點(diǎn)還無法連接OpenWrt節(jié)點(diǎn),還需要在OpenWrt上添加Tailscale接口。
8. 添加接口
在OpenWrt上新建一個(gè)接口,協(xié)議選靜態(tài)地址,設(shè)備選tailscale0,地址為Taliscale管理頁面上分配的地址,掩碼255.0.0.0。防火墻區(qū)域選lan區(qū)域。


配置完成后如下圖所示:

9. 添加防火墻規(guī)則
將以下內(nèi)容,加到防火墻的自定義規(guī)則當(dāng)中,并重啟防火墻。
iptables -I FORWARD -i tailscale0 -j ACCEPT
iptables -I FORWARD -o tailscale0 -j ACCEPT
iptables -t nat -I POSTROUTING -o tailscale0 -j MASQUERADE

浙公網(wǎng)安備 33010602011771號(hào)