AWSでの無料のWireguard VPNサービス

何のために?



独裁政権によるインターネットの検閲の増加に伴い、ますます多くの有用なインターネットリソースとサイトがブロックされています。 技術情報を含む。

したがって、インターネットを完全に使用することは不可能になり、 世界人権宣言にDecわれている言論の自由に対する基本的な権利が侵害されます。







セクション19

誰もが意見と表現の自由に対する権利を有します。 この権利には、自分の信念を自由に守る自由と、州の国境に関係なく、あらゆる手段で情報やアイデアを求め、受け取り、広める自由が含まれます。

このガイドでは、6ステップで、無料のアカウント(12か月間)を使用して、 Ubuntu Server 18.04を実行しているインスタンス(仮想マシン)で、 Amazon Web Services (AWS)クラウドインフラストラクチャのWireguardテクノロジーに基づく独自の無料* VPNサービスを展開しますLTS







私は、このウォークスルーをITから遠く離れた人々に可能な限り友好的にすることを試みました。 唯一必要なことは、以下で説明する手順を繰り返す際の忍耐です。







ご注意





ステージ



  1. AWS無料アカウント登録
  2. AWSインスタンスを作成する
  3. AWSインスタンスに接続する
  4. Wireguardの構成
  5. VPNクライアントの構成
  6. VPNインストールを確認する


便利なリンク





1. AWSアカウント登録



無料のAWSアカウントに登録するには、実際の電話番号と支払い可能なVisaまたはMastercardクレジットカードが必要です。 Yandex.MoneyまたはQiwiウォレットが無料で提供する仮想カードの使用をお勧めします。 カードの有効性を確認するために、登録時に1ドルが引き落とされ、その後返されます。







1.1。 AWSマネジメントコンソールを開く



ブラウザを開いて、 https//aws.amazon.com/en/にアクセスする必要があります

「登録」ボタンをクリックします







AWSアマゾンスタトページ







1.2。 個人データの入力



データを入力し、[続行]ボタンをクリックします







AWS Amazonの登録







1.3。 連絡先の詳細を記入する



連絡先の詳細を入力します。







Amazon AWSカストントの連絡先情報







1.4。 請求情報の表示。



カード番号、有効期限、カード所有者の名前。







Amazon AWSカレンダーの登録時に請求情報を提供する







1.5。 アカウント確認



この段階で、電話番号が確認され、1ドルが支払カードから直接引き落とされます。 4桁のコードがコンピューター画面に表示され、指定された電話でAmazonから電話がかかります。 通話中に、画面に表示されるコードをダイヤルする必要があります。







Amazon AWSアカウントトの検証







1.6。 料金プランの選択。



選択-基本プラン(無料)







Amazon AWSプランニングの選択







1.7。 管理コンソールにログインする



Amazon AWSのメニューメントコンソンルに入る







1.8。 データセンターの場所の選択



AWS Amazon管理コンソール







1.8.1。 速度試験



データセンターを選択する前に、最寄りのデータセンターへのアクセス速度をhttps://speedtest.netでテストすることをお勧めします。私の場所では次の結果が得られます。









最高速度の結果は、ロンドンのデータセンターに示されています。 したがって、さらにカスタマイズするために選択しました。







2. AWSインスタンスの作成



2.1仮想マシン(インスタンス)の作成



2.1.0 インスタンスの作成ウォークスルーの起動



2.1.0.1。 インスタンス起動ページに移動



インスタンス起動ページに移動







2.1.0.2。 インスタンスの作成ウォークスルーの起動



インスタンスの作成ウォークルーの起動







2.1.0.3。 インスタンスのオペレーティングシステムタイプの選択



オペレーテングシステムの種類の選択







2.1.1。 インスタンスタイプを選択



デフォルトでは、t2.microインスタンスが選択されています。必要なのは、[ 次へ ]ボタンをクリックするだけです:インスタンスの設定







インスタンスタイプを選択







2.1.2。 インスタンスパラメータの構成



将来、永続的なパブリックIPをインスタンスに接続するため、この段階でパブリックIPの自動割り当てをオフにし、[ 次へ:ストレージの追加 ]をクリックします







インスタンスパラメータの構成







2.1.3。 ストレージ接続



「ハードディスク」のサイズを指定します。 16ギガバイトで十分なので、[ 次へ ]ボタンをクリックしてください:タグを追加







