Strongswan

Strongswanは、オープン・ソースのIPSecベースのVPNソリューションです。ほとんどのLinuxディストリビューションには、Strongswanが含まれているか、簡単にインストールできます。これは、オンプレミス・ネットワークまたはクラウド・プロバイダ・ネットワークのいずれかのホストにインストールできます。

このトピックでは、Strongswanを実行しているCPEの構成について説明します。Strongswan 5.xブランチは、LinuxカーネルのネイティブNETKEY IPSecスタックでIKEv1とIKEv2の両方のキー交換プロトコルをサポートします。

重要

Oracleには、テスト済の一連のベンダーおよびデバイスの構成手順が用意されています。ベンダーおよびソフトウェアのバージョンに正しい構成を使用してください。

構成の検証にOracleで使用されたデバイスまたはソフトウェアのバージョンが、使用しているデバイスまたはソフトウェアと完全に一致しない場合でも、必要な構成をデバイスに作成できます。ベンダーのドキュメントを参照し、必要な調整を行ってください。

デバイスが、検証済のベンダーおよびデバイスのリストに含まれないベンダーのものである場合、またはIPSecのデバイスの構成をよく理解している場合は、サポートされているIPSecパラメータのリストを確認し、ベンダーのドキュメントを参照してください。

Oracle Cloud Infrastructureは、オンプレミス・ネットワークと仮想クラウド・ネットワーク(VCN)間のセキュアなIPSec接続であるサイト間VPNを提供します。

次の図は、冗長トンネルを使用した、Oracle Cloud Infrastructureへの基本的なIPSec接続を示しています。この図で使用されているIPアドレスは、単なる例です。

この図は、オンプレミス・ネットワーク、サイト間VPN IPSecトンネルおよびVCNの一般的なレイアウトを示しています。

ベスト・プラクティス

この項では、サイト間VPNの使用に関する一般的なベスト・プラクティスと考慮事項について説明します。

すべてのIPSec接続に対してすべてのトンネルを構成します

Oracleは、接続ごとに2つのIPSecヘッドエンドをデプロイし、ミッションクリティカルなワークロードに高可用性を提供します。Oracle側では、これらの2つのヘッドエンドが別々のルーターに配置されて冗長性が確保されます。最大の冗長性のために使用可能なすべてのトンネルを構成することをお薦めします。これは「障害を前提とした設計」原理の重要な要素です。

オンプレミス・ネットワークの場所に冗長CPEを配置します

IPSecでOracle Cloud Infrastructureに接続する各サイトでは、冗長エッジ・デバイス(顧客構内機器(CPE)とも呼ばれる)を使用する必要があります。Oracle Consoleに各CPEを追加し、動的ルーティング・ゲートウェイ(DRG)と各CPE間に個別のIPSec接続を作成します。各IPSec接続に対して、Oracleは、地理的に冗長なIPSecヘッドエンド上に2つのトンネルをプロビジョニングします。詳細は、接続性冗長性ガイド(PDF)を参照してください。

ルーティング・プロトコルの考慮事項

サイト間VPN IPSec接続を作成する場合、2つの冗長IPSecトンネルがあります。両方のトンネルを使用するようにCPEを構成することをお薦めします(CPEでサポートされている場合)。以前は、Oracleによって、最大4つのIPSecトンネルを持つIPSec接続が作成されていました。

次の3つのルーティング・タイプを使用でき、サイト間VPNの各トンネルに対して個別にルーティング・タイプを選択します:

  • BGP動的ルーティング: 使用可能なルートは、BGPによって動的に学習されます。DRGは、オンプレミス・ネットワークからルートを動的に学習します。Oracle側では、DRGはVCNのサブネットを通知します。
  • 静的ルーティング: DRGへのIPSec接続を設定する場合は、VCNに通知する必要のあるオンプレミス・ネットワークへの特定のルートを指定します。VCNのサブネットへの静的ルートを使用して、CPEデバイスを構成する必要もあります。これらのルートは、動的には学習されません。
  • ポリシーベースのルーティング: DRGへのIPSec接続を設定する場合は、VCNに通知する必要のあるオンプレミス・ネットワークへの特定のルートを指定します。VCNのサブネットへの静的ルートを使用して、CPEデバイスを構成する必要もあります。これらのルートは、動的には学習されません。

