CentOS 7でIPSec VPNにStrongSwanを使用する

StrongSwanは、オープンソースのIPsecベースのVPNソリューションです。LinuxカーネルのネイティブNETKEY IPsecスタックと組み合わせて、IKEv1とIKEv2の両方のキー交換プロトコルをサポートします。このチュートリアルでは、strongSwanを使用してCentOS 7にIPSec VPNサーバーをセットアップする方法を示します。

strongSwanをインストールする

strongSwanパッケージは、Enterprise Linux(EPEL)リポジトリーの追加パッケージで入手できます。最初にEPELを有効にしてから、strongSwanをインストールします。

yum install http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
yum install strongswan openssl

証明書を生成する

VPNクライアントとサーバーの両方が、自分自身を識別して認証するには証明書が必要です。証明書を生成して署名するための2つのシェルスクリプトを用意しました。まず、これら2つのスクリプトをフォルダーにダウンロードします/etc/strongswan/ipsec.d

cd /etc/strongswan/ipsec.d
wget https://raw.githubusercontent.com/michael-loo/strongswan_config/for_vultr/server_key.sh
chmod a+x server_key.sh
wget https://raw.githubusercontent.com/michael-loo/strongswan_config/for_vultr/client_key.sh
chmod a+x client_key.sh

これら2つの.shファイルでは、組織名をに設定していVULTR-VPS-CENTOSます。あなたはそれを変更したい場合は、開い.shたファイルをして置き換えるO=VULTR-VPS-CENTOSO=YOUR_ORGANIZATION_NAME

次に、server_key.shサーバーのIPアドレスを使用して、サーバーの認証局(CA)キーと証明書を生成します。をSERVER_IPVultr VPSのIPアドレスに置き換えます。

./server_key.sh SERVER_IP

クライアントキー、証明書、およびP12ファイルを生成します。ここでは、VPNユーザー "john"の証明書とP12ファイルを作成します。

./client_key.sh john [email protected]

スクリプトを実行する前に、 "john"と彼の電子メールをあなたのものに置き換えます。

クライアントとサーバーの証明書が生成された後、コピー/etc/strongswan/ipsec.d/john.p12して/etc/strongswan/ipsec.d/cacerts/strongswanCert.pemローカルコンピュータに。

strongSwanを構成する

strongSwan IPSec構成ファイルを開きます。

vi /etc/strongswan/ipsec.conf

その内容を次のテキストに置き換えます。

config setup
    uniqueids=never
    charondebug="cfg 2, dmn 2, ike 2, net 0"

conn %default
    left=%defaultroute
    leftsubnet=0.0.0.0/0
    leftcert=vpnHostCert.pem
    right=%any
    rightsourceip=172.16.1.100/16

conn CiscoIPSec
    keyexchange=ikev1
    fragmentation=yes
    rightauth=pubkey
    rightauth2=xauth
    leftsendcert=always
    rekey=no
    auto=add

conn XauthPsk
    keyexchange=ikev1
    leftauth=psk
    rightauth=psk
    rightauth2=xauth
    auto=add

conn IpsecIKEv2
    keyexchange=ikev2
    leftauth=pubkey
    rightauth=pubkey
    leftsendcert=always
    auto=add

conn IpsecIKEv2-EAP
    keyexchange=ikev2
    ike=aes256-sha1-modp1024!
    rekey=no
    leftauth=pubkey
    leftsendcert=always
    rightauth=eap-mschapv2
    eap_identity=%any
    auto=add

strongSwan構成ファイルを編集しますstrongswan.conf

vi /etc/strongswan/strongswan.conf

すべてを削除して、次のものに置き換えます。

charon {
    load_modular = yes
    duplicheck.enable = no
    compress = yes
    plugins {
            include strongswan.d/charon/*.conf
    }
    dns1 = 8.8.8.8
    dns2 = 8.8.4.4
    nbns1 = 8.8.8.8
    nbns2 = 8.8.4.4
}

include strongswan.d/*.conf

IPsecシークレットファイルを編集して、ユーザーとパスワードを追加します。

vi /etc/strongswan/ipsec.secrets

ユーザーアカウント「john」を追加します。

: RSA vpnHostKey.pem
: PSK "PSK_KEY"
john %any : EAP "John's Password"
john %any : XAUTH "John's Password"

コロン「:」の両側には空白が必要であることに注意してください。

IPv4転送を許可する

/etc/sysctl.confLinuxカーネルで転送できるように編集します。

vi /etc/sysctl.conf

次の行をファイルに追加します。

net.ipv4.ip_forward=1

ファイルを保存して、変更を適用します。

sysctl -p

ファイアウォールを構成する

サーバーでVPNのファイアウォールを開きます。

firewall-cmd --permanent --add-service="ipsec"
firewall-cmd --permanent --add-port=4500/udp
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload

VPNを開始する

systemctl start strongswan
systemctl enable strongswan

StrongSwanがサーバーで実行されています。strongswanCert.pemおよび.p12証明書ファイルをクライアントにインストールします。これでプライベートネットワークに参加できるようになります。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。