AWS 上的 Wireguard 免費 VPN 服務

為了什麼?

隨著威權政權對互聯網的審查越來越嚴格,越來越多有用的互聯網資源和網站被封鎖。 包括技術資料。
因此,無法充分使用互聯網並侵犯了言論自由的基本權利, 人權宣言.

第19條
人人享有見解和言論自由的權利; 這項權利包括在不受干涉的情況下持有意見的自由,以及通過任何媒體和不分國界尋求、接收和傳播信息和思想的自由

在本指南中,我們將分 6 個步驟部署我們自己的免費軟件*。 VPN服務 基於技術 線衛, 在雲基礎設施中 亞馬遜網絡服務 (AWS),使用免費賬戶(12 個月),在由 Ubuntu 服務器 18.04 LTS.
我已嘗試使本演練盡可能對非 IT 人員友好。 唯一需要的是堅持不懈地重複下面描述的步驟。

注意

階段

  1. 註冊一個免費的 AWS 賬戶
  2. 創建 AWS 實例
  3. 連接到 AWS 實例
  4. 線衛配置
  5. 配置 VPN 客戶端
  6. 檢查VPN安裝的正確性

有用的鏈接

1.註冊AWS賬戶

註冊一個免費的 AWS 賬戶需要一個真實的電話號碼和一張有效的 Visa 或 Mastercard 信用卡。 我建議使用免費提供的虛擬卡 Yandex的Qiwi錢包. 為檢查卡的有效性,在註冊時扣除 1 美元,稍後退還。

1.1. 打開 AWS 管理控制台

您需要打開瀏覽器並轉到: https://aws.amazon.com/ru/
單擊“註冊”按鈕

AWS 上的 Wireguard 免費 VPN 服務

1.2. 填寫個人資料

填寫數據並點擊“繼續”按鈕

AWS 上的 Wireguard 免費 VPN 服務

1.3. 填寫聯繫方式

填寫聯繫方式。

AWS 上的 Wireguard 免費 VPN 服務

1.4. 指定付款信息。

卡號、有效期和持卡人姓名。

AWS 上的 Wireguard 免費 VPN 服務

1.5. 帳戶驗證

在此階段,確認電話號碼並直接從支付卡中扣除 1 美元。 電腦屏幕顯示4位代碼,指定手機接到亞馬遜打來的電話。 在通話過程中,您必須撥打屏幕上顯示的代碼。

AWS 上的 Wireguard 免費 VPN 服務

1.6. 關稅計劃的選擇。

選擇 - 基本計劃(免費)

AWS 上的 Wireguard 免費 VPN 服務

1.7. 登錄管理控制台

AWS 上的 Wireguard 免費 VPN 服務

1.8. 選擇數據中心的位置

AWS 上的 Wireguard 免費 VPN 服務

1.8.1. 速度測試

在選擇數據中心之前,建議通過測試 https://speedtest.net 訪問最近的數據中心的速度,在我所在的位置,結果如下:

  • 新加坡
    AWS 上的 Wireguard 免費 VPN 服務
  • 巴黎
    AWS 上的 Wireguard 免費 VPN 服務
  • 法蘭克福
    AWS 上的 Wireguard 免費 VPN 服務
  • 斯德哥爾摩
    AWS 上的 Wireguard 免費 VPN 服務
  • 倫敦
    AWS 上的 Wireguard 免費 VPN 服務

倫敦的數據中心在速度方面表現最好。 所以我選擇它進行進一步定制。

2.創建AWS實例

2.1 創建虛擬機

2.1.1. 選擇實例類型

默認選擇t2.micro實例,這是我們需要的,按下按鈕即可 Next: 配置實例詳細信息

AWS 上的 Wireguard 免費 VPN 服務

2.1.2. 設置實例選項

將來,我們將連接一個永久的公共 IP 到我們的實例,所以在這個階段我們關閉公共 IP 的自動分配,然後按下按鈕 下一步:添加存儲

