どのネットワークカード/ドライバを使用するかを事前に知っていれば、NetBSDがどのネットワークインターフェイスを呼び出すかを決定する方法があるかどうかを知っていますか?
さまざまなコンピュータのNetBSD設定の一部を自動化しようとしていますが、/etc/ifconfig.xxファイルを作成したいのですが、「xx」部分が何であるかわかりません。たとえば、私のIntel NICが「wm」をサフィックスとして使用していることを知っていますが、NetBSDはその情報をどこで取得しますか?
答え1
いいえ、いくつかの不思議なハードウェア構成にどのドライバが接続されるかを事前に知ることはできません。もちろん、既知の構成のハードウェアインベントリを使用して作業し、既知のシステムの各インターフェイスタイプにどのドライバを使用するかを事前に決定した場合は、かなり重要です。
一方、システムが起動したときや最初に起動した後は、既知のインターフェイスのリストがコマンドとして提供されますifconfig -l
。
もちろん、イーサネットケーブルがどのインターフェイスに接続されているかはまだわかりません。たとえば、システムのマザーボードに複数のインターフェイスがある場合、複数のイーサネットカードが取り付けられている場合、またはマルチポートカードがある場合などです。ただし、一部のインターフェイスは、スイッチ/ハブなどの接続をネゴシエートするたびに自動的に表示されます。そうでifconfig -a
あれば、どのインターフェイスがアクティブで、何を使用しているかなど、既知のすべてのインターフェイスに関するすべての情報が表示されます。 、それぞれ)。status:
media:
しかし、、ターゲット環境がDHCPを使用してアドレスを割り当てる場合は、次のことができます。通常問題を解決するには、次の行を使用します。/etc/rc.conf
dhclient=YES
デフォルトでは、使用可能なすべての(ブロードキャスト可能)インターフェイスからアドレスを要求しようとします。
答え2
dhcpd.confまたはいくつかの起動後にifconfig(8)スクリプトを使用して複数の同じNICを使用しても、一意のハードウェアMACアドレスを参照してインターフェイスを再割り当てできると思います。 MACアドレスを参照できればいいと思います。代わりにXXn インターフェイス名ですが、ifconfig(8) には対応するオプションがないようです。
答え3
NetBSDはベンダーIDとPCI IDを使用してこれを検出すると思います。おそらくpcidevs.hとpcidevs_data.hが役に立ちます。