スレージ接続







2.1.4。 タグのカスタマイズ



複数のインスタンスを作成した場合、タグでグループ化して管理を容易にすることができます。 この場合、この機能は冗長です。すぐに[ 次へ ]ボタンをクリックしてください。







タグのカスタマイズ







2.1.5。 開港



この時点で、必要なポートを開いてファイアウォールを構成します。 開いているポートのセットは、セキュリティグループと呼ばれます。 新しいセキュリティグループを作成し、名前と説明を付け、UDPポート(カスタムUDPルール)を追加します。RortRangeフィールドで、 動的ポート範囲49152〜65535からポート番号を割り当てる必要があります。 この場合、ポート番号54321を選択しました。







開港







必要なデータを入力したら、[ レビューして起動 ]ボタンをクリックします







2.1.6。 すべてのインスタンス設定の概要



このページには、インスタンスのすべての設定の概要があり、すべての設定が正しいかどうかを確認し、[ 起動 ]ボタンをクリックします







すべてのインスタンス設定の概要







2.1.7。 パスキーを作成する



次に、既存のSSHキーを作成または追加するダイアログボックスが表示されます。これを使用して、後でインスタンスにリモート接続します。 [新しいキーペアを作成する]オプションを選択して、新しいキーを作成します。 名前を設定し、[ キーペアダウンロード ]ボタンをクリックして、作成したキーをダウンロードします。 ローカルコンピューターのディスク上の安全な場所に保存します。 ダウンロードしたら-[ インスタンス起動 ]ボタンをクリックします







パスキーを作成する







2.1.7.1。 パスキーを保存する



前の手順で作成したキーを保存する手順を示します。 [ キーペアダウンロード ]ボタンをクリックした後、キーは拡張子が.pemの証明書ファイルとして保存されます。 この場合、 wireguard-awskey.pemという名前を付けました。







パスキーを保存する







2.1.8。 インスタンス作成結果の概要



次に、作成したインスタンスの正常な起動に関するメッセージが表示されます。 [インスタンスの表示]ボタンをクリックして、インスタンスのリストに移動できます。







インスタンス作成結果の概要







2.2。 外部IPアドレスの作成



2.2.1。 外部IPの作成を開始



次に、VPNサーバーに接続するための永続的な外部IPアドレスを作成する必要があります。 これを行うには、画面の左側にあるナビゲーションパネルで、[ ネットワークとセキュリティ ] カテゴリから[ Elastic IPs]アイテムを選択し、[ 新しいアドレス割り当てる ]ボタンをクリックします







外部IPの作成を開始







2.2.2。 外部IP作成を構成する



次のステップでは、 Amazonプールオプションを有効にする必要があり(デフォルトで有効)、 割り当てボタンをクリックします







外部IP作成を構成する







2.2.3。 外部IPアドレスを作成した結果の概要



次の画面には、受け取った外部IPアドレスが表示されます。 覚えておくことをお勧めします。書き留めておいた方がよいでしょう。 これは、VPNサーバーをさらにセットアップして使用するプロセスで何度も役に立ちます。 このマニュアルでは、例としてIPアドレス4.3.2.1を使用します。 アドレスの書き方、 閉じるボタンをクリックしてください







外部IPアドレスを作成した結果の概要







2.2.4。 外部IPアドレスのリスト



次に、永続的なパブリックIPアドレス(エラスティックIP)のリストを開きます。







外部IPアドレスのリスト







2.2.5。 外部IPインスタンスの割り当て



このリストで、受け取ったIPアドレスを選択し、マウスの右ボタンを押してドロップダウンメニューを表示します。 その中で、[ アドレスの関連付け]項目を選択して、以前に作成したインスタンスに割り当てます。







外部IPインスタンスの割り当て







2.2.6。 外部IP割り当てを構成する



次の手順では、ドロップダウンリストからインスタンスを選択し、[関連付け]ボタンをクリックします







外部IP割り当てを構成する







2.2.7。 外部IP割り当て結果の概要



その後、インスタンスとそのプライベートIPアドレスが永続的なパブリックIPアドレスに関連付けられていることがわかります。







外部IP割り当て結果の概要







これで、外部から、SSHを介してコンピューターから新しく作成されたインスタンスに接続できます。