BGP最適パス選択アルゴリズムの操作方法に関するOracle推奨など、サイト間VPNによるルーティングの詳細は、サイト間VPNのルーティングを参照してください。

その他の重要なCPE構成

CPEのアクセス・リストが、Oracle Cloud Infrastructureとの間で必要なトラフィックをブロックしないように正しく構成されていることを確認します。

複数のトンネルを同時に稼働させると、非対称ルーティングが発生する可能性があります。非対称ルーティングを許可するには、VCNからのトラフィックをどのトンネルでも処理できるようにCPEが構成されていることを確認します。たとえば、ICMP検査を無効にしたり、TCP状態バイパスを構成したりする必要があります。適切な構成の詳細は、CPEベンダーのサポートに問い合せてください。ルーティングを対称的に構成するには、サイト間VPNのルーティングを参照してください。

注意事項および制限事項

この項では、注意する必要のあるサイト間VPNの重要な一般的特性と制限について説明します。適用可能な制限のリストと制限の引上げをリクエストする手順は、サービス制限を参照してください。

非対称ルーティング

Oracleでは、IPSec接続を構成する複数のトンネル間で非対称ルーティングが使用されます。適切にファイアウォールを構成してください。そうしないと、接続を介したpingテストやアプリケーション・トラフィックが確実に機能しません。

複数のトンネルをOracle Cloud Infrastructureに使用する場合は、優先トンネルを通じてトラフィックを決定論的にルーティングするようにルーティングを構成することをお薦めします。1つのIPSecトンネルをプライマリとして使用し、別のトンネルをバックアップとして使用する場合は、プライマリ・トンネル(BGP)用として特定性の高いルートを構成し、バックアップ・トンネル(BGP/静的)用として特定性の低いルート(サマリーまたはデフォルト・ルート)を構成します。そうしないと、すべてのトンネルを通じて同じルート(デフォルト・ルートなど)を通知した場合、VCNからオンプレミス・ネットワークへの戻りトラフィックは、使用可能なトンネルのいずれかにルーティングされます。これは、Oracleが非対称ルーティングを使用するためです。

Oracleルーティングの対称ルーティングの強制方法に関する具体的な推奨事項は、サイト間VPNのルーティングを参照してください。

ルートベースまたはポリシーベースのサイト間VPN

IPSecプロトコルは、セキュリティ・アソシエーション(SA)を使用してパケットの暗号化方法を判断します。各SA内で、パケットのソースIPアドレスと宛先IPアドレスおよびプロトコル・タイプをSAデータベースのエントリにマップする暗号化ドメインを定義して、パケットを暗号化または復号化する方法を定義します。

ノート

他のベンダーまたは業界のドキュメントでは、SAまたは暗号化ドメインを参照するときに、プロキシID、セキュリティ・パラメータ・インデックス(SPI)またはトラフィック・セレクタという用語が使用される場合があります。

IPSecトンネルを実装するには、一般的に2つの方法があります:

  • ルートベース・トンネル: ネクスト・ホップベース・トンネルとも呼ばれます。ルート表検索は、パケットの宛先IPアドレス上で実行されます。そのルートのエグレス・インタフェースがIPSecトンネルである場合、パケットは暗号化され、トンネルの他方の側に送信されます。
  • ポリシーベース・トンネル: パケットのソースと宛先のIPアドレスおよびプロトコルがポリシー・ステートメントのリストと照合されます。一致が検出されると、そのポリシー・ステートメント内のルールに基づいてパケットが暗号化されます。

Oracleサイト間VPNヘッドエンドではルートベース・トンネルが使用されますが、次の各項に示す注意事項を考慮しながら、ポリシーベース・トンネルとともに使用できます。

CPEがNATデバイスの背後にある場合

一般的に、接続の終端で構成されたCPE IKE識別子は、Oracleが使用しているCPE IKE識別子と一致する必要があります。デフォルトでは、OracleではCPEのパブリックIPアドレスが使用されます。これは、Oracle ConsoleでCPEオブジェクトを作成したときに指定したものです。ただし、CPEがNATデバイスの背後にある場合、次の図に示すように、終端で構成されたCPE IKE識別子がCPEのプライベートIPアドレスになる可能性があります。