AWS 上的 Wireguard 免費 VPN 服務

2.1.3. 存儲連接

指定“硬盤”的大小。 對於我們的目的,16 GB 就足夠了,我們按下按鈕 下一頁:添加標籤

AWS 上的 Wireguard 免費 VPN 服務

2.1.4. 設置標籤

如果我們創建了多個實例,那麼它們可以通過標籤進行分組以方便管理。 在這種情況下,這個功能是多餘的,立即按下按鈕 下一步:配置安全組

AWS 上的 Wireguard 免費 VPN 服務

2.1.5. 開放端口

在此步驟中,我們通過打開所需的端口來配置防火牆。 開放端口集稱為安全組。 我們必須創建一個新的安全組,給它一個名稱,描述,添加一個 UDP 端口(自定義 UDP 規則),在 Rort Range 字段中,分配一個範圍內的端口號 動態端口 49152-65535。 在本例中,我選擇了端口號 54321。

AWS 上的 Wireguard 免費 VPN 服務

填寫所需數據後,點擊按鈕 審查並啟動

2.1.6. 所有設置概覽

在此頁面上有我們實例的所有設置的概述,我們檢查所有設置是否按順序排列,然後按下按鈕 發佈會

AWS 上的 Wireguard 免費 VPN 服務

2.1.7. 創建訪問密鑰

接下來是一個對話框,提供創建或添加現有 SSH 密鑰,稍後我們將使用它遠程連接到我們的實例。 我們選擇“創建新密鑰對”選項來創建新密鑰。 給它起個名字,然後單擊按鈕 下載密鑰對下載生成的密鑰。 將它們保存到本地計算機上的安全位置。 下載後,單擊按鈕。 啟動實例

AWS 上的 Wireguard 免費 VPN 服務

2.1.7.1. 保存訪問密鑰

這裡顯示的是保存上一步生成的密鑰的步驟。 在我們按下按鈕之後 下載密鑰對,密鑰將保存為擴展名為 *.pem 的證書文件。 在這種情況下,我給它起了個名字 wireguard-awskey.pem

AWS 上的 Wireguard 免費 VPN 服務

2.1.8. 實例創建結果概覽

接下來,我們會看到一條關於成功啟動我們剛剛創建的實例的消息。 我們可以通過單擊按鈕轉到我們的實例列表 查看實例

AWS 上的 Wireguard 免費 VPN 服務

2.2. 創建外部 IP 地址

2.2.1. 開始創建外部 IP

接下來,我們需要創建一個永久的外部 IP 地址,我們將通過該地址連接到我們的 VPN 服務器。 為此,請在屏幕左側的導航面板中選擇項目 彈性 IP 從類別 網絡與安全 然後按下按鈕 分配新地址

AWS 上的 Wireguard 免費 VPN 服務

2.2.2. 配置創建外部IP

在下一步中,我們需要啟用該選項 亞馬遜池 (默認啟用),然後單擊按鈕 分配

AWS 上的 Wireguard 免費 VPN 服務

2.2.3. 創建外部IP地址的結果概覽

下一個屏幕將顯示我們收到的外部 IP 地址。 建議背下來,寫下來更好。 在進一步設置和使用VPN服務器的過程中,它會不止一次派上用場。 在本指南中,我以 IP 地址為例。 4.3.2.1. 輸入地址後,按下按鈕 關閉

AWS 上的 Wireguard 免費 VPN 服務

2.2.4. 外部 IP 地址列表

接下來,我們將看到一份永久公共 IP 地址(彈性 IP)的列表。

AWS 上的 Wireguard 免費 VPN 服務

2.2.5. 為實例分配外部 IP

在這個列表中,我們選擇我們接收到的 IP 地址,然後按下鼠標右鍵彈出一個下拉菜單。 在其中,選擇項目 關聯地址將其分配給我們之前創建的實例。

AWS 上的 Wireguard 免費 VPN 服務

2.2.6. 外部 IP 分配設置