3. AWSインスタンスに接続する



SSHは、コンピューターデバイスをリモートで制御するための安全なプロトコルです。







3.1。 WindowsコンピューターからのSSH接続



Windowsコンピューターに接続するには、まずPuttyプログラムをダウンロードしてインストールする必要があります。







3.1.1。 Puttyの秘密キーをインポートする



3.1.1.1。 Puttyをインストールしたら、付属のPuTTYgenユーティリティを実行して、PEM形式の証明書キーをPuttyでの使用に適した形式にインポートする必要があります。 これを行うには、トップメニューで[ 変換]-> [キーのインポート ]を選択します。







Puttyの秘密キーをインポートする







3.1.1.2。 PEM形式のAWSキーを選択します



次に、ステップ2.1.7.1で以前に保存したキーを選択します。この場合、その名前はwireguard-awskey.pemです







PEM形式のAWSキーを選択します







3.1.1.3。 キーインポートオプションの設定



このステップでは、このキーのコメント(説明)を指定し、パスワードとセキュリティの確認を設定する必要があります。 接続するたびに要求されます。 したがって、キーをパスワードで不適切な使用から保護します。 パスワードを設定することはできませんが、キーが間違った手に渡ると安全性が低下します。 [ 秘密キー保存 ]ボタンをクリックした後







キーインポートオプションの設定







3.1.1.4。 インポートしたキーを保存する



[ファイルの保存]ダイアログボックスが開き、 Puttyでの使用に適した拡張子が.ppk



ファイルとして秘密キーを保存します。

キーの名前(この場合はwireguard-awskey.ppk



)を指定し、[ 保存 ]ボタンをクリックします







インポートしたキーを保存する







3.1.2。 Puttyで接続を作成および構成する



3.1.2.1。 接続を作成する



Puttyプログラムを開き、 セッションカテゴリを選択し(デフォルトで開いています)、ステップ2.2.3で受け取った[ ホスト名]フィールドにサーバーのパブリックIPアドレスを入力します。 [保存されたセッション]フィールドに、接続の任意の名前(この場合はwireguard-aws-london )を入力し、[ 保存 ]ボタンをクリックして変更を保存します。







接続を作成する







3.1.2.2。 ユーザーの自動ログイン設定



さらに、[ 接続]カテゴリで[ データ]サブカテゴリを選択し、[ 自動ログインユーザー名]フィールドにubuntuユーザー名を入力します-これはUbuntuの標準AWSインスタンスユーザーです。







ユーザーの自動ログイン設定







3.1.2.3。 SSH接続用の秘密鍵の選択



次に、[ 接続 ]、[ SSH ]、[ 認証 ]サブカテゴリに移動し、[ 認証用秘密キーファイル ]フィールドの横にある[ 参照... ]ボタンをクリックして、キー証明書のあるファイルを選択します。







SSH接続用の秘密鍵の選択







3.1.2.4。 インポートされたキーを開く



前にステップ3.1.1.4でインポートしたキーを指定します。この場合、これはファイルwireguard-awskey.ppkで、[ 開く ]ボタンをクリックします。







インポートされたキーを開く







3.1.2.5。 設定を保存して接続を開始する



[ セッション ]カテゴリページに戻り、[ 保存 ]ボタンをもう一度クリックして、前の手順(3.1.2.2-3.1.2.4)で行った変更を保存します。 次に、 [開く ]ボタンを押して、作成および構成したリモートSSH接続を開きます。







設定を保存して接続を開始する







3.1.2.7。 ホスト間の信頼の構成



次のステップでは、初めて接続しようとすると、警告が表示されます。2台のコンピューター間の信頼を構成しておらず、リモートコンピューターを信頼するかどうかを尋ねます。 [ はい ]をクリックして、信頼できるホストのリストに追加します。







ホスト間の信頼の構成







3.1.2.8。 パスワードを入力してキーにアクセスします



その後、ステップ3.1.1.3でキーをインストールした場合は、ターミナルウィンドウが開き、キーのパスワードが要求されます。 パスワードを入力するとき、画面でのアクションは発生しません。 間違えた場合は、 Backspaceキーを使用できます。







パスワードを入力してキーにアクセスします







3.1.2.9。 接続成功のウェルカムメッセージ



