GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にStrongSwanVPNをインストールして構成する

仮想プライベートネットワークは、パブリックインターネット接続からプライベートネットワークを作成してIDを保護するために使用されます。 VPNは暗号化されたトンネルを使用して、データを安全に送受信します。

strongSwanは、Linux、OS X、FreeBSD、Windows、Android、iOSなどのさまざまなオペレーティングシステムをサポートする最も有名なVPNソフトウェアの1つです。安全な接続確立のためにIKEv1およびIKEv2プロトコルを使用します。組み込みのプラグインを使用してその機能を拡張できます。

このチュートリアルでは、Ubuntu20.04でStrongSwanを使用してKEv2VPNサーバーをセットアップする方法を段階的に説明します。

前提条件

•Ubuntu20.04サーバーを実行している2つのシステム
•ルートパスワードは両方のサーバーで構成されています

StrongSwanをインストール

デフォルトでは、StrongSwanはUbuntu20.04のデフォルトリポジトリで利用できます。次のコマンドを使用して、他の必要なコンポーネントと一緒にインストールできます。

apt-get install strongswan strongswan-pki libcharon-extra-plugins libcharon-extauth-plugins libstrongswan-extra-plugins -y

すべてのパッケージをインストールしたら、CA証明書の生成に進むことができます。

VPNサーバーの証明書を生成する

次に、VPNサーバーの証明書とキーを生成して、クライアント側でサーバーの信頼性を検証する必要があります。

まず、次のコマンドを使用してルートCAの秘密鍵を作成します。

ipsec pki --gen --size 4096 --type rsa --outform pem > /etc/ipsec.d/private/ca.key.pem

次に、ルートCAを作成し、上記のキーを使用して署名します。

ipsec pki --self --in /etc/ipsec.d/private/ca.key.pem --type rsa --dn "CN=My VPN Server CA" --ca --lifetime 3650 --outform pem > /etc/ipsec.d/cacerts/ca.cert.pem

次に、次のコマンドを使用してVPNサーバーの秘密鍵を作成します。

ipsec pki --gen --size 4096 --type rsa --outform pem > /etc/ipsec.d/private/server.key.pem

最後に、次のコマンドを使用してサーバー証明書を生成します。

ipsec pki --pub --in /etc/ipsec.d/private/server.key.pem --type rsa | ipsec pki --issue --lifetime 2750 --cacert /etc/ipsec.d/cacerts/ca.cert.pem --cakey /etc/ipsec.d/private/ca.key.pem --dn "CN=vpn.domain.com" --san="vpn.domain.com" --flag serverAuth --flag ikeIntermediate --outform pem > /etc/ipsec.d/certs/server.cert.pem

この時点で、すべての証明書がVPNサーバーで使用できるようになります。

StrongSwanVPNを構成する

strongswanのデフォルトの設定ファイルは/etc/ipsec.confです。メインの構成ファイルをバックアップして、新しいファイルを作成できます:

mv /etc/ipsec.conf /etc/ipsec.conf-bak

次に、新しい構成ファイルを作成します:

nano /etc/ipsec.conf

次の設定と接続設定を追加します。

config setup
        charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2"
        strictcrlpolicy=no
        uniqueids=yes
        cachecrls=no

conn ipsec-ikev2-vpn
      auto=add
      compress=no
      type=tunnel
      keyexchange=ikev2
      fragmentation=yes
      forceencaps=yes
      dpdaction=clear
      dpddelay=300s
      rekey=no
      left=%any
      [email protected]
      leftcert=server.cert.pem
      leftsendcert=always 
      leftsubnet=0.0.0.0/0
      right=%any
      rightid=%any
      rightauth=eap-mschapv2
      rightsourceip=10.10.10.0/24
      rightdns=8.8.8.8
      rightsendcert=never
      eap_identity=%identity

/etc/ipsec.confファイルを保存して閉じます。

次に、認証用のEAPユーザー資格情報とRSA秘密鍵を定義する必要があります。

ファイル/etc/ipsec.secretsを編集して設定できます:

nano /etc/ipsec.secrets

次の行を追加します:

: RSA "server.key.pem"
vpnsecure : EAP "password"