在下一步中,從下拉列表中選擇我們的實例,然後按下按鈕 聯想

AWS 上的 Wireguard 免費 VPN 服務

2.2.7. 外部 IP 分配結果概覽

之後,我們可以看到我們的實例及其私有 IP 地址已綁定到我們的永久公共 IP 地址。

AWS 上的 Wireguard 免費 VPN 服務

現在我們可以通過 SSH 從我們的計算機從外部連接到我們新創建的實例。

3.連接到AWS實例

SSH 是一種用於遠程控制計算機設備的安全協議。

3.1. 從 Windows 計算機通過 SSH 連接

要連接到 Windows 計算機,您首先需要下載並安裝程序 油灰.

3.1.1. 為 Putty 導入私鑰

3.1.1.1. 安裝 Putty 後,需要運行自帶的 PuTTYgen 實用程序導入 PEM 格式的證書密鑰,格式適合在 Putty 中使用。 為此,請選擇頂部菜單中的項目 轉換->導入密鑰

AWS 上的 Wireguard 免費 VPN 服務

3.1.1.2。 選擇 PEM 格式的 AWS 密鑰

接下來,選擇我們之前在步驟 2.1.7.1 中保存的密鑰,在我們的例子中是它的名稱 wireguard-awskey.pem

AWS 上的 Wireguard 免費 VPN 服務

3.1.1.3. 設置密鑰導入選項

在這一步,我們需要為這個密鑰指定註釋(描述),並設置密碼和確認以確保安全。 每次連接時都會請求它。 因此,我們使用密碼保護密鑰免遭不當使用。 您不必設置密碼,但如果密鑰落入壞人之手,則安全性會降低。 我們按下按鈕後 保存私鑰

AWS 上的 Wireguard 免費 VPN 服務

3.1.1.4。 保存導入的密鑰

保存文件對話框打開,我們將私鑰保存為擴展名為 .ppk適合在程序中使用 油灰.
指定密鑰的名稱(在我們的例子中 wireguard-awskey.ppk) 並按下按鈕 保存.

AWS 上的 Wireguard 免費 VPN 服務

3.1.2. 在 Putty 中創建和配置連接

3.1.2.1. 創建連接

打開Putty程序,選擇一個類別 會議 (默認打開)和在現場 主機名 輸入我們在步驟 2.2.3 中收到的服務器的公共 IP 地址。 在現場 已儲存的會話 為我們的連接輸入一個任意名稱(在我的例子中 wireguard-aws-倫敦), 然後按下按鈕 節省 保存我們所做的更改。

AWS 上的 Wireguard 免費 VPN 服務

3.1.2.2. 設置用戶自動登錄

更多類別 連線設定, 選擇一個子類別 數據 並在現場 自動登錄用戶名 輸入用戶名 Ubuntu的 是使用 Ubuntu 的 AWS 上實例的標準用戶。

AWS 上的 Wireguard 免費 VPN 服務

3.1.2.3. 選擇用於通過 SSH 連接的私鑰

然後轉到子類別 連接/SSH/授權 在田野旁邊 用於身份驗證的私鑰文件 按下按鈕 瀏覽... 選擇帶有密鑰證書的文件。

AWS 上的 Wireguard 免費 VPN 服務

3.1.2.4。 打開導入的密鑰

指定我們之前在步驟 3.1.1.4 導入的密鑰,在我們的例子中它是一個文件 wireguard-awskey.ppk, 然後按下按鈕 開放.

AWS 上的 Wireguard 免費 VPN 服務

3.1.2.5。 保存設置並開始連接

返回分類頁面 會議 再次按下按鈕 節省, 以保存我們在前面的步驟 (3.1.2.2 - 3.1.2.4) 中所做的更改。 然後我們按下按鈕 已提交 打開我們創建和配置的遠程 SSH 連接。

AWS 上的 Wireguard 免費 VPN 服務

3.1.2.7. 在主機之間建立信任

