3 months ago

因為要飛大陸所以又要準備 VPN 了,不過 PPTP 已經無法在 IOS 上使用~~只好研究 shadowsocks 怎麼搞啦

首先安裝 Ubuntu

這次裝最新版的 Ubuntu 16.04.2 server amd64 版

更新系統及防待命

因為我是 NB 拿來當 Server 所以蓋上螢幕就變待機了,什麼 ssh 都斷掉怎麼當 vpn,所以要配置一下

// 切換至 root
sudo -i

// 更新跟升級
apt-get update
apt-get upgrade
// 防止Ubuntu進入待命狀態
vi /etc/systemd/logind.conf

// 尋找 (/HandleLidSwitch) 把
// #HandleLidSwitch=suspend
// 改成
HandleLidSwitch=ignore

配置 ssh key 登入

// 產生 ssh key
ssh-keygen -t rsa
// 將公鑰內容複製到 authorized_keys
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
// 私鑰自己存下來後可以刪除 server上的私鑰,然後再用 puttygen 轉成 ppk
mv ~/.ssh/id_rsa ~

// 配置設定檔
vi /etc/ssh/sshd_config

Port 8022
PasswordAuthentication no
PubkeyAuthentication yes

// 重啟服務
/etc/init.d/sshd restart
/ or
sudo systemctl reload sshd

安裝 shadowsocks

這邊有個簡單安裝方式 [教學] Shadowsocks 服務架設與設定

// 取得安裝文件
sudo wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh
// 改為可執行
sudo chmod +x shadowsocksR.sh
// 啟動安裝並將過程寫入至 log
./shadowsocksR.sh 2>&1 | tee shadowsocksR.log

安裝完會顯示

指令部分
啟動服務:/etc/init.d/shadowsocks start
停止服務:/etc/init.d/shadowsocks stop
重啟服務:/etc/init.d/shadowsocks restart
服務狀態:/etc/init.d/shadowsocks status

路徑部分
設定檔:/etc/shadowsocks.json
Log 檔:/var/log/shadowsocks.log
安裝目錄:/usr/local/shadowsocks

設定檔
/etc/shadowsocks.json

如何配置不同 port 跟密碼

防火牆

啟用
sudo ufw enable

停用
sudo ufw disable

狀態
sudo ufw status
已啟用
Status: active
未啟用
Status: inactive

sudo ufw allow ssh ( 使用服務名稱來允許連入,服務名稱請參考 /etc/services 檔案 )
sudo ufw allow in 8080 ( 使用 Port 號來允許連入 )
sudo ufw deny out 4662 ( 使用 Port 號來拒絕連出到別台電腦的指定 Port 號 )
sudo ufw deny in 4662/udp ( 使用 Port 號來拒絕接受指定 Port 號的 UDP 連入要求 )

這邊有比較細的教學
Ubuntu 用 ufw 指令快速啟用和設定防火牆 Read more: http://www.arthurtoday.com/2013/12/ubuntu-ufw-add-firewall-rules.html#ixzz4gE2PJUKI

這樣基本上是裝好了,但是我想更懶~用 Docker

使用 Docker

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
    
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

sudo apt-get update

sudo apt-get install docker-ce

sudo docker run hello-world

sudo docker pull oddrationale/docker-shadowsocks

docker run -d -p 1984:1984 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 1984 -k paaassswwword -m aes-256-cfb

Docker 安裝自己看官網教學吧

或是 http://bilab.pro/2017/03/20/install_docker_ce_on_ubuntu/

重點最後這個啟動 oddrationale/docker-shadowsocks

-d——容器启动后会进入后台
-p(第一个)——指定要映射的端口,使用的格式是hostPort:containerPort,即本地的 54285 端口映射到容器的 54285 端口
-s——服务器IP
-p(第二个)——代理端口
yourpasswd——你的密码
-m——加密方式

搞定

來源
[教學] Shadowsocks 服務架設與設定 - 看板 WorkinChina - 批踢踢實業坊
Get Docker for Ubuntu - Docker Documentation
Shadowrocket 入门使用教程 - 简书
「玩物志」Shadowrocket的使用及配置 | TNK
ShadowsocksX-NG
客户端 - shadowsocks.com.hk
MAC可用新版本SS客户端 ShadowsocksX-NG – 科学上网
佛跳墙|Macbook如何上使用Shadowsocks教程
Mac OS X设置使用 ShadowSocks教程 - 简书
Docker + DigitalOcean + Shadowsocks 5分钟科学上网 // Jin Liu
Docker实战(1)——使用Docker快速搭建Shadowsocks服务器 - 简书

← 將 Swagger 輸出成 HTML 文檔 SpringBoot接收ajp →
 
comments powered by Disqus