ウェブサイト検索

Linux で独自の IPsec VPN サーバーを作成する方法


VPN (仮想プライベート ネットワーク) を使用することには非常に多くの利点があり、その中にはトラフィックを暗号化することでインターネット上での安全を確保したり、ブロックされたコンテンツ/サイト/Web アプリケーションにどこからでもアクセスできるようにしたりすることが含まれます。言うまでもなく、VPN は匿名でインターネットを閲覧するのにも役立ちます。

この記事では、CentOS/RHELUbuntu、および で独自の IPsec/L2TP VPN サーバーを迅速かつ自動的にセットアップする方法を学習します。 Debian Linux ディストリビューション。

前提条件:

  1. Linode などのプロバイダーの新しいCentOS/RHEL またはUbuntu/Debian VPS (仮想プライベートサーバー)。

Linux での IPsec/L2TP VPN サーバーのセットアップ

VPN サーバーをセットアップするには、Lin Song が作成した素晴らしいシェル スクリプトのコレクションを使用します。これにより、LibreswanIPsec サーバーとしてインストールされ、xl2tpd がインストールされます。 をL2TPプロバイダーとして使用します。この製品には、VPN ユーザーの追加または削除、VPN インストールのアップグレードなどを行うためのスクリプトも含まれています。

まず、SSH 経由で VPS にログインし、ディストリビューションに適切なコマンドを実行して VPN サーバーを設定します。デフォルトでは、スクリプトはランダムな VPN 認証情報 (事前共有キーVPN ユーザー名パスワード) を生成し、インストールの終わり。

ただし、独自の認証情報を使用したい場合は、最初に示すように強力なパスワードPSKを生成する必要があります。

openssl rand -base64 10
openssl rand -base64 16

次に、これらの生成された値を次のコマンドの説明に従って設定します。すべての値は、示されているように「一重引用符」内に配置する必要があります。

  • VPN_IPSEC_PSK – IPsec 事前共有キー。
  • VPN_USER – VPN ユーザー名。
  • VPN_PASSWORD – VPN パスワード。
---------------- On CentOS/RHEL ---------------- 
wget https://git.io/vpnsetup-centos -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sh vpnsetup.sh

---------------- On Debian and Ubuntu ----------------
wget https://git.io/vpnsetup -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sudo sh vpnsetup.sh

インストールされる主なパッケージは、bind-utils、net-tools、bison、flex、gcc、libcap-ng-devel、libcurl-devel、libselinux-devel、nspr-devel、nss-devel、pam-devel、xl2tpd、 iptables-services、systemd-devel、fipscheck-devel、libevent-devel、fail2ban (SSH を保護するため)、およびそれぞれの依存関係。次に、Libreswan をソースからダウンロード、コンパイル、インストールし、必要なサービスを有効にして開始します。

インストールが完了すると、次のスクリーンショットに示すように、VPN の詳細が表示されます。

次に、グラフィカル ユーザー インターフェイスを備えたデスクトップまたはラップトップのVPN クライアントをセットアップする必要があります。このガイドを参照してください: Linux で L2TP/Ipsec VPN クライアントをセットアップする方法。

Android 携帯電話などのモバイル デバイスに VPN 接続を追加するには、設定 –> ネットワークとインターネット に移動します。 > (または ワイヤレスとネットワーク –> 詳細) –> 詳細 –>VPN。新しい VPN を追加するオプションを選択します。 VPN タイプを IPSec Xauth PSK に設定し、上記の VPN ゲートウェイと認証情報を使用する必要があります。

Linux で VPN ユーザーを追加または削除する方法

新しいVPN ユーザーを作成するか、既存の VPN ユーザーを新しいパスワードで更新するには、次の wget コマンドを使用して add_vpn_user.sh スクリプトをダウンロードして使用します。

wget -O add_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/add_vpn_user.sh
sudo sh add_vpn_user.sh 'username_to_add' 'user_password'

VPN ユーザーを削除するには、del_vpn_user.sh スクリプトをダウンロードして使用します。

wget -O del_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/del_vpn_user.sh
sudo sh del_vpn_user.sh 'username_to_delete'

Linux で Libreswan インストールをアップグレードする方法

vpnupgrade.sh または vpnupgrade_centos.sh スクリプトを使用して、Libreswan インストールをアップグレードできます。スクリプト内のSWAN_VER変数を、インストールするバージョンに編集してください。

---------------- On CentOS/RHEL ---------------- 
wget https://git.io/vpnupgrade-centos -O vpnupgrade.sh && sh vpnupgrade.sh

---------------- On Debian and Ubuntu ----------------
wget https://git.io/vpnupgrade -O vpnupgrade.sh && sudo sh  vpnupgrade.sh

Linux で VPN サーバーをアンインストールする方法

VPN インストールをアンインストールするには、次の手順を実行します。

RHEL/CentOS の場合

yum remove xl2tpd

次に、/etc/sysconfig/iptables 設定ファイルを開いて不要なルールを削除し、/etc/sysctl.conf/etc/rc.local を編集します。 > ファイルを削除し、両方のファイルで hwdsl2 VPN スクリプトによって追加されたコメント # の後の行を削除します。

Debian/Ubuntu の場合

sudo apt-get purge xl2tpd

次に、/etc/iptables.rules 構成ファイルを編集し、不要なルールを削除します。さらに、/etc/iptables/rules.v4 が存在する場合は編集します。

次に、/etc/sysctl.conf ファイルと /etc/rc.local ファイルを編集し、hwdsl2 VPN スクリプトによって追加されたコメント # の後の行を削除します。 、両方のファイルにあります。 出口 0 が存在する場合は削除しないでください。

オプションで、VPN セットアップ中に作成された特定のファイルとディレクトリを削除できます。

rm -f /etc/ipsec.conf* /etc/ipsec.secrets* /etc/ppp/chap-secrets* /etc/ppp/options.xl2tpd* /etc/pam.d/pluto /etc/sysconfig/pluto /etc/default/pluto 
rm -rf /etc/ipsec.d /etc/xl2tpd

Strongswan を使用してサイト間 IPSec ベースの VPN を設定するには、次のガイドを参照してください。

  1. Debian および Ubuntu で Strongswan を使用して IPSec ベースの VPN をセットアップする方法
  2. CentOS/RHEL 8 で Strongswan を使用して IPSec ベースの VPN をセットアップする方法

この時点で、独自の VPN サーバーが起動して実行されています。以下のコメント フォームを使用して、質問を共有したり、フィードバックをお送りいただくことができます。