在下一步,我們第一次嘗試連接時,我們得到一個警告,我們沒有在兩台計算機之間配置信任,並詢問是否信任遠程計算機。 我們將按下按鈕 Да,從而將其添加到受信任主機列表中。

AWS 上的 Wireguard 免費 VPN 服務

3.1.2.8。 輸入密碼以訪問密鑰

之後,將打開一個終端窗口,如果您之前在步驟 3.1.1.3 中設置了密鑰密碼,則會在其中要求您輸入密鑰密碼。 輸入密碼時,屏幕上不會發生任何操作。 如果你犯了錯誤,你可以使用鑰匙 Backspace鍵.

AWS 上的 Wireguard 免費 VPN 服務

3.1.2.9. 連接成功歡迎信息

成功輸入密碼後,我們會在終端中看到一個歡迎文本,告訴我們遠程系統已準備好執行我們的命令。

AWS 上的 Wireguard 免費 VPN 服務

4. 配置 Wireguard 服務器

可以在存儲庫中找到使用下述腳本安裝和使用 Wireguard 的最新說明: https://github.com/isystem-io/wireguard-aws

4.1. 安裝 WireGuard

在終端中輸入以下命令(可以復製到剪貼板,在終端中按鼠標右鍵粘貼):

4.1.1. 克隆存儲庫

使用 Wireguard 安裝腳本克隆存儲庫

git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws

4.1.2. 使用腳本切換到目錄

轉到包含克隆存儲庫的目錄

cd wireguard_aws

4.1.3 運行初始化腳本

以管理員身份(root 用戶)運行 Wireguard 安裝腳本

sudo ./initial.sh

安裝過程將詢問配置 Wireguard 所需的某些數據

4.1.3.1. 連接點輸入

輸入 Wireguard 服務器的外部 IP 地址和開放端口。 我們在2.2.3步驟中獲取了服務器的外網IP地址,在2.1.5步驟中開放了端口。 我們將它們一起表示,例如用冒號分隔它們 4.3.2.1:54321然後按下鍵 Enter
輸出範例:

Enter the endpoint (external ip and port) in format [ipv4:port] (e.g. 4.3.2.1:54321): 4.3.2.1:54321

4.1.3.2. 輸入內部 IP 地址

在安全的 VPN 子網上輸入 Wireguard 服務器的 IP 地址,如果您不知道它是什麼,只需按 Enter 鍵設置默認值(10.50.0.1)
輸出範例:

Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):

4.1.3.3. 指定 DNS 服務器

輸入DNS服務器的IP地址,或者直接按回車鍵設置默認值 1.1.1.1 (Cloudflare 公共 DNS)
輸出範例:

Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):

4.1.3.4。 指定 WAN 接口

接下來,您需要輸入將在 VPN 內部網絡接口上偵聽的外部網絡接口的名稱。 只需按 Enter 即可設置 AWS 的默認值 (eth0)
輸出範例:

Enter the name of the WAN network interface ([ENTER] set to default: eth0):

4.1.3.5。 指定客戶名稱

輸入 VPN 用戶的名稱。 事實上,在至少添加一個客戶端之前,Wireguard VPN 服務器將無法啟動。 在這種情況下,我輸入了名稱 Alex@mobile
輸出範例:

Enter VPN user name: Alex@mobile

之後,屏幕上會顯示一個帶有新添加客戶端配置的二維碼,必須使用 Android 或 iOS 上的 Wireguard 移動客戶端讀取該二維碼以進行配置。 並且在二維碼下方,如果手動配置客戶端,將顯示配置文件的文本。 如何做到這一點將在下面討論。

AWS 上的 Wireguard 免費 VPN 服務

4.2. 添加新的 VPN 用戶

添加新用戶,需要在終端執行腳本 add-client.sh

sudo ./add-client.sh

該腳本要求輸入用戶名:
輸出範例:

Enter VPN user name: 

此外,用戶名可以作為腳本參數傳遞(在本例中 Alex@mobile):