パスワードを正常に入力すると、リモートシステムがコマンドを実行する準備ができたことを知らせるウェルカムテキストが端末に表示されます。







接続成功のウェルカムメッセージ







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



ようにコロンで4.3.2.1:54321



て一緒に指定し、その後Enterを押します

出力例:







 Enter the endpoint (external ip and port) in format [ipv4:port] (eg 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アドレスを入力するか、Enterキーを押してデフォルト値を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をeth0



てAWSのデフォルト値( eth0



)を設定するだけです

出力例:







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





4.1.3.5。 顧客名



VPNユーザーの名前を入力します。 実際、少なくとも1つのクライアントが追加されるまで、Wireguard VPNサーバーは起動できません。 この場合、 Alex@mobile



という名前を入力しました

出力例:







 Enter VPN user name: Alex@mobile
      
      





その後、QRコードが画面に表示され、新しく追加されたクライアントの構成が表示されます。これを構成するには、AndroidまたはiOSのWireguardモバイルクライアントを使用して読み取る必要があります。 また、クライアントを手動で構成する場合は、構成ファイルのテキストがQRコードの下に表示されます。 これを行う方法を以下に説明します。







完全なWireguardのインストール







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/{}



CustomerName►.confでファイルが作成され、端末が表示されますモバイルクライアントと設定ファイルのコンテンツを設定するためのQRコード。







4.2.1。 ユーザー構成ファイル



cat



を使用して、手動でクライアントを構成するために、画面に.confファイルの内容を表示できます







 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。 QRクライアント構成コード



qrencode -t ansiutf8



を使用して、端末画面に以前に作成されたクライアントの構成コードのQRコードを表示できます(この例では、Alex @ mobileという名前のクライアントが使用されます)。







 sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf8
      
      





5. VPNクライアントの構成



5.1。 Androidモバイルクライアントのセットアップ



Androidの公式Wireguardクライアントは、公式のGooglePlayストアからインストールできます。







その後、クライアント構成でQRコードを読み取り(4.2.2項を参照)、名前を付けて構成をインポートする必要があります。







Wireguard Androidクライアントの構成







構成を正常にインポートしたら、VPNトンネルを有効にできます。 接続が成功すると、Androidのシステムパネルにキーの隠し場所が表示されます







Android Wireguardクライアントの実行







5.2。 Windowsクライアントのセットアップ



最初に、プログラムTunSafe for Windowsをダウンロードしてインストールする必要があります -これはWindows用のWireguardクライアントです。







5.2.1。 インポート用の構成ファイルの作成



右クリックして、デスクトップにテキストファイルを作成します。







テキストファイルの作成







5.2.2。 サーバーから構成ファイルの内容をコピーする



次に、Puttyターミナルに戻り、ステップ4.2.1で説明したように、目的のユーザーの構成ファイルの内容を表示します。

次に、マウスの右ボタンでPuttyターミナルの構成テキストを選択します;選択が完了すると、自動的にクリップボードにコピーされます。







設定でテキストをコピーする







5.2.3。 設定をローカル設定ファイルにコピー



このフィールドは、デスクトップで以前に作成したテキストファイルに戻り、クリップボードから設定テキストを貼り付けます。







設定でテキストをコピーする







5.2.4。 ローカル構成ファイルの保存



ファイルを拡張子.conf (この場合はlondon.conf



という名前で)で保存します







設定ファイルの保存







5.2.5。 ローカル構成ファイルをインポートする



次に、構成ファイルをTunSafeプログラムにインポートする必要があります。







構成ファイルをTunSafeにインポートします







5.2.6。 VPN接続を確立する



この構成ファイルを選択し、[ 接続 ]ボタンをクリックして接続します。

TunSafeを介してVPNサーバーに接続する







6.接続の成功を確認する



VPNトンネルを介した接続の成功を確認するには、ブラウザーを開いてサイトhttps://2ip.ua/ru/にアクセスする必要があります







TunSafeを介してVPNサーバーに接続する







表示されるIPアドレスは、ステップ2.2.3で受け取ったIPアドレスと一致する必要があります。

その場合、VPNトンネルは正常に機能しています。







Linuxのターミナルから、次のコマンドを入力してIPアドレスを確認できます。







 curl http://zx2c4.com/ip
      
      





または、カザフスタンにいる場合は、ポルノハブに行くことができます。








All Articles