Ubuntu 26.04 で複数 NIC、VLAN、Bonding、KVM bridge、OVS / OVN を扱う環境では、OS から見えるインターフェイス名だけでは物理的な接続先を判断しにくくなります。enp1s0 がどのスイッチのどのポートに刺さっているのか、bond の片系がどこにつながっているのか、運用時にすぐ確認できることが重要です。
lldpd は LLDP を使って隣接機器の情報を確認するための daemon です。この記事では、Ubuntu 26.04 に lldpd を導入し、対象インターフェイスを絞り、接続先スイッチやポート情報を確認する基本を整理します。
LLDP と lldpd の位置づけ
LLDP は Link Layer Discovery Protocol の略で、隣接するネットワーク機器同士が自分の情報を通知するための L2 プロトコルです。スイッチ、ルーター、サーバー NIC などが、機器名、ポート名、管理アドレス、VLAN 情報などを通知できます。
lldpd は Linux 上で LLDP を送受信する daemon です。Ubuntu サーバーに入れておくと、OS 側から接続先スイッチやポートを確認できるようになります。
| 観点 | 内容 |
|---|---|
| LLDP | 隣接機器情報を通知する L2 プロトコル |
| lldpd | Linux で LLDP 情報を扱う daemon |
| lldpctl | 受信した隣接情報を確認するコマンド |
| lldpcli | lldpd の設定や状態を確認するコマンド |
lldpd が効く場面
lldpd は、単純な疎通確認のためだけに使うものではありません。物理配線、スイッチポート、OS 上の NIC 名、仮想ネットワークの入口を対応付けるための確認手段です。
- 複数 NIC の役割を確認する
- Bonding の各 slave が別スイッチへ接続されているか確認する
- VLAN trunk の接続先ポートを確認する
- KVM bridge や OVS の uplink になる物理 NIC を確認する
- 移設後やケーブル差し替え後の接続先を確認する
- 障害時に OS 側とスイッチ側の認識を照合する
特に KVM や OVS / OVN を使う環境では、仮想ネットワークの問題に見えても、実際には uplink の物理接続やスイッチポート設定が原因であることがあります。LLDP はその境界を見るために役立ちます。
lldpd をインストールする
まず lldpd パッケージをインストールし、service を有効化します。
sudo apt update
sudo apt install -y lldpd
sudo systemctl enable --now lldpd.service
systemctl status lldpd.serviceservice が起動すると、対象インターフェイスで LLDP の送受信が行われます。環境によっては、すべてのインターフェイスで LLDP を出すのではなく、物理 NIC だけに絞った方が扱いやすくなります。
対象インターフェイスを絞る
lldpd は /etc/default/lldpd の DAEMON_ARGS で対象インターフェイスを指定できます。複数 NIC のサーバーでは、管理 NIC、ストレージ NIC、仮想 bridge、コンテナ bridge が混在するため、LLDP を出す対象を明示すると運用上のノイズを減らせます。
sudo cp -a /etc/default/lldpd /etc/default/lldpd.bak.$(date +%Y%m%d%H%M%S)
sudo tee /etc/default/lldpd >/dev/null <<'EOF'
DAEMON_ARGS="-I enp1s0,enp2s0"
EOF
sudo chmod 644 /etc/default/lldpd
sudo chown root:root /etc/default/lldpd
sudo systemctl restart lldpd.service-I には LLDP を有効にするインターフェイスを comma 区切りで指定します。実際のインターフェイス名は ip link で確認し、自分の環境に合わせます。
インターフェイス名を確認する
対象を絞る前に、OS が認識している NIC と bridge を確認します。
ip -br link
ip -br address
networkctl status物理 NIC、bond、bridge、VLAN interface、container bridge が混在している場合は、どれを LLDP の対象にするのかを決めます。一般的には、隣接スイッチを確認したい物理 NIC を対象にします。
隣接情報を確認する
隣接機器の情報は lldpctl で確認できます。
sudo lldpctl
sudo lldpctl -f keyvalue
sudo lldpcli show neighbors detailslldpctl では、接続先機器名、ポート ID、ポート description、管理アドレス、VLAN などが確認できます。スイッチ側で LLDP が無効になっている場合や、ポート設定で LLDP が遮断されている場合は情報が見えません。
確認できる情報
| 情報 | 用途 |
|---|---|
| Chassis ID | 隣接機器を識別する |
| Port ID | 接続先ポートを確認する |
| Port Description | スイッチ側のポート名や説明を確認する |
| System Name | 隣接スイッチ名を確認する |
| Management Address | 管理 IP を確認する |
| VLAN | ポートで通知される VLAN 情報を確認する |
LLDP で得られる情報は、通信できることを直接保証するものではありません。あくまで、L2 の隣接関係を確認するための材料です。IP 疎通、routing、firewall、VLAN 設定は別に確認します。
障害切り分けでの使い方
LLDP は、障害発生時に「サーバーはどこへ接続されているのか」を確認する入口になります。特に、配線変更後、スイッチ交換後、bond の片系断、VLAN trunk の不一致、KVM / OVS の uplink 誤認識などで有効です。
| 症状 | LLDP で見ること |
|---|---|
| 片系だけ通信できない | bond slave ごとの接続先スイッチとポート |
| VLAN が通らない | 期待した trunk port に接続されているか |
| KVM VM が外へ出られない | bridge / OVS の uplink 物理 NIC の接続先 |
| 移設後に疎通しない | 接続先ポートが設計通りか |
| スイッチ側設定と食い違う | OS 側 NIC 名とスイッチポートの対応 |
LLDP は原因そのものを特定する道具ではありません。ただし、物理接続と OS 上のインターフェイスの対応が見えるため、切り分けの出発点として非常に使いやすい情報になります。
LLDP が見えない場合
lldpctl で隣接情報が見えない場合は、サーバー側だけでなくスイッチ側も確認します。
lldpd.serviceが起動しているか/etc/default/lldpdのDAEMON_ARGSで対象外にしていないか- 対象インターフェイスが up になっているか
- スイッチ側で LLDP が有効か
- 接続先が LLDP を送信する機器か
- bond や bridge のどの階層で LLDP を見るべきか整理できているか
systemctl status lldpd.service
sudo journalctl -u lldpd.service --no-pager -n 80
sudo lldpcli show configuration
sudo lldpcli show neighborsbridge や bond を構成している場合、物理 NIC、bond interface、bridge interface のどこで情報を見るべきかを混同しないようにします。LLDP は隣接する L2 機器を見るためのものなので、基本的には物理 NIC との対応を意識します。
HUB 内の関連項目
lldpd は単独で完結する設定というより、ネットワーク設計や仮想化基盤の確認を補助する位置づけです。複数 NIC、VLAN、Bonding、Bridge、KVM の記事と合わせて読むと、どの層を確認しているのかが分かりやすくなります。
まとめ
Ubuntu 26.04 に lldpd を入れておくと、サーバー側から接続先スイッチやポートを確認できます。これは単なる便利コマンドではなく、複数 NIC、VLAN、Bonding、KVM、OVS / OVN を扱う環境で、物理接続と OS 上のインターフェイスを対応付けるための情報です。
重要なのは、すべての interface に LLDP を出すことではありません。どの物理 NIC を確認対象にするのかを決め、DAEMON_ARGS="-I ..." で対象を絞り、障害時にスイッチ側情報と照合できる状態にしておくことです。

