第28章 分離された VRF ネットワーク内でのサービスの開始
VRF (Virtual Routing and Forwarding) を使用すると、オペレーティングシステムのメインのルーティングテーブルとは異なるルーティングテーブルを使用して、分離したネットワークを作成できます。その後、サービスとアプリケーションを起動して、そのルーティングテーブルで定義されたネットワークにのみアクセスできるようにできます。
28.1. VRF デバイスの設定
VRF (Virtual Routing and Forwarding) を使用するには、VRF デバイスを作成し、物理ネットワークインターフェイスまたは仮想ネットワークインターフェイスを割り当て、そのデバイスにルーティング情報を提供します。
リモートでロックアウトを防ぐには、ローカルコンソール、または VRF デバイスに割り当てないネットワークインターフェイスを介してリモートでこの手順を実行します。
前提条件
- ローカルでログインしているか、VRF デバイスに割り当てるネットワークインターフェイスとは異なるネットワークインターフェイスを使用している。
手順
同じ名前の仮想デバイスで
vrf0
接続を作成し、これをルーティングテーブル1000
に割り当てます。# nmcli connection add type vrf ifname vrf0 con-name vrf0 table 1000 ipv4.method disabled ipv6.method disabled
enp1s0
デバイスーをvrf0
接続に追加し、IP 設定を設定します。# nmcli connection add type ethernet con-name enp1s0 ifname enp1s0 master vrf0 ipv4.method manual ipv4.address 192.0.2.1/24 ipv4.gateway 192.0.2.254
このコマンドは、
enp1s0
接続を、vrf0
接続のポートとして作成します。この設定により、ルーティング情報は、vrf0
デバイスに関連付けられているルーティングテーブル1000
に自動的に割り当てられます。分離したネットワークで静的ルートが必要な場合は、以下のコマンドを実行します。
静的ルートを追加します。
# nmcli connection modify enp1s0 +ipv4.routes "198.51.100.0/24 192.0.2.2"
192.0.2.2
をルーターとして使用する198.51.100.0/24
ネットワークにルートを追加します。接続をアクティベートします。
# nmcli connection up enp1s0
検証
vrf0
に関連付けられている機器の IP 設定を表示します。# ip -br addr show vrf vrf0 enp1s0 UP 192.0.2.1/24
VRF デバイスと、その関連ルーティングテーブルを表示します。
# ip vrf show Name Table ----------------------- vrf0 1000
メインのルーティングテーブルを表示します。
# ip route show default via 203.0.113.0/24 dev enp7s0 proto static metric 100
メインルーティングテーブルには、
enp1s0
デバイスまたは192.0.2.1/24
サブネットに関連付けられたルートは記載されていません。ルーティングテーブルの
1000
を表示します。# ip route show table 1000 default via 192.0.2.254 dev enp1s0 proto static metric 101 broadcast 192.0.2.0 dev enp1s0 proto kernel scope link src 192.0.2.1 192.0.2.0/24 dev enp1s0 proto kernel scope link src 192.0.2.1 metric 101 local 192.0.2.1 dev enp1s0 proto kernel scope host src 192.0.2.1 broadcast 192.0.2.255 dev enp1s0 proto kernel scope link src 192.0.2.1 198.51.100.0/24 via 192.0.2.2 dev enp1s0 proto static metric 101
default
エントリーは、このルーティングテーブルを使用するサービスでは、192.0.2.254
をデフォルトゲートウェイとして使用し、メインルーティングテーブルのデフォルトゲートウェイは使用しないことを示しています。vrf0
に関連付けられたネットワークでtraceroute
ユーティリティーを実行し、ユーティリティーがテーブル1000
からのルートを使用することを確認します。# ip vrf exec vrf0 traceroute 203.0.113.1 traceroute to 203.0.113.1 (203.0.113.1), 30 hops max, 60 byte packets 1 192.0.2.254 (192.0.2.254) 0.516 ms 0.459 ms 0.430 ms ...
最初のホップは、ルーティングテーブル
1000
に割り当てられるデフォルトゲートウェイで、システムのメインルーティングテーブルのデフォルトゲートウェイではありません。
関連情報
-
システム上の
ip-vrf(8)
man ページ