VyOS のインターフェイス設計では、単に eth0 に IP アドレスを付けるだけではなく、物理インターフェイス、bonding、loopback、管理 VRF を分けて考えます。ここを曖昧にすると、Firewall、OSPF、PBR、OpenVPN、監視のすべてが読みにくくなります。
この記事は、VyOS 1.5 の実運用構成をもとに、公開記事として再利用しやすい形へ抽象化したものです。実ホスト名、実 IP、MAC アドレス、内部ネットワーク名はそのまま使わず、設計の考え方だけを取り出しています。
インターフェイスを役割で分ける
VyOS では、インターフェイスを役割ごとに分けると構成が読みやすくなります。外部接続、内部 LAN、bonding の slave、未使用ポート、loopback、管理 VRF は同じ「インターフェイス」でも責務が異なります。
| 要素 | 役割 |
|---|---|
| ethernet | 物理 NIC。WAN、LAN、bonding slave、未使用ポートとして使い分ける |
| bonding | 複数 NIC をまとめる論理インターフェイス。内部ネットワークや高帯域経路に使う |
| loopback | ルーター自身を表す安定したアドレス。監視、ルーティング、サービス識別に使う |
| VRF | 管理系など、経路表を分けたい通信を隔離する |
| unused | 使わない物理ポート。明示的に disable して意図しない接続を避ける |
ethernet は物理ポートの責務を書く
物理インターフェイスには、アドレスだけでなく description、mtu、必要に応じて offload や VRF を設定します。どのポートが outside なのか、inside なのか、bonding slave なのかを明示しておくと、後から Firewall やルーティングを追いやすくなります。
configure
set interfaces ethernet eth0 description 'outside'
set interfaces ethernet eth0 address '203.0.113.10/24'
set interfaces ethernet eth0 address '2001:db8:100::10/64'
set interfaces ethernet eth0 mtu '1500'
set interfaces ethernet eth1 description 'inside'
set interfaces ethernet eth1 address '10.0.0.1/24'
set interfaces ethernet eth1 address 'fd00::1/120'
set interfaces ethernet eth1 mtu '9000'
commit
save実運用では、外側インターフェイス、内側インターフェイス、管理用インターフェイスを混ぜない方が安全です。特に Firewall では、outside と trust の分類が後続の設計に効いてきます。
bonding は内部経路の集約として扱う
bonding は、複数の物理 NIC をまとめて 1 つの論理インターフェイスとして扱うための設定です。現行構成では、内部ネットワーク側で bonding を使い、slave 側の物理 NIC には役割を持たせず、bonding interface 側にアドレスや MTU を持たせる形が自然です。
configure
set interfaces bonding bond0 description 'inside-bond'
set interfaces bonding bond0 address '10.0.10.1/24'
set interfaces bonding bond0 address 'fd00::10:1/120'
set interfaces bonding bond0 member interface 'eth2'
set interfaces bonding bond0 member interface 'eth3'
set interfaces bonding bond0 hash-policy 'layer3+4'
set interfaces bonding bond0 mtu '9000'
set interfaces ethernet eth2 description 'bond0 slave'
set interfaces ethernet eth3 description 'bond0 slave'
commit
saveここで大事なのは、IP アドレスを slave の物理 NIC ではなく bond0 に持たせることです。Firewall やルーティングから見ても、通信の入口は bonding interface として扱う方が整理しやすくなります。
loopback はルーター自身の安定した識別子にする
loopback は、物理ポートの link up / down に左右されにくいアドレスを持たせるために使います。監視、ルーティング、DNS、内部サービスの識別など、ルーター自身を安定して表す用途に向いています。
configure
set interfaces loopback lo address '10.0.255.1/32'
set interfaces loopback lo address 'fd00::ffff:1/128'
commit
saveOSPF や OSPFv3、監視、内部サービスと組み合わせる場合、loopback は単なる飾りではありません。ルーター自身を表す stable address として、物理インターフェイスとは別に扱う価値があります。
未使用ポートは明示的に無効化する
未使用ポートは放置せず、description に unused を入れ、明示的に disable します。これはセキュリティというより、運用上の意図を残すための設定です。
configure
set interfaces ethernet eth4 description 'unused'
set interfaces ethernet eth4 disable
commit
save管理 VRF は管理経路の分離として考える
管理系の通信を通常の転送経路と分けたい場合、VRF を使います。現行構成でも、管理用インターフェイスを VRF に入れ、管理用の default route を別テーブルで持つ形が見られます。
configure
set vrf name mgmt table '1000'
set vrf name mgmt protocols static route 0.0.0.0/0 next-hop 192.0.2.1
set interfaces ethernet eth5 description 'management'
set interfaces ethernet eth5 address '192.0.2.10/24'
set interfaces ethernet eth5 vrf 'mgmt'
commit
saveVRF は必須ではありません。しかし、管理経路を転送経路と分けたい場合は、単に IP アドレスを分けるだけでなく、経路表そのものを分けるという選択肢になります。
まとめ
VyOS のインターフェイス設計では、物理ポート、bonding、loopback、VRF を同じ粒度で扱わないことが重要です。物理ポートは接続点、bonding は集約された内部経路、loopback はルーター自身の安定した識別子、VRF は経路表の分離として考えます。
この分け方を先に決めておくと、Firewall、OSPF、PBR、OpenVPN、監視の設定が読みやすくなります。インターフェイス設計は地味ですが、VyOS 全体の構成を崩さないための土台です。
関連する記事
- VyOS ネットワーク設定ガイド
VyOS 1.5 の実運用構成を責務ごとに整理したハブページです。 - VyOS 基本設定 – IP アドレス / SSH / DNS / NTP / SNMP
インターフェイス設計の前提になる基本設定を整理しています。 - VyOS VM クローン時の hw-id 問題と対処
仮想環境で NIC の識別がずれる問題を扱います。
次に進む
- VyOS DHCP サーバー設定 – LAN 向けアドレス配布の基本
内部ネットワークサービスの設定へ進みます。 - VyOS Firewall 基本設計 – trust / outside-in / outside-local を分ける
インターフェイス設計の次に、境界制御の基本設計へ進みます。
参考書籍
書籍
ルーティング、NAT、VPN、ネットワーク設計の基礎を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。

