VyOS のインターフェイス設計は、IP アドレスを割り当てる作業だけではありません。物理ポート、リンク集約、ルーター自身を示すアドレス、管理用の経路表を分けておくと、Firewall、動的ルーティング、VPN、監視の参照先が明確になります。
この記事では VyOS 1.5 を前提に、Ethernet、Bonding、Loopback、VRF の責務、LACP と active-backup の選択、MTU とオフロードの注意、管理接続を失わない変更順序、運用時の確認方法を解説します。
書籍
インターフェイス、経路表、ルーティング設計の関係を確認する参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
インターフェイスを役割で分ける
| 要素 | 主な役割 | 設計時に決めること |
|---|---|---|
| Ethernet | WAN、LAN、管理、Bonding メンバー | 接続先、アドレス、MTU、速度、無効化方針 |
| Bonding | 冗長化または複数リンクの集約 | モード、スイッチ側 LACP、ハッシュ、障害条件 |
| Loopback | ルーター自身の安定したアドレス | 監視元、Router ID、サービス待受、広告範囲 |
| VRF | 経路表と転送ドメインの分離 | テーブル ID、所属インターフェイス、経路、サービス |
| 未使用ポート | 意図しない接続の防止 | 説明、無効化、監視対象からの除外 |
最初に WAN、LAN、管理、リンク集約のメンバーを決めます。その後で IP アドレス、Firewall、NAT、経路制御を割り当てると、物理構成の変更が上位設定へ及ぼす影響を追いやすくなります。
Ethernet は接続先と責務を明示する
物理インターフェイスには、接続先が分かる description と、その経路で必要な MTU を設定します。速度と duplex は通常 auto で開始し、固定する場合は対向装置も同じ条件にします。
configure
set interfaces ethernet eth0 description 'internet-uplink'
set interfaces ethernet eth0 address '203.0.113.10/24'
set interfaces ethernet eth0 mtu '1500'
set interfaces ethernet eth1 description 'trusted-lan'
set interfaces ethernet eth1 address '10.0.0.1/24'
set interfaces ethernet eth1 mtu '1500'
commit-confirm 5管理接続と疎通を確認できたら、confirm と save を実行します。リモート作業では、先にコンソール接続を確保し、IP アドレスや VRF の変更を一度に重ねすぎないようにします。
confirm
saveMTU は経路全体で合わせる
Jumbo Frame を使う場合、VyOS の対象インターフェイスだけを 9000 にしても成立しません。Bonding のメンバー、VLAN、ブリッジ、対向スイッチ、サーバーまで、同じ経路を通る装置の MTU を確認します。
- WAN 側は回線方式、PPPoE、トンネル、VPN によるオーバーヘッドを確認する
- Bonding の論理インターフェイスと全メンバーで MTU を一致させる
- VLAN やトンネルを重ねる場合は外側ヘッダー分を考慮する
- 変更後は小さいパケットだけでなく、DF を使った大きなパケットでも確認する
オフロードは NIC や仮想 NIC のドライバー、処理する通信によって効果と副作用が変わります。特に LRO は受信パケットのヘッダーを結合するため、転送装置ではパケットドロップや転送失敗につながる可能性があり、ルーター用途で安易に有効化しません。
show interfaces ethernet
show interfaces ethernet eth0
show interfaces ethernet eth0 physical offloadBonding のモードを先に選ぶ
| モード | 対向スイッチ | 向いている用途 | 注意点 |
|---|---|---|---|
| 802.3ad | LACP の設定が必要 | 帯域分散と冗長化 | 同一フローが 1 本の帯域を超えるとは限らない |
| active-backup | 通常は特別な集約設定が不要 | 単純なリンク冗長化 | 同時に通信するメンバーは 1 本 |
| xor-hash | 静的なリンク集約が必要 | LACP を使わない分散 | VyOS とスイッチの設定を対応させる |
LACP を使う例では、モードを明示し、同じ速度と duplex のメンバーを追加します。layer3+4 は複数フローを分散しやすい一方、対向装置のハッシュと通信特性を含めて選びます。
configure
set interfaces bonding bond0 description 'trusted-lan-lag'
set interfaces bonding bond0 mode '802.3ad'
set interfaces bonding bond0 lacp-rate 'fast'
set interfaces bonding bond0 hash-policy 'layer3+4'
set interfaces bonding bond0 member interface 'eth2'
set interfaces bonding bond0 member interface 'eth3'
set interfaces bonding bond0 address '10.0.10.1/24'
set interfaces bonding bond0 mtu '1500'
set interfaces ethernet eth2 description 'bond0-member-1'
set interfaces ethernet eth2 mtu '1500'
set interfaces ethernet eth3 description 'bond0-member-2'
set interfaces ethernet eth3 mtu '1500'
commit-confirm 5IP アドレスは Bonding の論理インターフェイスへ設定し、メンバーには設定しません。スイッチ側で同じ 2 ポートを LACP グループへ入れ、VLAN の tagged / untagged 条件も VyOS 側と一致させます。
LACP を使わず、リンク障害時だけ切り替えたい場合は active-backup を選びます。優先するメンバーがある場合は primary も設定できます。
configure
set interfaces bonding bond1 mode 'active-backup'
set interfaces bonding bond1 member interface 'eth4'
set interfaces bonding bond1 member interface 'eth5'
set interfaces bonding bond1 primary 'eth4'
set interfaces bonding bond1 address '192.0.2.2/24'
commit-confirm 5Loopback はルーター自身を表す
Loopback は物理リンクの状態に依存しにくいため、Router ID、監視、管理対象、内部サービスの識別に向いています。ホストを示す IPv4 には /32、IPv6 には /128 を使い、必要な経路だけをルーティングプロトコルや静的経路で到達可能にします。
configure
set interfaces loopback lo description 'router-identity'
set interfaces loopback lo address '10.255.0.1/32'
set interfaces loopback lo address '2001:db8:ffff::1/128'
commit
saveOS が持つ Loopback の lo は 1 つです。複数の独立した仮想インターフェイスが必要な場合は、Loopback を増やすのではなく Dummy インターフェイスなどを検討します。
管理 VRF は経路とサービスを一緒に移す
管理通信を通常の転送経路から分離する場合、VRF を作成し、管理インターフェイス、管理用デフォルトルート、SSH などの管理サービスを同じ VRF へ対応させます。インターフェイスだけを VRF へ移すと、経路やサービスの待受条件が合わず、接続できなくなることがあります。
configure
set vrf name mgmt table '1000'
set interfaces ethernet eth6 description 'management'
set interfaces ethernet eth6 address '192.0.2.10/24'
set interfaces ethernet eth6 vrf 'mgmt'
set vrf name mgmt protocols static route 0.0.0.0/0 next-hop '192.0.2.1'
set service ssh vrf 'mgmt'
commit-confirm 5VRF のテーブル ID は作成後に直接変更できません。変更する場合は VRF を削除して再作成する必要があるため、既存のテーブル ID と重複しない値を先に決めます。
未使用ポートを無効化する
使わないポートは用途がないことを説明へ残し、明示的に無効化します。将来使う時は、接続先、速度、MTU、Firewall の適用範囲を確認してから有効化します。
configure
set interfaces ethernet eth7 description 'unused'
set interfaces ethernet eth7 disable
commit
save変更後に状態を確認する
show interfaces
show interfaces ethernet
show interfaces bonding
show interfaces bonding bond0 detail
show interfaces loopback
show vrf
show ip route vrf mgmt
show configuration commands | match 'interfaces'- 各 Ethernet のリンク状態、速度、duplex、エラー数が想定どおりである
- Bonding の必要なメンバーが active で、LACP の対向が成立している
- 論理インターフェイスとメンバーの MTU が一致している
- Loopback へ必要なネットワークから到達できる
- 管理 VRF にデフォルトルートがあり、SSH と監視が同じ経路を使う
- Firewall、NAT、PBR、OSPF が意図したインターフェイス名を参照している
問題が起きた時の確認順序
| 症状 | 最初に確認すること | 次の判断 |
|---|---|---|
| リンクが上がらない | ケーブル、仮想 NIC、speed、duplex | 対向側と同じ条件か確認する |
| Bonding が active にならない | モード、メンバー、LACP、VLAN | スイッチ側のポートチャネルと照合する |
| 大きな通信だけ失敗する | 経路上の MTU | VLAN、PPPoE、VPN、トンネルを順に確認する |
| 管理 IP へ接続できない | VRF、ルート、SSH の VRF、Firewall | コンソールから commit-confirm の復旧を待つ |
| 再起動後に設定が戻る | save の実行 | 保存済み設定と running config を比較する |
まとめ
VyOS のインターフェイスは、物理接続点の Ethernet、冗長化と集約を担う Bonding、ルーター自身を示す Loopback、経路表を分ける VRF という役割で設計します。
設定時は Bonding モードと対向スイッチ、経路全体の MTU、転送装置でのオフロード、管理 VRF の経路とサービスを一組として確認します。リモート変更ではコンソールを確保し、commit-confirm で復旧できる状態を残して進めます。

