はじめに
どのサーバータイプもVPNを介して管理できます。デスクトップ/モバイルデバイスからリモートアクセスVPNを設定することは、サーバーアクセスを保護するためにバックエンドサーバーを操作する場合に特に重要です。
この記事では、phoenixNAPのベアメタルクラウド(BMC)へのリモートアクセスを設定する方法を学習します。
この記事では、次のシナリオについて説明します。
- phoenixNAP BMCへのリモートアクセスVPNの設定(デスクトップ/モバイルデバイスアクセス)。
- リモートアクセス用のWindowsクライアントの構成。
- リモートアクセス用のUbuntuクライアントの構成。
- リモートアクセス用のMacクライアントの構成。
- 2つのphoenixNAPBMCロケーション間のVPN接続を設定します。
- phoenixNAPBMCとオンプレミス機器の間にIPSecVPNを設定します。
前提条件
- パブリックアドレス指定とプライベートアドレス指定を備えた少なくとも1つのLinuxベースのBMCサーバー(または2つの場所間のVPNに必要な2つのBMCサーバー)。
- リモート管理を必要とする少なくとも1台のサーバー。
- オンプレミスシナリオの場合のリモートオフィスファイアウォール。
ツール
この記事では、サードパーティのソフトウェアについて説明します。お好みのVPNソフトウェアをご利用いただけます。すべてのパスワードとIPアドレスは単なる例示であり、変更する必要があります。
この記事で参照されているツールは次のとおりです。
- ベアメタルクラウドサーバー – phoenixNAPベアメタルクラウド(BMC)プラットフォームにデプロイされた物理サーバー。
- Ansible –クロスプラットフォームの自動化サポートを容易にするソフトウェアツール。 Ansibleは、コンポーネントのライフサイクルのさまざまな段階での構成のオーケストレーションに利用されます。
- Ansible Galaxy –コンテンツ共有のためのAnsibleの公式ハブ。
- SoftEther –オープンソースのクロスプラットフォームのマルチプロトコルVPNプログラム。 SoftEther VPNプロジェクトは、筑波大学の学術プロジェクトとして、ApacheLicense2.0の下で開発されました。
- strongSwan –3番目のシナリオで使用されるオープンソースのIPsec実装。 strongSwanは、従来のハードウェアファイアウォールとのIPsecVPN接続を容易にします。
- トンネルブリンク –オープンソースクライアント。 Tunnelblinkは、MacホストをエッジVPNサーバーに接続するために使用されます。
phoenixNAPBMCへのリモートアクセスVPNの設定
次のシナリオでは、リモートアクセスVPNについて説明します。 、VPN経由でデスクトップまたはモバイルデバイスからBMCサーバーにアクセスする方法を示しています。
VPNサービスを提供するには、パブリックアドレスとプライベートアドレスを備えたベアメタルクラウドサーバーとSoftEtherエッジサーバーが必要です。
以下で説明する構成は、リモートアクセスVPNセッションをサーバーと同じサブネットにブリッジします。この方法を使用すると、エッジサーバーにはVPNクライアント側からのパブリックアドレスを介してのみアクセスできます。
1.SoftEtherエッジをインストールするサーバーとSSH経由で接続を確立します。
2.次に、 ansibleをインストールします 次のいずれかのコマンドを実行してパッケージ化します。
- UbuntuにAnsibleをインストールするには:
sudo apt -y install ansible
- CentOSにAnsibleをインストールするには:
sudo yum -y install ansible
3. softasap.sa-vpn-softetherをインストールします Ansible GalaxyのAnsibleの役割:
sudo ansible-galaxy install softasap.sa-vpn-softether
4.作業ディレクトリを作成します:
mkdir softether && cd softether
5.新しく作成された作業ディレクトリで、ansible-playbook( vpn.yml )を作成します )SoftEther VPNの場合:
---
- hosts: localhost
vars:
roles:
- {
role: "softasap.sa-vpn-softether",
softether_init_script: "{{ playbook_dir }}/create_hub"
}
6.アダプター名を見つけます およびサブネット 次のコマンドを実行して、バックエンドプライベートネットワークの場合:
ip address
出力は、必要な情報が緑色のボックスで強調表示されている下の画像のようになります。
7.初期スクリプトを作成します( create_hub )SoftEtherVPNを構成するため。 vpnという名前の仮想ハブを作成する必要があります :
HubCreate vpn /PASSWORD:""
hub vpn
8.手順6のアダプター名を使用して、仮想ハブと物理アダプターをブリッジします。 :
BridgeCreate vpn /DEVICE:bond0.1101 /TAP:False
9. Secure NATを有効にします DHCPの機能 機能:
SecureNatEnable
NatDisable
10.適切なサブネットを割り当てます DHCPパラメータ内(ステップ6 で収集されたプライベートネットワークアドレス指定による) ):
DhcpSet /START:10.0.0.200 /END:10.0.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:none
SecureNatHostSet /MAC:none /IP:10.0.0.253 /MASK:255.255.255.0
11.完全修飾ドメイン名(FQDN)を使用してVPN接続の証明書を生成します。
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
12.次に、VPNサポートを有効にします。
- WindowsSSTPVPNのサポートを有効にする クライアントの実行:
SstpEnable yes
- OpenVPNのサポートを有効にするには クライアントの実行:
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
13.ローカルVPNユーザーを定義します:
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
14. SoftEtherサーバー管理パスワードを定義します:
ServerPasswordSet adskfnne44onkdasl
15.次の2つのファイルを作成します: vpn.yml およびcreate_hub 。
必要に応じて、以下を変更します:
- Dhcpset 開始範囲と終了範囲
- SecureNatHostSet IPアドレスパラメータ
- ServerCertRegenerate ドメイン
変更が必要ない場合は、次の行をSoftEtherサーバーに貼り付けます。
cat <<EOF > vpn.yml
---
- hosts: localhost
vars:
roles:
- {
role: "softasap.sa-vpn-softether",
softether_init_script: "{{ playbook_dir }}/create_hub"
}
EOF
cat <<EOF > create_hub
HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1101 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.0.0.200 /END:10.0.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:none
SecureNatHostSet /MAC:none /IP:10.0.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl
EOF
16. vpn.ymlを作成した後 およびcreate_hub ファイル、ansible-playbookを開始できます。次のコマンドは、SoftEtherVPNサーバーをインストールして構成します。
sudo ansible-playbook vpn.yml
これで、構成されたSoftEther VPNサーバーは、リモートアクセスクライアント接続を受け入れる準備が整い、BMC内のサーバーのバックエンドアドレスとの通信が可能になります。
追加の構成オプション
追加の構成オプションについては、SoftEtherVPNコマンドライン管理ユーティリティを使用できます。 (vpncmd)、複数のエッジVPNサーバーの管理に使用されます。
たとえば、SoftEtherサーバーを設定するには、次のコマンドを実行します。
/opt/vpnserver/vpncmd localhost /SERVER /CMD:ServerPasswordSet
VPNユーザーを追加するには、次のコマンドを使用します。
/opt/vpnserver/vpncmd localhost /SERVER /CMD:UserCreate
/opt/vpnserver/vpncmd localhost /SERVER /CMD:UserPasswordSet
Windowsクライアントの構成
SoftEtherを使用してWindowsでVPNクライアントを構成する またはネイティブのMSSSTP 。
オプション1:SoftEtherメソッド
1.Windows用のSoftEtherクライアントをダウンロードします。
2. SoftEtherクライアントをダウンロードしてインストールした後、以下の手順に従ってフェニックスエッジサーバーに接続します。
- VPN接続の追加を選択します 新しいVPN設定プロパティを開きます。
- 設定名を入力します 。
- IPアドレスを指定します 、ポート番号 、および仮想ハブ名 。
- ユーザー名を指定して、VPNサーバーに接続するためのユーザー認証情報を提供します およびパスワード 。
- [ OK]をクリックします 設定プロパティを確認します。
オプション2:WindowsSSTPメソッド
1.SoftEtherサーバーのパスsoftether/generated /generated/cert.cerにある証明書をダウンロードしてインストールします 。
2.証明書を取得したら ウィンドウが開き、証明書のインストールをクリックします 。
3.証明書のインポートウィザード が表示されます。 現在のユーザーを選択します [店舗の場所]を選択し、[次へ]をクリックして続行します 。
4.次に、WindowsでVPNエンドポイントを構成します。 VPN設定を開きます VPNの追加を選択します 。
5.必要な情報を入力し、必ず Windows(組み込み)を選択してください。 VPNプロバイダーおよびセキュアソケットトンネリングプロトコル(SSTP)として VPNタイプとして。
6.保存をクリックします 完了します。
Ubuntuクライアントの構成
1. OpenVPNクライアントを使用するには、OpenVPNパッケージをインストールします。
sudo apt install network-manager-openvpn network-manager-openvpn-gnome
2. openvpn_config.zipをダウンロードして解凍した後 ファイル、構成をインポートします:
- 設定を開きます ネットワークに移動します 。
- +をクリックします 署名してVPNをネットワークに追加します。
- ファイルからインポート…を選択します
3. OpenVPNサンプル構成パッケージから、フェニックスエッジOpenVPNリモートアクセスを選択します ファイル。 開くをクリックします 右上隅のボタン。
4.ユーザー名を入力します およびパスワード 認証用。 追加をクリックします 続行します。
5. IPv4に移動します タブをクリックし、設定を選択しますこの接続はネットワーク上のリソースにのみ使用します 。 適用をクリックします 。
Macクライアントの構成
Tunnelblickを使用して、MacにOpenVPNクライアントをインストールできます。
1. Tunnelblickを開き、構成ファイルがありますを選択します。 。
2.構成ファイルのインストール方法を説明するウィンドウが表示されます。
3.構成ファイルをメニューバーにあるTunnelBlinkアイコンにドラッグアンドドロップします。
4. Tunnelblickアイコンをクリックし、 Connect phx-edge_openvpn_remote_access_l3 を選択して、新しく追加されたVPNに接続します 。
5.VPNのユーザー名を入力します およびパスワード 。次に、[ OK]をクリックします ログインします。
2つのphoenixNAPBMCロケーション間のVPN接続のセットアップ
VPNを介して2つのBMCロケーションを相互接続できます。このような接続は、Lan to Lan(L2L)またはSite to Site(S2S)とも呼ばれます。
このようなセットアップでは、各場所にBMCLinuxサーバーが必要です。両方のサーバーにパブリックアドレスとプライベートアドレスが必要です。これらは、同じバックエンドプライベートネットワーク内のSoftEtherエッジサーバーおよび1つ以上のプライベートBMCサーバーとして機能します。
この例では、PhoenixとAshburnの場所を使用します。ただし、任意のphoenixNAPBMCロケーション間にVPN接続を設定できます。
1.ここから開始する場合は、手順 1を実装します 6まで & 15 16まで 最初のセクションから。これらは、フェニックス側を設定するために必要です。
2.次に、SSH経由でAshburnのSoftEtherエッジへの接続を確立し、ansibleパッケージをインストールします。
- Ubuntuの場合:
sudo apt -y install ansible
- CentOSの場合:
sudo yum -y install ansible
3. softasap.sa-vpn-softetherをインストールします Ansible Galaxyのansibleの役割:
sudo ansible-galaxy install softasap.sa-vpn-softether
4.次のコマンドを使用して、バックエンドプライベートネットワークのアダプタ名とサブネットをメモします。
ip address
5.2つのファイルを作成します: vpn.yml およびcreate_hub 。
必要に応じて、以下を変更します:
- Dhcpset 開始範囲と終了範囲
- SecureNatHostSet IPアドレスパラメータ
- ServerCertRegenerate ドメイン
変更が必要ない場合は、以下の行をSoftEtherサーバーに貼り付けます。
cat <<EOL > vpn.yml
---
- hosts: localhost
vars:
roles:
- {
role: "softasap.sa-vpn-softether",
softether_init_script: "{{ playbook_dir }}/create_hub"
}
EOF
cat <<EOL > create_hub
HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1100 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.1.0.200 /END:10.1.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:none
SecureNatHostSet /MAC:none /IP:10.1.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl
EOF
6. vpn.ymlを作成した後 およびcreate_hub ファイル、ansible-playbookを開始できます。次のコマンドを使用して、AshburnSoftEtherVPNサーバーをインストールおよび構成します。
sudo ansible-playbook vpn.yml
この時点で、SoftEtherサーバーを2つの場所(PhoenixとAshburn)にインストールして構成しました。
次に、これらの場所をS2SVPNトンネルに接続する必要があります。
8. create_hub initを編集します 両方のサーバーでスクリプトを作成し、 s2sという名前の新しい仮想ハブを作成します 。
HubCreate s2s /PASSWORD:""
hub s2s
9.s2sVPN認証用のパスワードを作成します。
UserCreate s2s /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6
10.サイト間VPN接続を開始するには、次の行をプライマリロケーション(この例ではPhoenix)に追加します。
CascadeCreate s2s /SERVER:131.153.155.210:443 /HUB:s2s /USERNAME:s2s
CascadePasswordSet s2s /PASSWORD: bjdbsi9273jygUYGf6 /TYPE:standard
CascadeOnline s2s
これにより、AshburnロケーションにあるSoftEtherサーバーのパブリックIPおよびs2sハブへのカスケード接続が示されます。
11. vpn間のトラフィックを許可する およびs2s ハブの場合は、両方のSoftEtherサーバーに仮想ルーターを追加する必要があります。
Phoenix SoftEtherサーバー:
- s2sという名前の仮想ルーターを作成します:
RouterAdd s2s
- ハブごとにインターフェースを追加します:
RouterIfAdd s2s /HUB:vpn
/IP:10.0.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s
/IP:192.168.168.254/255.255.255.0
- vpnの静的ルートを追加します アッシュバーンの場所のハブ:
RouterTableAdd s2s /NETWORK:10.1.0.0/255.255.255.0 /GATEWAY:192.168.168.253 /METRIC:1
RouterStart s2s
Ashburn SoftEtherサーバー:
- s2sという名前の仮想ルーターを作成する :
RouterAdd s2s
- ハブごとにインターフェースを追加します:
RouterIfAdd s2s /HUB:vpn
/IP:10.1.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s
/IP:192.168.168.253/255.255.255.0
- vpnの静的ルートを追加します フェニックスのハブ:
RouterTableAdd s2s /NETWORK:10.0.0.0/255.255.255.0 /GATEWAY:192.168.168.254 /METRIC:1
RouterStart s2s
12.次に、Phoenixに接続しているユーザーがAshburnのサーバーへの接続を確立できるようにする必要があります。その逆も同様です。これを行うには、VPNクライアントに静的ルートを追加します。
Phoenix SoftEtherサーバー:
DhcpSet /START:10.0.0.200 /END:10.0.0.250
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes
/PUSHROUTE:none
DhcpSet /START:10.0.0.200 /END:10.0.0.250
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes
/PUSHROUTE:10.1.0.0/255.255.255.0/10.0.0.254
Ashburn SoftEtherサーバー:
DhcpSet /START:10.1.0.200 /END:10.1.0.250
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes
/PUSHROUTE:none
DhcpSet /START:10.0.0.200 /END:10.0.0.250
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes
/PUSHROUTE:10.0.0.0/255.255.255.0/10.1.0.254
要約すると、 Phoenix SoftEther create_hub 最初のスクリプトは、次のコンテンツで構成されている必要があります。
HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1100 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.1.0.200 /END:10.1.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE: 10.0.0.0/255.255.255.0/10.1.0.254
SecureNatHostSet /MAC:none /IP:10.1.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl
HubCreate s2s /PASSWORD:""
hub s2s
UserCreate s2s /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6
RouterAdd s2s
RouterIfAdd s2s /HUB:vpn /IP:10.1.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s /IP:192.168.168.253/255.255.255.0
RouterTableAdd s2s /NETWORK:10.0.0.0/255.255.255.0 /GATEWAY:192.168.168.254 /METRIC:1
RouterStart s2s
Ashburn SoftEther create_hub 最初のスクリプトは、次のコンテンツで構成されている必要があります。
HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1101 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.0.0.200 /END:10.0.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:10.1.0.0/255.255.255.0/10.0.0.254
SecureNatHostSet /MAC:none /IP:10.0.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl
HubCreate s2s /PASSWORD:""
hub s2s
UserCreate s2s /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6
CascadeCreate s2s /SERVER:131.153.155.210:443 /HUB:s2s /USERNAME:s2s
CascadePasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6 /TYPE:standard
CascadeOnline s2s
RouterAdd s2s
RouterIfAdd s2s /HUB:vpn /IP:10.0.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s /IP:192.168.168.254/255.255.255.0
RouterTableAdd s2s /NETWORK:10.1.0.0/255.255.255.0 /GATEWAY:192.168.168.253 /METRIC:1
RouterStart s2s
14. initスクリプトの準備ができたら、両方のSoftEtherVPNサーバーを再構成します。
/opt/vpnserver/vpncmd localhost /SERVER /IN:create_hub
15. VPNサーバーのプライベートアドレスを使用してサーバーに静的ルートを追加し、場所間の接続を実現します。
CentOS固有の設定
CentOSを実行している場合 サーバーについては、サーバーの場所ごとに概説されている手順に従ってください。
フェニックス側のBMCサーバー:
- 次のコマンドを実行して、サーバーに静的ルートを追加します。
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
- ルートを永続化するには、ネットワーク構成ファイル/etc/cloud/cloud.cfg.d/50-curtin-networking.cfgを編集します。 。
- ルート情報をファイルに追加します:
type: vlan
mtu: 9000
name: bond0.1101
vlan_id: 1101
vlan_link: bond0
subnets:
- address: 10.0.0.12/24
type: static
routes:
- gateway: 10.0.0.254
network: 10.1.0.0/24
Ashburn側のBMCサーバー:
- 次のコマンドを実行して、サーバーに静的ルートを追加します。
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
- ネットワーク構成ファイルを編集して、ルートを永続化します /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg 。
- ファイルにルートセクションを追加します:
- type: vlan
mtu: 9000
name: bond0.1100
vlan_id: 1100
vlan_link: bond0
subnets:
- address: 10.1.0.12/24
type: static
routes:
- gateway: 10.1.0.254
network: 10.0.0.0/24
Ubuntu固有の設定
Ubuntuを実行している場合 サーバーについては、場所ごとに概説されている手順に従ってください。
フェニックス側のBMCサーバー:
- 次のコマンドを実行して、サーバーに静的ルートを追加します。
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
- ルートを永続化するには、ネットワーク構成ファイル/etc/cloud/cloud.cfg.d/50-curtin-networking.cfgを編集します。 。
- 次の情報をファイルに追加します。
bond0.1101:
addresses:
- 10.0.0.12/24
id: 1101
link: bond0
mtu: 9000
routes:
- to: 10.1.0.0/24
via: 10.0.0.254
Ashburn側のBMCサーバー:
- 次のコマンドを実行して、サーバーに静的ルートを追加します。
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
- ネットワーク構成ファイル/etc/cloud/cloud.cfg.d/50-curtin-networking.cfgを編集して、ルートを永続化します。 。
- ファイルにルートセクションを追加します:
bond0.1100:
addresses:
- 10.1.0.12/24
id: 1100
link: bond0
mtu: 9000
routes:
- to: 10.0.0.0/24
via: 10.1.0.254
phoenixNAPBMCとオンプレミス機器間のIPSecVPNの設定
3番目のシナリオを説明するために、既存のトポロジを使用します。 BMCの場所を2つ持つことは必須ではありません。オンプレミスのデータセンター、オフィス、またはリモートサイトへの接続はすべてこの例に当てはまります。これが唯一の必要なユースケースである場合、このセクションはそれ自体で成り立っています。
オンプレミスエンドポイントとして、CiscoASA設定を使用してサイト間IPsecVPNを作成します。さらに、strongSwanサーバー側を使用してこのトンネルを確立します。説明されているトラフィックは、リモートアクセスクライアントから両方のBMCノードに流れる可能性があり、リモートオフィスから両方のBMCノードに流れる可能性もあります。 BMCを介したリモートサイト/オフィスへのリモートアクセスクライアント接続については説明されていません。
1.エッジサーバーにSSHで接続し、strongSwanパッケージをインストールします:
- Ubuntuの場合:
sudo apt -y install strongswan
- CentOSの場合:
sudo yum -y install strongswan
配布に応じて、構成ファイルは異なるパスに配置されます。
-
- Ubuntuでは、/etc/ipsec.*にあります。
- CentOSでは、構成ファイルは/etc/strongswan/ipsec.*にあります。
2.フェニックスの場所にあるエッジサーバーでIPsec構成ファイルを編集します。
#####Mandatory part of configuration setup#####
config setup
# strictcrlpolicy - Defines if a fresh CRL must be available in order for the peer authentication based on RSA signatures to succeed.
strictcrlpolicy=no
# uniqueids - Defines whether a particular participant ID must be kept unique, with any new IKE_SA using an ID deemed to replace all old ones using that ID.
uniqueids = yes
# charondebug - Defines how much charon debugging output must be logged.
charondebug = "all"
conn vpn-to-asa
#####Per VPN configuration settings#####
# conn <name> - Defines a connection.
authby=secret
# authby - Defines how the peers must authenticate; acceptable values are secret or psk, pubkey, rsasig, ecdsasig.
left=%defaultroute
# left - Defines the IP address of the strongSwan's interface paricipating in the tunnel.
leftid=131.153.142.202
# leftid - Defines the identity payload for the strongSwan.
leftsubnet=10.0.0.0/24
# leftsubnet - Defines the private subnet behind the strongSwan, expressed as network/netmask.
right=185.28.188.0
# right - Defines the public IP address of the VPN peer.
rightid=192.168.0.254
# rightid - Defines the identity payload for the VPN peer.
rightsubnet=192.168.1.0/24
# rightsubnet - Defines the private subnet behind the VPN peer, expressed as network/netmask.
ike=aes256-sha1-modp1536
# ike - Defines the IKE/ISAKMP SA encryption/authentication algorithms. You can add a comma-separated list.
esp=aes256-sha1
# esp - Defines the ESP encryption/authentication algorithms. You can add a comma-separated list
keyingtries=%forever
# keyingtries - Defines the number of attempts that must be made to negotiate a connection.
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
# ikelifetime - Defines the duration of an established phase-1 connection.
lifetime=8h
dpddelay=30
# dpddelay - Defines the time interval with which R_U_THERE messages/INFORMATIONAL exchanges are sent to the peer.
dpdtimeout=120
# dpdtimeout - Defines the timeout interval, after which all connections to a peer are deleted in case of inactivity.
dpdaction=restart
# dpdaction - Defines what action needs to be performed on DPD timeout. Takes three values as paramters : clear, hold, and restart.
auto=start
# auto - Defines what operation, if any, must be done automatically at IPsec startup (start loads a connection and brings it up immediately).
3. IPSec事前共有キーは、別のファイル /etc/strongswan/ipsec.secretsに保存されます。
131.153.142.202 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkphx"
4. strongSwan構成ファイル( ipsec.conf )を作成します およびipsec.secrets )必要なパラメータを変更した後。フェニックスエッジサーバーでは、次の構成を使用できます。
sudo cat <<EOF > /etc/strongswan/ipsec.conf
# mandatory configuration
config setup
strictcrlpolicy=no
uniqueids = yes
charondebug = "all"
# VPN to Cisco ASA
conn vpn-to-asa
authby=secret
left=%defaultroute
leftid=131.153.142.202
leftsubnet=10.0.0.0/24
right=185.28.188.0
rightid=192.168.0.254
rightsubnet=192.168.1.0/24
ike=aes256-sha1-modp1536
esp=aes256-sha1
keyingtries=%forever
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
auto=start
EOF
sudo cat <<EOT > /etc/strongswan/ipsec.secrets
131.153.142.202 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkphx"
EOT
5. SELinuxで発生する可能性のある問題を回避するには、CentOSエッジサーバーで次のコマンドを実行します。
sudo /sbin/restorecon -R -v /etc/strongswan/ipsec.conf
sudo setsebool -P daemons_use_tty 1
6.フェニックスでstrongSwanサービスを開始します:
sudo systemctl enable --now strongswan
7.Ashburnの場所でも同様の手順を実行する必要があります。この例では、AshburnのエッジサーバーOSはUbuntuです(必須ではありません)。構成ファイルは別のパスにあります。必要なパラメータを変更した後、次の行をAshburnの場所にあるエッジサーバーに貼り付けます。
sudo cat <<EOF > /etc/ipsec.conf
# mandatory configuration
config setup
strictcrlpolicy=no
uniqueids = yes
charondebug = "all"
# VPN to Cisco ASA
conn vpn-to-asa
authby=secret
left=%defaultroute
leftid=131.153.155.210
leftsubnet=10.1.0.0/24
right=185.28.188.0
rightid=192.168.0.254
rightsubnet=192.168.1.0/24
ike=aes256-sha1-modp1536
esp=aes256-sha1
keyingtries=%forever
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
auto=start
EOF
sudo cat <<EOT > /etc/ipsec.secrets
131.153.155.210 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkash"
EOT
8. AshburnでstrongSwanサービスを開始します:
sudo systemctl enable --now strongswan
9.エッジサーバーに静的ルートを追加して、オンプレミスのデータセンター、オフィス、またはリモートサイトとの通信を可能にします。
CentOS固有の静的ルート
次の構成はCentOSに適用されます サーバー。
フェニックス側のBMCサーバー:
- 実行してサーバーに静的ルートを追加します:
sudo ip route add 192.168.1.0/24 via 10.0.0.11 dev bond0.1101
- ルートを永続化するには、ネットワーク構成ファイル/etc/cloud/cloud.cfg.d/50-curtin-networking.cfgを編集します。 。
- 次の情報をファイルに追加します。
type: vlan
mtu: 9000
name: bond0.1101
vlan_id: 1101
vlan_link: bond0
subnets:
- address: 10.0.0.12/24
type: static
routes:
- gateway: 10.0.0.11
network: 192.168.1.0/24
Ashburn側のBMCサーバー:
- 実行してサーバーに静的ルートを追加します:
sudo ip route add 192.168.1.0/24 via 10.1.0.11 dev bond0.1100
- ネットワーク構成ファイル/etc/cloud/cloud.cfg.d/50-curtin-networking.cfgを編集して、ルートを永続化します。 。
- ファイルにルートセクションを追加します:
type: vlan
mtu: 9000
name: bond0.1100
vlan_id: 1100
vlan_link: bond0
subnets:
- address: 10.1.0.12/24
type: static
routes:
- gateway: 10.1.0.11
network: 192.168.1.0/24
Ubuntu固有の静的ルート
Ubuntuで次の構成を使用します サーバー。
Phoenix side BMC servers:
- Add static route on server by running:
sudo ip route add 192.168.1.0/24 via 10.0.0.11 dev bond0.1101
- To make the routes persistent, edit the network configuration file /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg 。
- Add the following information to the file:
bond0.1101:
addresses:
- 10.0.0.12/24
id: 1101
link: bond0
mtu: 9000
routes:
- to: 192.168.1.0/24
via: 10.0.0.11
Ashburn side BMC servers:
- Add static route on server by running:
sudo ip route add 192.168.1.0/24 via 10.1.0.11 dev bond0.1100
- Make the routes persistent by editing the network configuration file /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg 。
- Add a routes section to the file:
bond0.1100:
addresses:
- 10.1.0.12/24
id: 1100
link: bond0
mtu: 9000
routes:
- to: 192.168.1.0/24
via: 10.1.0.11
10. The following step includes an on-premises Cisco ASA firewall IPSsec configuration. Your actual configuration may vary.
name 131.153.142.202 PHX-VPN-PEER
name 131.153.155.210 ASH-VPN-PEER
object-group network PHX-VPN-REMOTE
network-object 10.0.0.0 255.255.255.0
object-group network ASH-VPN-REMOTE
network-object 10.1.0.0 255.255.255.0
object-group network PHX-VPN-LOCAL
network-object 192.168.1.0 255.255.255.0
object-group network ASH-VPN-LOCAL
network-object 192.168.1.0 255.255.255.0
!
access-list PHXl2l_acl extended permit ip object-group PHX-VPN-LOCAL object-group PHX-VPN-REMOTE
access-list ASHl2l_acl extended permit ip object-group ASH-VPN-LOCAL object-group ASH-VPN-REMOTE
nat (inside,outside) source static PHX-VPN-LOCAL PHX-VPN-LOCAL destination static PHX-VPN-REMOTE PHX-VPN-REMOTE no-proxy-arp
nat (inside,outside) source static ASH-VPN-LOCAL ASH-VPN-LOCAL destination static ASH-VPN-REMOTE ASH-VPN-REMOTE no-proxy-arp
!
crypto ikev1 policy 10
authentication pre-share
encryption aes-256
hash sha
group 5
lifetime 3600
!
crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto map outside_map 10 match address PHXl2l_acl
crypto map outside_map 10 set peer PHX-VPN-PEER
crypto map outside_map 10 set ikev1 transform-set ESP-AES-256-SHA
crypto map outside_map 10 set security-association lifetime seconds 28800
crypto map outside_map 20 match address ASHl2l_acl
crypto map outside_map 20 set peer ASH-VPN-PEER
crypto map outside_map 20 set ikev1 transform-set ESP-AES-256-SHA
crypto map outside_map 20 set security-association lifetime seconds 28800
crypto map outside_map interface outside
crypto ikev1 enable outside
!
tunnel-group 131.153.142.202 type ipsec-l2l
tunnel-group 131.153.142.202 ipsec-attributes
ikev1 pre-shared-key ksdbk78823kdcs92kwehsfkphx
tunnel-group 131.153.155.210 type ipsec-l2l
tunnel-group 131.153.155.210 ipsec-attributes
ikev1 pre-shared-key ksdbk78823kdcs92kwehsfkahs