3.9. VPN を中断せずにイーサネットとワイヤレス接続間の切り替えを可能にするネットワークボンディングの作成
ワークステーションを会社のネットワークに接続する RHEL ユーザーは、通常、リモートリソースにアクセスするのに VPN を使用します。ただし、イーサネット接続と Wi-Fi 接続間のワークステーションスイッチ (たとえば、イーサネット接続のあるドッキングステーションからノート PC を解放した場合など) は、VPN 接続が中断されます。この問題を回避するには、active-backup
モードでイーサネット接続および Wi-Fi 接続を使用するネットワークボンディングを作成します。
前提条件
- ホストに、イーサネットデバイスと Wi-Fi デバイスが含まれている。
イーサネットおよび Wi-Fi NetworkManager 接続プロファイルが作成され、両方の接続が独立して機能します。
この手順では、以下の接続プロファイルを使用して
bond0
という名前のネットワークボンディングを作成します。-
enp11s0u1
イーサネットデバイスに関連付けられたDocking_station
-
wlp1s0
Wi-Fi デバイスに関連付けられたWi-Fi
-
手順
active-backup
モードでボンドインターフェイスを作成します。# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
このコマンドは、インターフェイスおよび接続プロファイル
bond0
の両方に名前を付けます。ボンディングの IPv4 設定を設定します。
- ネットワークの DHCP サーバーが IPv4 アドレスをホストに割り当てる場合は、何もする必要はありません。
ローカルネットワークに静的 IPv4 アドレスが必要な場合は、アドレス、ネットワークマスク、デフォルトゲートウェイ、DNS サーバー、および DNS 検索ドメインを
bond0
接続に設定します。# nmcli connection modify bond0 ipv4.addresses '192.0.2.1/24' # nmcli connection modify bond0 ipv4.gateway '192.0.2.254' # nmcli connection modify bond0 ipv4.dns '192.0.2.253' # nmcli connection modify bond0 ipv4.dns-search 'example.com' # nmcli connection modify bond0 ipv4.method manual
ボンディングの IPv6 設定を設定します。
- ネットワークのルーターまたは DHCP サーバーが IPv6 アドレスをホストに割り当てる場合、アクションは必要ありません。
ローカルネットワークに静的 IPv6 アドレスが必要な場合は、アドレス、ネットワークマスク、デフォルトゲートウェイ、DNS サーバー、および DNS 検索ドメインを
bond0
接続に設定します。# nmcli connection modify bond0 ipv6.addresses '2001:db8:1::1/64' # nmcli connection modify bond0 ipv6.gateway '2001:db8:1::fffe' # nmcli connection modify bond0 ipv6.dns '2001:db8:1::fffd' # nmcli connection modify bond0 ipv6.dns-search 'example.com' # nmcli connection modify bond0 ipv6.method manual
接続プロファイルを表示します。
# nmcli connection show NAME UUID TYPE DEVICE Docking_station 256dd073-fecc-339d-91ae-9834a00407f9 ethernet enp11s0u1 Wi-Fi 1f1531c7-8737-4c60-91af-2d21164417e8 wifi wlp1s0 ...
次のステップでは、接続プロファイルとイーサネットデバイス名が必要です。
イーサネット接続の接続プロファイルをボンドに割り当てます。
# nmcli connection modify Docking_station controller bond0
Wi-Fi 接続の接続プロファイルをボンディングに割り当てます。
# nmcli connection modify Wi-Fi controller bond0
Wi-Fi ネットワークが MAC フィルタリングを使用して、許可リストの MAC アドレスのみがネットワークにアクセスできるようにするには、NetworkManager がアクティブなポートの MAC アドレスをボンドに動的に割り当てるように設定します。
# nmcli connection modify bond0 +bond.options fail_over_mac=1
この設定では、イーサネットデバイスと Wi-Fi デバイスの両方の MAC アドレスの代わりに、Wi-Fi デバイスの MAC アドレスのみを許可リストに設定する必要があります。
イーサネット接続に関連付けられたデバイスを、ボンドのプライマリーデバイスとして設定します。
# nmcli con modify bond0 +bond.options "primary=enp11s0u1"
この設定では、ボンディングが利用可能な場合は、イーサネット接続を常に使用します。
bond0
デバイスがアクティブになると、NetworkManager がポートを自動的にアクティブになるように設定します。# nmcli connection modify bond0 connection.autoconnect-ports 1
bond0
接続をアクティベートします。# nmcli connection up bond0
検証
現在アクティブなデバイス、ボンドおよびそのポートのステータスを表示します。
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active) Primary Slave: enp11s0u1 (primary_reselect always) Currently Active Slave: enp11s0u1 MII Status: up MII Polling Interval (ms): 1 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: enp11s0u1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:53:00:59:da:b7 Slave queue ID: 0 Slave Interface: wlp1s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 2 Permanent HW addr: 00:53:00:b3:22:ba Slave queue ID: 0