免費VPN服務 Wireguard 在 AWS 上

為了什麼?

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

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

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

注意

階段

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

有用的鏈接

1.註冊AWS賬戶

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

1.1. 打開 AWS 管理控制台

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

免費VPN服務 Wireguard 在 AWS 上

1.2. 填寫個人資料

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

免費VPN服務 Wireguard 在 AWS 上

1.3. 填寫聯繫方式

填寫聯繫方式。

免費VPN服務 Wireguard 在 AWS 上

1.4. 指定付款信息。

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

免費VPN服務 Wireguard 在 AWS 上

1.5. 帳戶驗證

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

免費VPN服務 Wireguard 在 AWS 上

1.6. 關稅計劃的選擇。

選擇 - 基本計劃(免費)

免費VPN服務 Wireguard 在 AWS 上

1.7. 登錄管理控制台

免費VPN服務 Wireguard 在 AWS 上

1.8. 選擇數據中心的位置

免費VPN服務 Wireguard 在 AWS 上

1.8.1. 速度測試

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

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

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

2.創建AWS實例

2.1 創建虛擬機

2.1.1. 選擇實例類型

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

免費VPN服務 Wireguard 在 AWS 上

2.1.2. 設置實例選項

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

免費VPN服務 Wireguard 在 AWS 上

2.1.3. 存儲連接

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

免費VPN服務 Wireguard 在 AWS 上

2.1.4. 設置標籤

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

免費VPN服務 Wireguard 在 AWS 上

2.1.5. 開放端口

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

免費VPN服務 Wireguard 在 AWS 上

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

2.1.6. 所有設置概覽

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

免費VPN服務 Wireguard 在 AWS 上

2.1.7. 創建訪問密鑰

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

免費VPN服務 Wireguard 在 AWS 上

2.1.7.1. 保存訪問密鑰

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

免費VPN服務 Wireguard 在 AWS 上

2.1.8. 實例創建結果概覽

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

免費VPN服務 Wireguard 在 AWS 上

2.2. 創建外部 IP 地址

2.2.1. 開始創建外部 IP

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

免費VPN服務 Wireguard 在 AWS 上

2.2.2. 配置創建外部IP

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

免費VPN服務 Wireguard 在 AWS 上

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

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

免費VPN服務 Wireguard 在 AWS 上

2.2.4. 外部 IP 地址列表

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

免費VPN服務 Wireguard 在 AWS 上

2.2.5. 為實例分配外部 IP

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

免費VPN服務 Wireguard 在 AWS 上

2.2.6. 外部 IP 分配設置

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

免費VPN服務 Wireguard 在 AWS 上

2.2.7. 外部 IP 分配結果概覽

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

免費VPN服務 Wireguard 在 AWS 上

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

3.連接到AWS實例

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

3.1. 透過 SSH 從電腦連接到 Windows

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

3.1.1. 為 Putty 導入私鑰

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

免費VPN服務 Wireguard 在 AWS 上

3.1.1.2。 選擇 PEM 格式的 AWS 密鑰

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

免費VPN服務 Wireguard 在 AWS 上

3.1.1.3. 設置密鑰導入選項

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

免費VPN服務 Wireguard 在 AWS 上

3.1.1.4。 保存導入的密鑰

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

免費VPN服務 Wireguard 在 AWS 上

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

3.1.2.1. 創建連接

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

免費VPN服務 Wireguard 在 AWS 上

3.1.2.2. 設置用戶自動登錄

更多類別 連線設定, 選擇一個子類別 數據 並在現場 自動登錄用戶名 輸入用戶名 ubuntu — 是 AWS 執行個體的標準用戶, Ubuntu.

免費VPN服務 Wireguard 在 AWS 上

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

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

免費VPN服務 Wireguard 在 AWS 上

3.1.2.4。 打開導入的密鑰

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

免費VPN服務 Wireguard 在 AWS 上

3.1.2.5。 保存設置並開始連接

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

免費VPN服務 Wireguard 在 AWS 上

3.1.2.7. 在主機之間建立信任

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

免費VPN服務 Wireguard 在 AWS 上

3.1.2.8。 輸入密碼以訪問密鑰

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

免費VPN服務 Wireguard 在 AWS 上

3.1.2.9. 連接成功歡迎信息

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

免費VPN服務 Wireguard 在 AWS 上

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. 連接點輸入

輸入外部 IP 位址並開啟連接埠 Wireguard 伺服器.我們在步驟 2.2.3 中取得了伺服器的外部 IP 位址,並在步驟 2.1.5 中開啟了連接埠。我們將它們一起指定,並用冒號分隔,例如: 4.3.2.1:54321然後按下鍵 進入
輸出範例:

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 地址

請輸入伺服器 IP 位址 Wireguard 在安全的 VPN 子網路中,如果您不知道預設值是什麼,只需按 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 使用者名稱。重點是 VPN 伺服器 Wireguard 至少新增一個客戶端後才能啟動。在本例中,我輸入了名稱。 Alex@mobile
輸出範例:

Enter VPN user name: Alex@mobile

之後,螢幕上應該會出現一個包含新新增客戶端設定資訊的二維碼,必須使用行動用戶端掃描該二維碼。 Wireguard 上 Android 或在 iOS 裝置上進行配置。如果您手動設定用戶端,設定檔文字也會顯示在二維碼下方。具體操作方法將在下文中討論。

免費VPN服務 Wireguard 在 AWS 上

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/Alex@mobile.conf

執行結果:

[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/Alex@mobile.conf | qrencode -t ansiutf8

5. 配置 VPN 客戶端

5.1. 設置 Android 移動客戶端

官方客戶端 Wireguard 對於安卓系統來說,這是可能的。 從官方 Google Play 商店安裝

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

免費VPN服務 Wireguard 在 AWS 上

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

免費VPN服務 Wireguard 在 AWS 上

5.2 客戶端設定 Windows

首先你需要下載並安裝程序 TunSafe for Windows 這是一位客戶 Wireguard 為 Windows.

5.2.1. 創建導入配置文件

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

免費VPN服務 Wireguard 在 AWS 上

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

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

免費VPN服務 Wireguard 在 AWS 上

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

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

免費VPN服務 Wireguard 在 AWS 上

5.2.4. 保存本地配置文件

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

免費VPN服務 Wireguard 在 AWS 上

5.2.5. 導入本地配置文件

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

免費VPN服務 Wireguard 在 AWS 上

5.2.6. 設置 VPN 連接

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

6.檢查是否連接成功

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

免費VPN服務 Wireguard 在 AWS 上

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

從航廈到 Linux 您可以輸入以下命令來查看您的 IP 位址:

curl http://zx2c4.com/ip

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

來源: www.habr.com

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster