GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS /RHEL8でStrongswanを使用してIPsecベースのVPNを設定する方法

strongSwanは、Linux用のオープンソースのマルチプラットフォームの最新の完全なIPsecベースのVPNソリューションであり、インターネットキーエクスチェンジを完全にサポートします。 (両方の IKEv1 およびIKEv2 )2つのピア間にセキュリティアソシエーション(SA)を確立します。フル機能のモジュール式の設計であり、コア機能を強化する多数のプラグインを提供します。

関連記事 :DebianとUbuntuでStrongswanを使用してIPsecベースのVPNを設定する方法

この記事では、 strongSwanを使用してサイト間IPsecVPNゲートウェイを設定する方法を学習します。 CentOS / RHEL 8 サーバー。これにより、ピアは強力な事前共有キー( PSK )を使用して相互に認証できます。 )。サイト間セットアップとは、各セキュリティゲートウェイの背後にサブネットがあることを意味します。

テスト環境

ガイドに従って、構成中に実際のIPアドレスを使用することを忘れないでください。

サイト1ゲートウェイ
Public IP: 192.168.56.7
Private IP: 10.10.1.1/24
Private Subnet: 10.10.1.0/24
サイト2ゲートウェイ
Public IP:  192.168.56.6
Private IP: 10.20.1.1/24
Private Subnet: 10.20.1.0/24

ステップ1:CentOS8でカーネルIP転送を有効にする

1。 /etc/sysctl.confでカーネルIP転送機能を有効にすることから始めます 両方のVPNゲートウェイの構成ファイル。

# vi /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 

2。 変更をファイルに保存した後、次のコマンドを実行して、実行時に新しいカーネルパラメータをロードします。

# sysctl -p

3。 次に、ファイル / etc / sysconfig / network-scripts / route-eth0に永続的な静的ルートを作成します 両方のセキュリティゲートウェイで。

# vi /etc/sysconfig/network-scripts/route-eth0

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

#Site 1 Gateway
10.20.1.0/24  via 192.168.56.7

#Site 2 Gateway
10.10.1.0/24 via 192.168.56.6

4。 次に、ネットワークマネージャを再起動して、新しい変更を適用します。

# systemctl restart NetworkManager

ステップ2:CentOS8にstrongSwanをインストールする

5。 strongswan パッケージはEPELで提供されます リポジトリ。インストールするには、EPELリポジトリを有効にしてから、両方のセキュリティゲートウェイにstrongwanをインストールする必要があります。

# dnf install epel-release
# dnf install strongswan

6。 strongswanのバージョンを確認するには 両方のゲートウェイにインストールされている場合は、次のコマンドを実行します。

# strongswan version

7。 次に、 strongswanを開始します サービスを提供し、システムの起動時に自動的に開始できるようにします。次に、両方のセキュリティゲートウェイのステータスを確認します。

# systemctl start strongswan 
# systemctl enable strongswan
# systemctl status strongswan

<強い色:赤;">注 :最新バージョンの strongswan CentOS / REHL 8 両方のswanctlのサポートが付属しています (strongSwan 5.2.0で導入された、新しいポータブルコマンドラインユーティリティ。 vici を使用してIKEデーモンCharonを構成、制御、および監視するために使用されます。 プラグイン)とスターター (または ipsec )非推奨のストロークプラグインを使用するユーティリティ。

8。 メインの設定ディレクトリは/etc / strongswan /です。 両方のプラグインの構成ファイルが含まれています:

# ls /etc/strongswan/

Strongswanの構成構造

このガイドでは、 strongswanを使用して呼び出されるIPsecユーティリティを使用します コマンドとストロークインターフェイス。したがって、次の構成ファイルを使用します。

  • /etc/strongswan/ipsec.conf –strongSwanIPsecサブシステムの構成ファイル。
  • /etc/strongswan/ipsec.secrets –シークレットファイル。

ステップ3:セキュリティゲートウェイの構成

9。 この手順では、 /etc/strongswan/ipsec.conf を使用して、各サイトの各セキュリティゲートウェイで接続プロファイルを構成する必要があります。 strongswan構成ファイル。

サイト1接続プロファイルの構成

# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
# vi /etc/strongswan/ipsec.conf

次の構成をコピーしてファイルに貼り付けます。

config setup
        charondebug="all"
        uniqueids=yes
conn ateway1-to-gateway2
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=secret
        left=192.168.56.7
        leftsubnet=10.10.1.1/24
        right=192.168.56.6
        rightsubnet=10.20.1.1/24
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        dpddelay=30s
        dpdtimeout=120s
        dpdaction=restart

サイト2接続プロファイルの構成

# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
# vi /etc/strongswan/ipsec.conf

次の構成をコピーしてファイルに貼り付けます。

config setup
        charondebug="all"
        uniqueids=yes
conn 2gateway-to-gateway1
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=secret
        left=192.168.56.6
        leftsubnet=10.20.1.1/24
        right=192.168.56.7
        rightsubnet=10.10.1.1/24
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        dpddelay=30s
        dpdtimeout=120s
        dpdaction=restart

上記の各構成パラメーターについて簡単に説明します。

  • 構成のセットアップ –すべての接続に適用されるIPSecの一般的な構成情報を定義します。
  • charondebug –ログに記録するCharonデバッグ出力の量を指定します。
  • 一意のID –特定の参加者IDを一意に保つ必要があるかどうかを定義します。
  • conngateway1-to-gateway2 –接続名を設定するために使用されます。
  • タイプ –接続タイプを定義します。
  • 自動 –IPSecの開始時または再起動時の接続の処理方法を宣言するために使用されます。
  • キー交換 –使用するIKEプロトコルのバージョンを宣言します。
  • authby –ピアが相互に認証する方法を指定します。
  • –左側の参加者のパブリックネットワークインターフェイスのIPアドレスを宣言します。
  • 左サブネット –左側の参加者の背後にあるプライベートサブネットを宣言します。
  • 正しい –適切な参加者のパブリックネットワークインターフェースのIPアドレスを宣言します。
  • rightsubnet –左側の参加者の背後にあるプライベートサブネットを宣言します。
  • ike –使用するIKE /ISAKMPSA暗号化/認証アルゴリズムのリストを宣言するために使用されます。これはコンマ区切りのリストである可能性があることに注意してください。
  • esp –接続に使用されるESP暗号化/認証アルゴリズムのリストを指定します。
  • 積極的 –アグレッシブモードとメインモードのどちらを使用するかを宣言します。
  • キー入力 –接続をネゴシエートするために実行する必要がある試行回数を宣言します。
  • ikelifetime –接続のキーイングチャネルが再ネゴシエートされるまでの期間を指定します。
  • 生涯 –ネゴシエーションの成功から有効期限まで、接続の特定のインスタンスが持続する期間を指定します。
  • dpddelay –R_U_THEREメッセージ/INFORMATIONAL交換がピアに送信される時間間隔を宣言します。
  • dpdtimeout –タイムアウト間隔を宣言するために使用されます。その後、非アクティブの場合、ピアへのすべての接続が削除されます。
  • dpdaction – Dead Peer Detection(DPD)プロトコルを使用して接続を管理する方法を指定します。

ipsec.conf を読むと、strongSwanIPsecサブシステムのすべての構成パラメーターの説明を見つけることができます。 マニュアルページ。

# man ipsec.conf

ステップ4:ピアツーピア認証用のPSKの構成

10。 次に、次のように、認証のためにピアが使用する強力なPSKを生成する必要があります。

# head -c 24 /dev/urandom | base64

PSKキーの生成

11。 /etc/strongswan/ipsec.confにPSKを追加します 両方のセキュリティゲートウェイにファイルします。

# vi /etc/strongswan/ipsec.secrets

ファイルに次の行を入力します。

#Site 1 Gateway
192.168.56.7  192.168.56.6 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

#Site 1 Gateway
192.168.56.6  192.168.56.7 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

12。 次に、 strongsanを開始します サービスを提供し、接続のステータスを確認します。

# systemctl restart strongswan
# strongswan status

Strongswanの接続を確認する

13。 pingコマンドを実行して、いずれかのセキュリティゲートウェイからプライベートサブネットにアクセスできるかどうかをテストします。

# ping 10.20.1.1
# ping 10.10.1.1

Pingセキュリティゲートウェイ

14。 最後になりましたが、 strongswanの詳細をご覧ください 手動で接続を上げる/下げるなどのコマンドについては、strongswanのヘルプページをご覧ください。

# strongswan --help

それは今のところすべてです!私たちとあなたの考えを共有したり、質問をしたりするには、以下のフィードバックフォームから私たちに連絡してください。また、新しいswanctlユーティリティと新しいより柔軟な構成構造の詳細については、strongSwanユーザードキュメントを参照してください。

共有は思いやりがあります…
Facebookで共有するTwitterで共有するLinkedinで共有するRedditで共有する
Cent OS
  1. CentOS 7 /RHEL7にNginxを使用してphpMyAdminをインストールする方法

  2. CentOS7でPostfixAdminを使用してメールサーバーを設定する方法

  3. CentOS8でWireGuardVPNを設定する方法

  1. CentOS8でWireguardVPNを設定する方法

  2. CentOS 7 /RHEL7でホスト名を設定または変更する方法

  3. CentOS/RHEL 7 で udev サービスの children-max を設定する方法

  1. CentOS8でWireGuardVPNを設定する方法

  2. CentOS7でFirewallDを使用してファイアウォールを設定する方法

  3. CentOS/RHEL 7 で NetworkManager を使用してカスタム インターフェイス名を設定する方法