この図は、NATデバイスの背後にあるCPE、パブリックIPアドレスとプライベートIPアドレス、およびCPE IKE識別子を示しています。
ノート

一部のCPEプラットフォームでは、ローカルIKE識別子を変更できません。実行できない場合は、Oracle ConsoleでリモートIKE IDを変更し、CPEのローカルIKE IDと一致させる必要があります。IPSec接続を設定するときに、または設定後に、IPSec接続を編集して値を指定できます。Oracleでは、値がIPアドレスまたはcpe.example.comなどの完全修飾ドメイン名(FQDN)であることが必要です。手順については、Oracleで使用されるCPE IKE識別子の変更を参照してください。

サポートされているIPSecパラメータ

すべてのリージョンでサポートされているIPSecパラメータのベンダー非依存のリストについては、サポートされているIPSecパラメータを参照してください。

商用クラウド・レルムのOracle BGP ASNは31898です。US Government Cloud用のサイト間VPNを構成する場合は、Government Cloudに必要なサイト間VPNパラメータおよびOracleのBGP ASNを参照してください。United Kingdom Government Cloudについては、OracleのBGP ASNを参照してください。

CPE構成

重要

この項の構成手順は、使用しているCPE用のOracle Cloud Infrastructureで提供されています。サポートが必要な場合は、CPEベンダーのサポートに直接問い合せてください。

次の図は、IPSec接続の基本的なレイアウトを示しています。

この図は、IPSec接続とトンネルの一般的なレイアウトを示しています。

デフォルトのStrongswan構成ファイル

デフォルトのStrongswanインストールでは、次のファイルが作成されます:

  • etc/strongswan/ipsec.conf: Strongswan構成のルート。
  • /etc/strongswan/ipsec.secrets: Strongswanがシークレットを検索する場所のルート(トンネルの事前共有キー)。

デフォルトのetc/strongswan/ipsec.confファイルは、次の行を含みます:

