docker container也能限制網路流量
1.找出該container專屬的虛擬網路界面
https://github.com/micahculpepper/dockerveth
2.利用wondershaper限制該網路界面進出的流量
https://github.com/magnific0/wondershaper
1.找出該container專屬的虛擬網路界面
https://github.com/micahculpepper/dockerveth
2.利用wondershaper限制該網路界面進出的流量
https://github.com/magnific0/wondershaper
1. 安裝
docker run -e PASSWORD=<password> -p8388:8388 -p8388:8388/udp -d shadowsocks/shadowsocks-libev
2. 打開防火牆 8388/tcp 與 8388/udp ( 可以修改想要port number ,防火牆記得跟著修改即可)
3. client 安裝,
ps. 加密選擇 aes-256-gcm
https://github.com/shadowsocks/shadowsocks-windows
之前介紹過小米路由器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功能修改的.
https://hub.docker.com/r/mattrayner/lamp
輸入:
docker run --name--restart always -p "80:80" -v ${PWD}/app:/app -v ${PWD}/mysql:/var/lib/mysql mattrayner/lamp:latest-1604-php5
ps. latest-1604-php5 是http 2.4 + mysql 5.6 + php 5
一樣不囉唆, 寫成文件, 請到以下連結觀看, svn server更新至VisualSVN 3.9.2已經不能使用匿名讀取, 請輸入 guest/guest 才能檢視!
https://docs.kafeiou.pw/iammis/技術文章/HowTo/10027_(Ubuntu)如何使用ddclient更新DDNS.txt
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
最近研究一大堆科學翻牆的方式, 尤其是買小米路由mini,安裝老毛子韌體, CP值最高.
出差帶一台小米路由,可隨時翻牆.
另外一種方式就是使用Outline, 安裝方式超簡單, 也不用改啥機子, 但Outline server要自行準備作業系統安裝, 這種方式不像小米路由可以放在一般家庭,既是wifi, 也可當翻牆server.
Outline簡易步驟(ubuntu):ps. 因為連線的port有時後會變動,因此防火牆官方建議開放1024~65535 (tcp/udp) , 但是實際上測試會落在10000~65535之間,因為安全考量10000之前有些服務不能開放防火牆, 所以就開放10000以後的就行了, 或是開放1024~65535時候, 記得將不能開放的服務再另外用更高權限鎖回去.
1.(伺服器端)安裝serverwget -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 --reload2.(伺服器端)接下來於伺服器執行管理程式 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了
如何檢查outline-server 是否為最新版本
# 查看shadowbox是否為最新版 docker inspect shadowbox | grep '"shadowbox.' #查看是否能自動檢查到最新版而自動更新 docker logs watchtower