sudo ./add-client.sh Alex@mobile

作為腳本執行的結果,在路徑中帶有客戶端名稱的目錄中 /etc/wireguard/clients/{ИмяКлиента} 將創建客戶端配置文件 /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf,終端屏幕會顯示手機客戶端設置二維碼和配置文件內容。

4.2.1. 用戶配置文件

您可以在屏幕上顯示 .conf 文件的內容,用於客戶端的手動配置,使用命令 cat

sudo cat /etc/wireguard/clients/Alex@mobile/[email protected]

執行結果:

[Interface]
PrivateKey = oDMWr0toPVCvgKt5oncLLRfHRit+jbzT5cshNUi8zlM=
Address = 10.50.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = mLnd+mul15U0EP6jCH5MRhIAjsfKYuIU/j5ml8Z2SEk=
PresharedKey = wjXdcf8CG29Scmnl5D97N46PhVn1jecioaXjdvrEkAc=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 4.3.2.1:54321

客戶端配置文件說明:

[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом

[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все -  0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения

4.2.2. 客戶端配置二維碼

您可以使用以下命令在終端屏幕上顯示先前創建的客戶端的配置二維碼 qrencode -t ansiutf8 (在此範例中,使用名為 Alex@mobile 的客戶端):

sudo cat /etc/wireguard/clients/Alex@mobile/[email protected] | qrencode -t ansiutf8

5. 配置 VPN 客戶端

5.1. 設置 Android 移動客戶端

Android 的官方 Wireguard 客戶端可以是 從官方 Google Play 商店安裝

之後,您需要通過讀取帶有客戶端配置的二維碼來導入配置(請參閱第 4.2.2 段)並為其命名:

AWS 上的 Wireguard 免費 VPN 服務

導入配置成功後,即可啟用VPN隧道。 Android 系統托盤中的密鑰存儲將指示成功連接

AWS 上的 Wireguard 免費 VPN 服務

5.2. Windows 客戶端設置

首先你需要下載並安裝程序 適用於 Windows 的 TunSafe 是 Windows 的 Wireguard 客戶端。

5.2.1. 創建導入配置文件

右鍵單擊以在桌面上創建一個文本文件。

AWS 上的 Wireguard 免費 VPN 服務

5.2.2. 從服務器複製配置文件的內容

然後我們返回 Putty 終端並顯示所需用戶的配置文件的內容,如步驟 4.2.1 所述。
接下來在Putty終端中右鍵配置文本,選擇完成後會自動複製到剪貼板。

AWS 上的 Wireguard 免費 VPN 服務

5.2.3. 將配置複製到本地配置文件

在此字段中,我們返回到我們之前在桌面上創建的文本文件,並將配置文本從剪貼板粘貼到其中。

AWS 上的 Wireguard 免費 VPN 服務

5.2.4. 保存本地配置文件

以擴展名保存文件 .conf (在這種情況下名為 london.conf)

AWS 上的 Wireguard 免費 VPN 服務

5.2.5. 導入本地配置文件

接下來,您需要將配置文件導入到 TunSafe 程序中。

AWS 上的 Wireguard 免費 VPN 服務

5.2.6. 設置 VPN 連接

選擇此配置文件並通過單擊按鈕進行連接 連結.
AWS 上的 Wireguard 免費 VPN 服務

6.檢查是否連接成功

要通過 VPN 隧道檢查連接是否成功,您需要打開瀏覽器並轉到該站點 https://2ip.ua/ru/

AWS 上的 Wireguard 免費 VPN 服務

顯示的 IP 地址必須與我們在步驟 2.2.3 中收到的 IP 地址相匹配。
如果是這樣,則 VPN 隧道運行成功。

在 Linux 終端中,您可以通過鍵入以下內容來檢查您的 IP 地址:

curl http://zx2c4.com/ip

或者如果你在哈薩克斯坦,你可以直接去 pornhub。

來源: www.habr.com

添加評論