他のハードウェアでこの動作を示すUbuntu(Ubuntu 16.04.3 LTS)システムイメージがあります。
起動時にインターフェイスenp2s0
が表示されますが、ネットワークケーブルを外して再接続すると、インターフェイスはIPアドレスを取得できません。どちらも手動で再度有効にsystemctl restart networking
できます。dhclient enp2s0
これは(とにかく)インターフェースファイルに関連しているようです。空白またはコメントアウトされている場合は、/etc/network/interfaces
ケーブルを再接続するとインターフェイスが復元されます。
/etc/network/interfaces
何でも(静的またはDHCP)入力するとすぐに、enp2s0
この動作が表示されます。
現在テスト中のシステムには2つのネットワークインターフェイスがあります。enp2s0
そしてenp1s0
。これは発生しませんenp1s0
。ここにある他のシステム(同じイメージで作成されたもの)には1つのインターフェースしかありませんenp2s0
。そこではいつもそのようなことが起こります。
/etc/network/if-up.d/
テストスクリプトを作成し、日付とインタフェース情報をログファイルに送信するために入れました。起動すると、以下が表示されます。
lo Mon Jan 22 15:31:01 AEDT 2018
enp2s0 Mon Jan 22 15:31:15 AEDT 2018
--all Mon Jan 22 15:31:16 AEDT 2018
ケーブルを再接続するとenp2s0
実行されません。ケーブルを再接続すると動作し、enp1s0
ログに表示されます。
私はさまざまな組み合わせを試しました/etc/network/interfaces
。さらに、在庫コンピュータからファイル、確認された権限などを完全に再作成しました。情報を入力すると、状況が船の形に変わりました。
私の現在のインターフェースファイル:
auto lo
iface lo inet loopback
auto enp2s0
iface enp2s0 inet dhcp
iface enp1s0 inet manual
また、静的構成でも同じことを行います。
ここで大きな手がかりは、if-up.d/test
ケーブルが再接続されたときに私のスクリプトが実行されず、そのインターフェイスに対してのみ実行されることです。
このスクリプトが特定のインターフェイスで実行されているかどうかを決定する要素が何であるかを教えてください。
よろしくお願いします!
答え1
持っているかインストールされていますかNetworkManager
?ifplugd
(nmcli device show
エラーメッセージ以外に出力されるものはありますか?存在しますか/etc/default/ifplugd
?それでは何を言いますか?)
NICにどのドライバを使用しますか? (sudo ethtool -i enp2s0; sudo ethtool -i enp1s0
出力を実行して公開します。エラーが発生した場合は、実行してもう一度sudo apt-get install ethtool
やり直してください。)
インターフェイスにエントリがない場合は、/etc/network/interfaces
通常インターフェイスが制御され、NetworkManager
リンク状態を検出し、デフォルトでDHCPを実行できます。
ただし:でインターフェイスを設定すると、通常インターフェイスが制御されます/etc/network/interfaces
。NetworkManager
ただスクリプトでは、ifupdown
基本的な形式にリンク検出はまったく含まれません。このようなパッケージにはifupdown-extra
基本的なリンク検出機能が追加されます(例:飛び越えるリンクがないような場合は、インターフェースを起動してください。ただし、通常はifupdown
起動時に一度設定すると完了します。
ifplugd
一貫性のない動作の原因は何ですか?一部のバージョンは一部のネットワークインターフェイスで動作していましたが、すべてのネットワークインターフェイスでは動作しなかったようです。一部の最新のNICは、設定されていない場合は電源遮断状態に入ります。この状態ではリンクの存在を検出できません。他のNICには、少なくとも常に電源が入っている(またはドライバがロードされたときに電源が入る)リンク検出部分があります。 2番目のNICセットはすべてのバージョンのNICで動作しますifplugd
が、最初のセットのNICに問題があるようです。この点で、あなたenp2s0
と私がenp1s0
異なるグループに属している場合は、矛盾が説明されることがあります。