虛擬專用服務(wù)器(英語:Virtual private server,縮寫為 VPS),是指通過虛擬化技術(shù)在獨立服務(wù)器中運行的專用服務(wù)器。每個使用VPS技術(shù)的虛擬獨立服務(wù)器擁有各自獨立的公網(wǎng)IP地址、操作系統(tǒng)、硬盤空間、內(nèi)存空間、CPU資源等,還可以進(jìn)行安裝程序、重啟服務(wù)器等操作,與運行一臺獨立服務(wù)器完全相同。
VPS服務(wù)器是一項服務(wù)器虛擬化和自動化技術(shù),它采用的是操作系統(tǒng)虛擬化技術(shù)。操作系統(tǒng)虛擬化的概念是基于共用操作系統(tǒng)內(nèi)核,這樣虛擬服務(wù)器就無需額外的虛擬化內(nèi)核的過程,因而虛擬過程資源損耗就更低,從而可以在一臺物理服務(wù)器上可以實現(xiàn)更多的虛擬化服務(wù)器。這些VPS服務(wù)器以最大化的效率共享硬件、軟件許可證以及管理資源。每一個VPS服務(wù)器均可獨立進(jìn)行重啟,并擁有自己的root訪問權(quán)限、用戶、IP地址、內(nèi)存、過程、文件、應(yīng)用程序、系統(tǒng)函數(shù)庫以及配置文件。
前期準(zhǔn)備
需要購買一臺擁有 root 權(quán)限的 VPS ,我選擇的是 搬瓦工 ,當(dāng)時購買的是 512 M 內(nèi)存 5 G SSD,500 G 流量/月, 9.99 刀每年,但是好像現(xiàn)在這種低價套餐已經(jīng)結(jié)束了。有意的朋友可以看一下其他的套餐或者別的公司的 VPS。有的朋友說 DigitalOcean 的速度非??欤碮ouTube直接 1440p,但是我還沒測試過,目前搬瓦工的速度能滿足我的需求,而且 DO 的價格比較昂貴。
下圖是搭了 SS 和 IPsec VPN 服務(wù)的使用情況,僅供參考:
服務(wù)器購買后,安裝 CentOS7,因為以下教程都是基于 CentOS7 的,安裝新的 OS 后,搬瓦工會告訴你 SSH 的端口和 root 的密碼,這些是自己無法自定義的,要記住了如果實在忘了也可以重置 root 密碼,或者直接使用搬瓦工提供的在線SSH登錄來操作也可,就是反應(yīng)比較慢,所以我們以后還是常用 ssh 登錄來配置 VPS ,Mac 下直接使用終端就好,win 下自行尋找一個 ssh 工具就好。
登錄 ssh 的命令:
代碼如下:
$ ssh -p vps 端口號 root@vpsIP 地址
登錄上以后就相當(dāng)于在本地操作一樣了,你可以使用各種 Linux 命令來操作了。
配置防火墻
如果 SSH 無法登錄,那說明防火墻關(guān)閉了 SSH 端口,需要通過在線 SSH 登錄進(jìn)去關(guān)閉防火墻重新配置。
清除防火墻配置
代碼如下:
$ iptables -F
清除 iptabels 所有表項,同時 nat 設(shè)置也沒了,但是我們后續(xù)的腳本里會配置的,不用擔(dān)心。如果 SSH 登錄正常就不用管防火墻。
安裝 firewalld
代碼如下:
$ yum install firewalld firewall-config
$ systemctl start firewalld
P.S. 我在安裝完 firewalld 之后然后啟動服務(wù)的時候一直顯示失敗,然后重啟了一遍服務(wù)器就可以正常的啟動 firewalld 服務(wù)了,有類似情況的朋友可以重啟一下服務(wù)器。
修改 SSH 端口
代碼如下:
$ vi /usr/lib/firewalld/services/ssh.xml
會出現(xiàn)以下的內(nèi)容:
代碼如下:
SSH
Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.
將 port=”22”,修改成搬瓦工提供給你的端口號,然后重載 firewalld 就 OK。
vi 的命令: 按 “i” 是編輯模式,編輯后按 “esc” 退出編輯模式,然后按 Shift 輸入“:” 和 “wq” 保存退出 vi。
代碼如下:
$ firewall-cmd --permanent --add-service=ssh
$ firewall-cmd --reload
OK,現(xiàn)在準(zhǔn)備工作都已就緒,安裝了源,安裝配置了防火墻,下一步開始搭建服務(wù)了。
搭建 Shadowsocks 服務(wù)
這個服務(wù)是最簡單也是最常用的。
安裝組件
代碼如下:
$ yum install m2crypto python-setuptools
$ easy_install pip
$ pip install shadowsocks
安裝時部分組件需要輸入 Y 確認(rèn)。小內(nèi)存 VPS 可以分別安裝組件。
安裝完成后配置服務(wù)器參數(shù)
代碼如下:
$ vi /etc/shadowsocks.json
寫入如下配置:
代碼如下:
{
"server":"0.0.0.0",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}
將上面的 mypassword 替換成你的密碼, server_port 也是可以修改的,例如 443 是 Shadowsocks 客戶端默認(rèn)的端口號。
如果需要修改端口,需要在防火墻里打開響應(yīng)的端口,用 firewalld 操作就比較簡單了:
代碼如下:
$ vi /usr/lib/firewalld/services/ss.xml
下面代碼粘貼到里面:
代碼如下:
SS
Shadowsocks port
保存退出,然后重啟 firewalld 服務(wù):
代碼如下:
$ firewall-cmd --permanent --add-service=ss
$ firewall-cmd --reload
運行命令,啟動 Shadowsocks 服務(wù)
運行下面的命令:
代碼如下:
$ ssserver -c /etc/shadowsocks.json
至此 shadowsocks 搭建完成,shadowsocks 已經(jīng)可以使用,如果你沒有過高的要求,下面的步驟可以省略,下面是后臺運行 Shadowsocks 的步驟。
安裝 supervisor 實現(xiàn)后臺運行
運行以下命令下載 supervisor:
代碼如下:
$ yum install python-setuptools
$ easy_install supervisor
然后創(chuàng)建配置文件:
代碼如下:
$ echo_supervisord_conf > /etc/supervisord.conf
修改配置文件:
代碼如下:
$ vi /etc/supervisord.conf
在文件末尾添加:
代碼如下:
[program:ssserver]command = ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
startsecs=3
設(shè)置 supervisord 開機(jī)啟動,編輯啟動文件:
代碼如下:
$ vi /etc/rc.local
在末尾另起一行添加:
代碼如下:
$ supervisord
保存退出(和上文類似)。另 centOS7 還需要為 rc.local 添加執(zhí)行權(quán)限:
代碼如下:
$ chmod +x /etc/rc.local
至此運用 supervisord 控制 Shadowsocks 開機(jī)自啟和后臺運行設(shè)置完成。重啟服務(wù)器即可。
搭建 Strongswan 實現(xiàn)在 iOS 上連接 VPN