aws搭建shadowsocks服務器

前段時間一直在忙open***的事情,現在手頭有臺aws服務器,打算利用起來。

如何利用呢?利用這臺服務器進行科學上網,實際需求如下。

一、實際需求

在國內搜索技術文章,如果使用baidu的話,你懂的。因此就轉向google,但是由於衆所周知的原因,我們無法訪問google。

剛好現在有一臺aws的服務器,就想弄個shadowsocks服務器進行科學上網。

爲什麼使用shadowsocks進行科學上網呢?

shadowsocks有如下特點:

快速(異步I/O和事件驅動程序)

安全(所有的流量都經過加密算法加密,支持自定義算法)

支持移動客戶端(專爲移動設備和無線網絡優化)

跨平臺(可運行於包括PC,Mac,手機(Android和iOS)和路由器(OpenWrt)在內的多種平臺上)

開源、易於維護

二、安裝shadowsocks

aws服務器,我使用的是亞馬遜的自己的系統Amazon Linux AMI,如下:

cat /etc/system-release

clip_p_w_picpath001

仔細對比了下,其實這個系統就是centos系統,不過應該是經過定製的。

有關shadowsocks的安裝,我們可以通過以下網址進行查看,如下:https://github.com/shadowsocks/shadowsocks

centos下安裝命令如下:

yum install -y python-setuptools

easy_install pip

pip install shadowsocks

如果是ubuntu系統,安裝命令如下:

sudo apt-get -y install python-gevent python-pip

sudo pip install shadowsocks

sudo apt-get -y install python-m2crypto

三、配置shadowsocks

無論是centos系統還是ubuntu系統,shadowsocks配置都是一樣的。

shadowsocks安裝完畢後,可以查看使用ssserver命令進行查看。如下:

ssserver -h

clip_p_w_picpath002

如果沒有ssserver命令的話,一般是在/usr/local/bin目錄下,如下:

which ssserver

clip_p_w_picpath003

我們只需要把/usr/local/bin加入到/etc/profile文件中即可。

創建shadowsocks目錄,並創建其配置文件,如下:

mkdir /etc/shadowsocks

vim /etc/shadowsocks/config.json

{

"server":"0.0.0.0",

"server_port":1194,

"local_address":"127.0.0.1",

"local_port":1080,

"password":"asto!@#123456",

"timeout":300,

"method":"aes-256-cfb",

"fast_open":false,

"workers": 1

}

clip_p_w_picpath004

shadowsocks配置文件的內容,我就不做過多的介紹了,很簡單的。

配置文件弄好後,我們現在來啓動shadowsocks,如下:

ssserver -c /etc/shadowsocks/config.json -d start

netstat -tunlp

clip_p_w_picpath005

如果要停止shadowsocks服務的話,我們可以使用如下命令:

ssserver -c /etc/shadowsocks/config.json -d stop

clip_p_w_picpath006

四、連接shadowsocks服務

shadowsocks服務器搭建完畢後,我們現在來客戶端連接shadowsocks服務器。

shadowsocks客戶端有Windows版本和Linux版本,我們分別介紹其使用方法。

4.1 Windows版本

windows版本,我們可以從如下網址進行下載,如下:

https://github.com/shadowsocks/shadowsocks-windows/releases

下載完畢後,雙擊Shadowsocks.exe,如下:

clip_p_w_picpath007

在彈出的窗口中,填入Shadowsocks服務器的IP、Shadowsocks服務器端口已經密碼,就可以連接Shadowsocks服務器,如下:

clip_p_w_picpath008

正確連接Shadowsocks服務器後,我們就可以進行科學上網了。

如下:

clip_p_w_picpath009

當然我們也可以設置爲全局代理,如下:

clip_p_w_picpath010

clip_p_w_picpath011

通過上圖,我們可以看到目前我們的IP地址就是aws服務器所在的地址了。

我們也可以把這個代理讓局域網中的其他用戶使用,如下:

clip_p_w_picpath012

經過這樣設置後,只要局域網中的機器連接我這臺機器的1080端口,就可以使用代理了。

4.2 Linux版本

linux版本的shadowsocks客戶端,我們一般選用cow這款軟件。下載地址如下:

https://github.com/cyfdecyf/cow

安裝就比較簡單了,執行如下命令即可:

curl -L git.io/cow | bash

安裝完畢後,我們來修改.cow/rc文件,如下:

grep -vE "^#|^$" .cow/rc

clip_p_w_picpath013

這樣的話,局域網的其他機器只要連接該機器的7778端口就可以進行科學上網了。

其實,我們還有一個類似這個軟件MEOW,地址如下:

https://github.com/renzhn/MEOW

使用方法和cow一樣,再次就不做講解。

4.3 Linux設置全局代理

我們再來講解一個在linux環境使用全局代理的方案,因爲有時候我們的軟件更新需要使用到國外的站點,但是衆所周知的原因,不能更新。那麼我們就只能通過***或者其他方式進行更新軟件了,這樣比較麻煩。

今天介紹一個比較方便的方法,就是把所有本機的請求都通過代理走。配置如下:

vim /etc/profile

http_proxy=192.168.1.180:1080

export http_proxy

https_proxy=192.168.1.180:1080

export https_proxy

ftp_proxy=192.168.1.180:1080

export ftp_proxy

以上幾行命令的意思是:無論是http、https、ftp請求,我們都讓它通過192.168.1.180:1080的通過,而192.168.1.180:1080就是我們局域網的代理服務器的地址。

clip_p_w_picpath014

source /etc/profile

clip_p_w_picpath015

然後我們在使用curl cip.cc進行測試如下:

curl cip.cc

clip_p_w_picpath016

通過上圖,我們可以很清楚的看到目前這臺linux服務器已經使用的是shadowsocks服務器地址。

如果是代理服務器需要用戶名和密碼的話,可以使用如下格式:export http_proxy=http://username:password@ip:port

這樣就達到了我們對linux使用全局代理的功能。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章