前言 需要VPN有很多種理由
做點壞事(?)
看其他國家的Netflix
就是想用免費流量的國外IP來訪問所有網路內容
本篇注意事項
標題有[Server] 表示指令在伺服器裡頭執行
標題有[Local] 表示該指令在當前的電腦裡頭的終端機執行
標題有[Web] 表示這個動作會在Oracle的Dashboard操作
[Local] SSH連線到你已經戳到的Oracle Serve 1 ssh -i id_rsa ubuntu@你的Oracle伺服器IP
[Local] 同意連線,輸入yes並點按下enter 1 2 3 4 Warning: Identity file id_rsa not accessible: No such file or directory. The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established. ECDSA key fingerprint is SHA256:UhUdslpLpVGkuwdT6VodmB3L4LkjStjXrxydr9b9NMs. Are you sure you want to continue connecting (yes/no/[fingerprint])?
這是成功連線畫面
[Server] 進入Root權限模式
[Server] 修改密碼
輸入的時候不會顯示密碼
[Server] 修改authorized_keys內容 編輯authorized_keys
1 cd ~ && vi ~/.ssh/authorized_keys
瘋狂按鍵盤上的d直到內容空白
點擊鍵盤上的「i」進入編輯模式,左下角應該會出現insert
再開一個終端機,一個畫面是Server一個畫面是Local [Local] 回到電腦的終端機尋找id_rsa.pub裡頭的鑰匙並複製起來
[Server] 把剛剛複製的Key貼到進入編輯模式的authorized_keys底下
完成後先按一下鍵盤的ESC,然後下指令
然後Enter這裡的作法是為了讓你本機電腦可以直接進入root的權限模式
[Web] 開防火牆
80Port = 只是為了測試使用,不爽開可以略過
443Port = 未來如果有使用SSL,這裡就一起開吧
運算
-> 執行處理
點擊你的機器
點擊公用子網路
點擊安全清單下的安全資訊
點擊新增傳入規則按鈕,並新增三組,仔細看下面圖片
新增80Port
新增4500Port
新增500Port
[Server] 移除 iptables、安裝ufw
[Server] 使用ufw允許22、500、4500、80、443port,並且打開防火牆
[Server] 順手安裝nginx,然後重新啟動機器(重要) 若沒有先安裝nginx,機器內則沒有listen 80 的程式,在local端測試時會變成closed
[Local] 嘗試戳一下你的Server的80port STATE應該要是open,若按照上述流程但仍然是closed表示沒有program listen 80 port
1 nmap -v -Pn -p 80 你的伺服器IP
[Server] 檢查ufw是不是沒被關掉,沒被關掉就是成功了
[Server] 安裝Docker 更新一下
安裝
啟動
1 sudo systemctl start docker
1 sudo systemctl enable docker
[Server] 建立vpn設定檔案 先複習一下vi
鍵入 i 進入編輯模式
esc退出編輯模式
:wq儲存該次編輯 (w前面有一個:)
:q!取消該次編輯
1 2 3 4 5 6 7 8 9 10 charon { load_modular = yes plugins { include strongswan.d/charon/*.conf attr { dns = 1.1.1.2, 8.8.8.8 } } } include strongswan.d/*.conf
[Server] 利用Docker跑一個 vpn Service
替換下面的HOST、HOSTNAME欄位並且跑起來
1 2 3 4 5 docker run --cap -add=NET_ADMIN -d --name vpn-server --restart=always \ -p 500:500/udp -p 4500:4500/udp \ -v ~/strongswan.conf:/etc/strongswan.conf \ -e "HOST=127.0.0.1" -e "HOSTNAME=name" \ billimek/ikev2-vpn-server
[Server] 最後一步,製作MacOS、iPhone可直接使用的描述檔案 1 docker exec -it vpn-server generate-mobileconfig > ikev2-vpn.mobileconfig
使用 很簡單,看了就會