次に、次のようにStrongSwanサービスを再起動します。

systemctl restart strongswan-starter

システムブートでStrongSwanを起動できるようにするには、次のように入力します。

systemctl enable strongswan-starter

VPNサーバーのステータスを確認し、次のように入力します。

systemctl status strongswan-starter

カーネルパケット転送を有効にする

次に、/ etc / sysctl.confファイルを編集して、パケット転送を有効にするようにカーネルを構成する必要があります。

nano /etc/sysctl.conf

次の行のコメントを解除します:

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

ファイルを保存して閉じ、次のコマンドを使用して新しい設定を再読み込みします。

sysctl -p

StrongSwanクライアントのインストールと設定

このセクションでは、StrongSwanクライアントをリモートマシンにインストールし、VPNサーバーに接続します。

まず、次のコマンドを使用して、必要なすべてのパッケージをインストールします。

apt-get install strongswan libcharon-extra-plugins -y

すべてのパッケージがインストールされたら、次のコマンドでStrongSwanサービスを停止します。

systemctl stop strongswan-starter

次に、ca.cert.pemファイルをVPNサーバーから/etc/ipsec.d/cacerts/ディレクトリにコピーする必要があります。以下に示すように、SCPコマンドを使用してコピーできます。

scp [email protected]:/etc/ipsec.d/cacerts/ca.cert.pem /etc/ipsec.d/cacerts/

VPNクライアント認証を設定するには、/ etc / ipsec.secretsファイルを使用します:

nano /etc/ipsec.secrets

次の行を追加します:

vpnsecure : EAP "password"

次に、strongSwanのメイン構成ファイルを編集します:

nano /etc/ipsec.conf

/etc/ipsec.secretsファイルで指定したドメイン、パスワードに一致する次の行を追加します。

conn ipsec-ikev2-vpn-client
    auto=start
    right=vpn.domain.com
    rightid=vpn.domain.com
    rightsubnet=0.0.0.0/0
    rightauth=pubkey
    leftsourceip=%config
    leftid=vpnsecure
    leftauth=eap-mschapv2
    eap_identity=%identity

次に、次のコマンドを使用してStrongSwanVPNサービスを開始します。

systemctl start strongswan-starter

次に、次のコマンドを使用してVPN接続ステータスを確認します。

ipsec status

次の出力が得られるはずです:

Security Associations (1 up, 0 connecting):
ipsec-ikev2-vpn-client[1]: ESTABLISHED 28 seconds ago, 104.245.32.158[vpnsecure]...104.245.33.84[vpn.domain.com]
ipsec-ikev2-vpn-client{1}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: ca6f451c_i ca9f9ff7_o
ipsec-ikev2-vpn-client{1}: 10.10.10.1/32 === 0.0.0.0/0

上記の出力は、クライアントとサーバーの間にVPN接続が確立され、IPアドレス10.10.10.1がクライアントマシンに割り当てられていることを示しています。

次のコマンドを使用して、新しいIPアドレスを確認することもできます。

ip a

次の出力が得られるはずです:

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:00:68:f5:20:9e brd ff:ff:ff:ff:ff:ff
inet 104.245.32.158/25 brd 104.245.32.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.10.10.1/32 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::200:68ff:fef5:209e/64 scope link
valid_lft forever preferred_lft forever

結論

上記のガイドでは、Ubuntu20.04でStrongSwanVPNサーバーとクライアントをセットアップする方法を学びました。これで、IDを保護し、オンラインアクティビティを保護できます。


Ubuntu
  1. Ubuntu20.04にPHPOPcacheをインストールして構成する

  2. Ubuntu20.04にAlgoVPNServerをインストールして構成する方法

  3. Ubuntu18.04にstrongSwanVPNをインストールして構成する方法

  1. Ubuntu18.04にRedisをインストールして構成する方法

  2. Ubuntu18.04にRedmineをインストールして設定する方法

  3. Ubuntu18.04にSambaをインストールして設定する方法

  1. Ubuntu20.04にRedisをインストールして構成する方法

  2. Ubuntu20.04にJenkinsをインストールして構成する方法

  3. Ubuntu16.04にAskbotをインストールして構成する方法