老毛子Padavan 韌體, 如何透過PowerDNS-Admin更新DDNS

之前介紹過小米路由器mini可以刷老毛子padavan韌體, 不只功能強,還可以啟用shadowsocks功能, 但是有些路由器上網ip是動態的, 因此需要用到DDNS來綁定動態ip, 目前最穩定的DDNS大概就是google domain了, 他支援dyndns 2.
有些人若要綁定自己的網域, 可以安裝PowerDNS-Admin , 這個軟體也支援dyndns 2.
但是問題來了, padavan 與自行建立的PowerDNS-Admin 並不相容, 偶研究了很久, 終於用迂迴的方式搞定.

1. 建立正確的ddns設定文件
vi /etc/storage/script/inadyn.conf

background
verbose 1
checkip-url ip.3322.net /
startup-delay 15
period 600
forced-update 864000
cache-dir /tmp/inadyn
exec /sbin/ddns_updated
system custom@http_srv_basic_auth
  username <帳號>
  password <密碼>
  server-name :
  server-url //nic/update?hostname=<想改的網域主機名字>&myip=
  append-myip
  alias <想改的網域主機名字>

2. 找出padavan啟動後執行的腳本, 於最後一行加上

#!/bin/sh
pid=`ps | grep inadyn | awk 'NR==1{print $1}' | cut -d' ' -f1`
name=`ps | grep inadyn | awk 'NR==1{print $5}' | cut -d' ' -f1`
if  [[ "$name" == "/bin/inadyn" ]];
then
  if [[ -z "$pid" ]]
    /bin/kill $pid
  then
    echo "kill $pid"
  fi
fi
/bin/cp /etc/storage/script/inadyn.conf /etc/
/bin/rm -r /tmp/inadyn
/bin/inadyn --config /etc/inadyn.conf

當然做這些動作之前,padavan要設定啟用DDNS功能, 基本上這樣重開機之後, 會將正確的conf複製到系統目錄上,再重新執行就可以了,
另外設定檔裡面的 ip.3322.net 是可以透過padavan預設的ddns功能修改的.

蘿蔔拷貝robocopy注意事項

robocopy 很好用, win7以上就支援了, 但是備份的時候會造成目錄隱藏, 很不方便.
因此備份的時候請加上這個/A-:SH參數 , MT:8 代表多線程 /W /R 代表重試次數,建議不要太多

robocopy source  dest  /MIR /XD "略過不備份目錄" /A-:SH /MT:8 /W:1 /R:1

若複製時需要複製權限, 請加上 /COPYALL

robocopy SOURCE DEST /MIR /COPYALL /B /MT:8 /W:1 /R:1 /unilog:<log name>
# /copyall /b 皆需要管理者權限

若只是複製為複製到的檔案過去

robocopy SOURCE DEST /E /XC /XN /XO

翻牆的另一個選擇-Outline

最近研究一大堆科學翻牆的方式, 尤其是買小米路由mini,安裝老毛子韌體, CP值最高.
出差帶一台小米路由,可隨時翻牆.

另外一種方式就是使用Outline, 安裝方式超簡單, 也不用改啥機子, 但Outline server要自行準備作業系統安裝, 這種方式不像小米路由可以放在一般家庭,既是wifi, 也可當翻牆server.

Outline簡易步驟(ubuntu):
1.(伺服器端)安裝server
wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh | bash
安裝完畢會出現一組訊息告訴你防火牆哪個port要開啟, 以及一組要給Outline-Manager用到的連結
To manage your Outline server, please copy the following line (including curly
brackets) into Step 2 of the Outline Manager interface:
G
{"apiUrl":"https://xxx:48085/bZxbag3byWdd8I89W9IB1p5jA","certSha256":"1B9C3C3A54D4FE59A26AFCC68E7DA995ABD13FA20CD27430F1EBAA9030BCAD0"}

If you have connection problems, it may be that your router or cloud provider
blocks inbound connections, even though your machine seems to allow them.

- If you plan to have a single access key to access your server make sure
  ports 48015 and 46144 are open for TCP and UDP on
  your router or cloud provider.
此時你需要讓防火牆開啟相對應的port, 請注意port每個伺服器都不一樣
firewall-cmd --add-port=48015/tcp --permanent
firewall-cmd --add-port=48015/udp --permanent
firewall-cmd --add-port=46144/tcp --permanent
firewall-cmd --add-port=46144/udp --permanent
firewall-cmd --reload
2.(伺服器端)接下來於伺服器執行管理程式 Outline-Manager (須使用root或是administrator權限) 將安裝步驟1server所產生的安裝碼(apiUrl), 放到Outline-Manager上, outline 就可以產生會產生一組特別的連結URL: SS://xxxx , 這時候就可以把SS://xxx給需要翻牆的設備. 咖啡偶測試了一下, 這個Outline-Manager使用完畢就可以關閉, 因為實際上的server(步驟1)還繼續執行中. 3.(客戶端)執行Outline-Client(須使用root或是administrator權限) 將步驟2產生的連結URL , SS://xxxxxx 放入client上, 就可以啟動vpn了
ps. 因為連線的port有時後會變動,因此防火牆官方建議開放1024~65535 (tcp/udp) , 但是實際上測試會落在10000~65535之間,因為安全考量10000之前有些服務不能開放防火牆, 所以就開放10000以後的就行了, 或是開放1024~65535時候, 記得將不能開放的服務再另外用更高權限鎖回去.
伺服器端的 Outline-Manager 與 客戶端的 Outline-Client 可於 https://www.getoutline.org 下載 支援 windows , linux 與 Mac ,

如何檢查outline-server 是否為最新版本

# 查看shadowbox是否為最新版
docker inspect shadowbox | grep '"shadowbox.' 

#查看是否能自動檢查到最新版而自動更新
docker logs watchtower
1 ... 53 54 55 56 57 ... 75