Include /etc/strongswan/*.conf

デフォルトのetc/strongswan/ipsec.secretsファイルは、次の行を含みます:

include /etc/strongswan/ipsec.d/*.secrets

前述の行では、/etc/strongswanディレクトリのすべての.confおよび.secretsファイルが、Strongswanで使用されるメイン構成およびシークレット・ファイルに自動的にマージされます。

IKEv2の使用について

Oracleは、Internet Key Exchangeバージョン1 (IKEv1)およびバージョン2 (IKEv2)をサポートしています。コンソールでIKEv2を使用するようにIPSec接続を構成する場合、CPEでサポートされているIKEv2および関連するIKEv2暗号化パラメータのみを使用するようにCPEを構成する必要があります。OracleでIKEv1またはIKEv2用にサポートされているパラメータのリストについては、サポートされているIPSecパラメータを参照してください。

次の項のタスク3でIPSec構成ファイルを設定するときに、IKEバージョンを指定します。そのサンプル・ファイルには、IKEv1とIKEv2の構成方法を示すコメントがあります。

構成プロセス

次の構成プロセスでは、Strongswanでのルートベース・トンネルの構成方法について説明します。Oracle VPNのヘッドエンドでは、ルートベースのトンネルが使用されます。仮想トンネル・インタフェース(VTI)の構成構文を使用してStrongswanを構成することをお薦めします。

このドキュメントで使用される特定のパラメータの詳細は、サポートされているIPSecパラメータを参照してください。

タスク1: Strongswanインスタンスの準備

使用しているLinuxディストリビューションによっては、Strongswanでクライアントがトラフィックを送受信できるように、インタフェースでIP転送を有効化する必要があります。/etc/sysctl.confファイルで、次の値を設定し、sudo sysctl -pを使用して更新を適用します。

eth0以外のインタフェースを使用している場合は、次の例のeth0を、使用しているインタフェースに変更します(行5と7)。

複数のインタフェースを使用している場合は、そのインタフェースの行5と7も構成します。


net.ipv4.ip_forward=1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens3.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.ens3.accept_redirects = 0
タスク2: 必要な構成値の確認

Strongswan構成では、次の変数を使用します。構成を進める前に値を確認してください。

  • ${cpeLocalIP}: StrongswanデバイスのIPアドレス。
  • ${cpePublicIpAddress}: StrongswanのパブリックIPアドレス、および外部インタフェースのIPアドレス。ネットワーク・トポロジによっては、この値は${cpeLocalIP}と異なる場合があります。
  • ${oracleHeadend1}: 最初のトンネル用に、Oracle Consoleから取得したOracleパブリックIPエンドポイント。
  • ${oracleHeadend2}: 2番目のトンネル用に、Oracle Consoleから取得したOracleパブリックIPエンドポイント。
  • ${sharedSecret1}: 最初のトンネルの事前共有キー。IPSec接続をOracle Consoleで設定するとき、デフォルトのOracle提供の事前共有キーを使用するか、独自のキーを指定することができます。
  • ${sharedSecret2}: 2番目のトンネルの事前共有キー。IPSec接続をOracle Consoleで設定するとき、デフォルトのOracle提供の事前共有キーを使用するか、独自のキーを指定することができます。
  • ${vcnCidrNetwork}: VCNのIP範囲。
タスク3: 構成ファイル: /etc/strongswan/ipsec.confの設定

Strongswan構成では、の概念を使用して、ローカルCPEデバイスとリモート・ゲートウェイの構成パラメータを定義します。接続(Strongswan構成ではconn)のいずれかの側を左または右に指定できますが、その接続の構成は一貫性がある必要があります。この例の場合:

  • 左: ローカルStrongswan CPE
  • 右: Oracle VPNヘッドエンド

/etc/strongswan/ipsec.confファイルの次のテンプレートを使用します。このファイルでは、IPSec接続を設定するときにOracleによって作成される2つのトンネルを定義します。

重要

CPEが1対1 NATデバイスの背後にある場合、leftidパラメータのコメントを解除し、${cpePublicIpAddress}と同じ値に設定します。


# basic configuration
config setup
conn %default
  ikelifetime=28800s
  keylife=3600s
  rekeymargin=3m
  keyingtries=%forever
  mobike=no
  ike=aes256-sha2_384-ecp384!
  esp=aes256gcm16-modp1536!
conn oci-tunnel-1
  left=${cpeLocalIP}
  #leftid=${cpePublicIpAddress} # See preceding note about 1-1 NAT device
  leftsubnet=0.0.0.0/0
  leftauth=psk
  right=${oracleHeadend1}
  rightid=${oracleHeadend1}
  rightsubnet=0.0.0.0/0
  rightauth=psk
  type=tunnel
  keyexchange=ikev1 # To use IKEv2, change to ikev2 
  auto=start
  dpdaction=restart
  mark=13 # Needs to be unique across all tunnels
conn oci-tunnel-2
  left={cpeLocalIP}
  #leftid=${cpePublicIpAddress}
  leftsubnet=0.0.0.0/0
  leftauth=psk
  right=${oracleHeadend2}  
  rightid=${oracleHeadend2}  
  rightsubnet=0.0.0.0/0
  rightauth=psk
  type=tunnel
  keyexchange=ikev1 # To use IKEv2, change to ikev2
  auto=start
  dpdaction=restart
  mark=14 # Needs to be unique across all tunnels
ノート

ike=esp=などの文は、サポートされているIPSecパラメータに基づいて特定のパラメータ用に変更できます。

タスク4: シークレット・ファイル: /etc/strongswan/ipsec.secretsの設定

/etc/strongswan/ipsec.secretsファイルの次のテンプレートを使用します。IPSec接続ごとに2つの行が含まれます(トンネルごとに1行)。


${cpePublicIpAddress} ${oracleHeadend1}: PSK "${sharedSecret1}"
${cpePublicIpAddress} ${oracleHeadend2}: PSK "${sharedSecret2}"
タスク5: VTIの作成

次のコマンドでは、定義された名前でVTIインタフェースを作成し、ローカルおよびリモートIPを使用してトンネルにバインドします。

ip tunnel add <name> local <local IP> remote <remote IP> mode vti key <mark>
  • <name>には、任意の有効なデバイス名(ipsec0、vti0など)を指定できます。ipコマンドは、vtiで始まる名前を、一部のインスタンスで特殊な名前として扱います(デバイス統計の取得時など)。IPアドレスは、IPSecトンネルのエンドポイントです。プライベートIPは、CPEがNATデバイスの背後にある場合に使用できます。
  • <mark>は、接続に対して構成されたマークと一致する必要があります。

VTIの作成後、それを有効化する必要があります(ip link set <name> upを使用)。その後、次の例に示すように、ルートをインストールしてルーティング・プロトコルを使用できます。


ip tunnel add vti1 mode vti local 10.0.3.78 remote 193.123.68.187 key 13
ip link set vti1 up
タスク6: ルートの変更

IKEデーモンによるルート・インストールを無効にする必要があります。これを行うには、charon.confを次のように変更します。


Directory - /etc/strongswan/strongswan.d/Charon.conf
#Uncomment below statement
install_routes = no 
タスク7: Strongswanの再起動

構成ファイルおよびシークレット・ファイルを設定した後、Strongswanサービスを再起動する必要があります。次のコマンドを使用します:


Strongswan restart
ノート

Strongswanサービスの再起動により、既存のトンネルが影響を受ける可能性があります。
タスク8: IPルーティングの構成

次のipコマンドを使用して、IPSecトンネルを介してVCNにトラフィックを送信する静的ルートを作成します。権限のないユーザー・アカウントでログインしている場合は、コマンドの前にsudoを使用する必要があります。

ノート

ip routeコマンドで作成される静的ルートは、再起動後は維持されません。ルートを維持する方法については、使用しているLinuxディストリビューションのドキュメントを参照してください。

ip route add ${VcnCidrBlock} nexthop dev ${vti1} nexthop dev ${vti2}
ip route show

検証

モニタリング・サービスは、クラウド・リソースをアクティブおよびパッシブにモニターするためにOracle Cloud Infrastructureから使用できます。サイト間VPNのモニタリングの詳細は、サイト間VPNのメトリックを参照してください。

問題がある場合は、サイト間VPNのトラブルシューティングを参照してください。

OCIロギングを有効にしてVPNログにアクセスすることもできます。

トンネル・インタフェース・ステータスの検証

次のコマンドを使用して、Strongswanトンネルの現在の状態を確認します。

strongswan status

返された出力が次の例のようである場合は、トンネルが確立されています。

oci-tunnel-1[591]: ESTABLISHED 43 minutes ago, 10.0.3.78[129.148.216.212]...193.123.68.187[193.123.68.187]
oci-tunnel-1{399}:  INSTALLED, TUNNEL, reqid 102, ESP in UDP SPIs: ce6a1525_i 4829c65c_o
oci-tunnel-1{399}:   0.0.0.0/0 === 0.0.0.0/0

今後、Strongswanトンネルに関してOracleのサポート・チケットをオープンする必要がある場合は、strongswan statusコマンドの完全な出力を含めます。

トンネル・インタフェース・ステータスの検証

ifconfigコマンドまたはip link showコマンドを使用して、仮想トンネル・インタフェースがアップまたはダウンしていることを確認します。インタフェースでtcpdumpなどのアプリケーションを使用することもできます。

使用可能なVTIを示す、実行中のStrongswan実装に関するifconfig出力の例を次に示します。

ifconfig
<output trimmed>

vti1: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 8980
        inet 10.10.10.1  netmask 255.255.255.252  destination 10.10.10.1
        inet6 fe80::5efe:a00:34e  prefixlen 64  scopeid 0x20<link>
        tunnel   txqueuelen 1000  (IPIP Tunnel)
        RX packets 69209  bytes 4050022 (3.8 MiB)
        RX errors 54  dropped 54  overruns 0  frame 0
        TX packets 50453  bytes 3084997 (2.9 MiB)
        TX errors 1016  dropped 0 overruns 0  carrier 1016  collisions 0

vti2: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 8980
        inet 192.168.10.1  netmask 255.255.255.252  destination 192.168.10.1
        inet6 fe80::5efe:a00:34e  prefixlen 64  scopeid 0x20<link>
        tunnel   txqueuelen 1000  (IPIP Tunnel)
        RX packets 101256  bytes 6494872 (6.1 MiB)
        RX errors 12  dropped 12  overruns 0  frame 0
        TX packets 70023  bytes 4443597 (4.2 MiB)
        TX errors 2142  dropped 0 overruns 0  carrier 2142  collisions 0

ip link show出力の例を次に示します:

ip link show
<output trimmed>
vti2@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 8980 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ipip 10.0.3.78 peer 139.185.34.172
14: vti1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 8980 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ipip 10.0.3.78 peer 193.123.68.187

Strongswanを使用した動的ルーティングの構成

タスク1: インスタンスを準備するためのquaggaのインストール

Oracleでは、quaggaを使用してBGPを構成することをお薦めします。quaggaをインストールするには、次のOracle Linuxコマンドを使用します(別のLinuxディストリビューションを使用している場合、コマンドは多少異なる可能性があります):

sudo yum -y install quagga
タスク2: zebraの構成

zebra構成(/etc/quagga/zebra.conf)を変更して、VTI IPアドレスを定義します。これは、BGPがピアリングを使用するため必要です。zebraの次の変数を定義します:

  • ${vti_name1}: 使用される最初のVTIの名前。たとえば、vti1です。
  • ${vti_name2}: 使用される2番目のVTIの名前。たとえば、vti2です。
  • ${vti_ipaddress1}: 使用される最初のVTIに割り当てるIPアドレス。
  • ${vti_ipaddress2}: 使用される2番目のVTIに割り当てるIPアドレス。
  • ${local_subnet}: ローカルCPEサブネット。

これらの変数は、次の構成ファイルの抜粋で使用されています:


!
hostname strongswan-centos
 
log file /var/log/quagga/quagga.log
!
interface ens3
 ipv6 nd suppress-ra
!
interface ens5
 ipv6 nd suppress-ra
!
interface lo
!
interface <Vti_name1>
 ip address ${vti_ipaddress1}
 ipv6 nd suppress-ra
!
interface <Vti_name2>
 ip address ${vti_ipaddress2}
 ipv6 nd suppress-ra
!
ip route ${local_subnet} <Vti_name1>
ip route ${local_subnet} <Vti_name2>
!
ip forwarding
!
!
line vty
!
タスク3: bgpdの構成

BGP構成には、bgpd構成ファイルも必要です。bgpdの次の変数を定義します:

  • ${LOCAL_ASN}: ローカル・ネットワークのBGP ASN。
  • ${router-id_ipaddress}: ローカル・ネットワークのBGP ID。
  • ${local_subnet}: 通知する必要があるローカル・サブネット。
  • ${bgp_peer-ip _network}: OCIのピアIPネットワークの/30 CIDR。
  • ${neighbor_peer_ip_address}: OCI BGPピアのIPアドレス。

これらの変数は、/etc/quagga/bgpd.confから抜粋した次の構成ファイルで使用されています:


hostname <host-name>
router bgp ${LOCAL_ASN} 
bgp router-id ${router-id_ipaddress}
  network ${bgp_peer-ip _network}
  network ${bgp_peer-ip _network}
  network ${local_subnet}
  neighbor ${neighbour_peer_ip_address} remote-as 31898
  neighbor ${neighbour_peer_ip_address}  ebgp-multihop 255
  neighbor ${neighbour_peer_ip_address} next-hop-self
  neighbor ${neighbour_peer_ip_address} remote-as 31898
  neighbor ${neighbour_peer_ip_address}  ebgp-multihop 255
  neighbor ${neighbour_peer_ip_address} next-hop-self
 
log file bgpd.log
log stdout
タスク4: VTIでIPアドレスを使用するためのインスタンスの構成

Strongswanでルートおよび仮想IPを使用できるようにするには、/etc/strongswan/strongswan.d/Charon.confを変更する必要があります。

#install_routes = yesおよび#install_virtual_ip = yesという行のコメントを解除し、次のように値を"no"に変更します:


     #Tunnels
     install_routes = no

    #Install virtual IP addresses.
     install_virtual_ip = no
タスク5: 有効化および起動

zebraおよびBGPDのサービスを有効化および起動するには、次のコマンドを使用します:


systemctl start zebra
systemctl enable zebra
systemctl start bgpd
systemctl enable bgpd