GNU/Linux >> Linux の 問題 >  >> Linux

/etc/network/interfaces が DHCP クライアントまたは静的アドレスを使用するいくつかのインターフェースを定義しているため、dhcpcd を実行していません

質問 1.) 申し訳ありませんが、いくつか誤解しているようです。

dhcpcd DHCP クライアントです 通常、NetworkManager または ifupdown によって開始されるデーモン 、 systemd によって直接ではありません . wlan0 の IP アドレスの割り当てを処理するのはこれです .

できます dhcpcd を使用 systemd で開始 ただし、必要に応じて、通常のネットワーク インターフェイス構成ロジックをすべて無効にする必要があります (つまり、/etc/network/interfaces ディストリビューションの非コメント行を空にする必要があります)、必要に応じて独自のカスタム スクリプトに置き換えます。それは特別な用途のみです。それをすべきかどうか確信が持てない場合は、そうすべきではありません。

dhcpcd 他のホストに IP アドレスを提供することはありません。 dhcpcd.conf に追加したこの部分 ISC DHCP server の構成ファイルに属しているようです デーモン、dhcpd (一文字違いです)代わりに:

host Accountant {
hardware ethernet 10:60:4b:68:03:21;
fixed-address 192.168.2.83;
}

host Accountant1 {
hardware ethernet 00:0c:29:35:95:ed;
fixed-address 192.168.2.66;
}
host Accountant3 {
hardware ethernet 30:85:A9:1B:C4:8B;
fixed-address 192.168.2.70;
}

しかし、あなたが言及した YouTube のチュートリアルに従っている場合は、dhcpd さえ持っていない可能性があります。 インストール済み、dnsmasq 以降

私が知る限り、 dnsmasq.conf の同等の構文

dhcp-host=10:60:4b:68:03:21,192.168.2.83,Accountant
dhcp-host=00:0c:29:35:95:ed,192.168.2.66,Accountant1
dhcp-host=30:85:A9:1B:C4:8B,192.168.2.70,Accountant3

免責事項:dnsmasq は実際には使用していません 、したがって、これはそのマニュアルページをすばやくグーグルで検索したことに基づいています.

質問 2.) あなたが言及したチュートリアルでは、 dnsmasq eth0 で DHCP サーバーとして機能するはずでした .あなたはそれについて何も言わなかったので、それが動いていたかどうかはわかりません。そうでない場合、常に同じ IP を取得していた 1 つのクライアントが、以前に受信したまだ期限切れになっていない古い DHCP リースに単純にフォールバックした可能性があります。はい、DHCP クライアントは DHCP リースを永続的に保存し、ネットワークで使用可能な DHCP サーバーが動作していないように見える場合に、それを使用し続けることができます。

質問 3.):/etc/network/interfaces 古典的な Debian/Ubuntu スタイルのネットワーク インターフェイス構成ファイルです。 man interfaces を使用 ドキュメントを参照するか、ここを参照してください。

Debian、*Ubuntu、Raspbian などでは、NetworkManager に read するプラグインがあります。 /etc/network/interfaces 書きません

nmcli のような NetworkManager 設定ツールの場合 、 nmtui 選択したデスクトップ環境の GUI ベースの NetworkManager 構成ツールが使用されている場合、構成は /etc/NetworkManager/system-connections/ のファイルに保存されます。

NetworkManager がインストールされていない場合、/etc/network/interfaces ファイルは ifupdown によって使用されます コマンド ifup を含むパッケージ と ifdown .このパッケージには、ifup -a を実行するシステム起動スクリプトも含まれています。 起動時に、auto <interface name> を持つすべてのネットワーク インターフェイスを有効にします /etc/network/interfaces で . ifup <interface name> を実行する udev ルールもあります。 新しいネットワーク インターフェイスのドライバが自動ロードされ、/etc/network/interfaces になる場合 allow-hotplug <interface name> があります


この「エラー」の理由がわかりました。

dhcpcd ネットワーク管理を処理するための安全な方法を保証するある種の「初心者/初心者保護」を使用します。これは、「初心者/初心者」が dhcpcd/etc/interfaces .

dhcpcd /etc/interfaces をチェックします 次のシェルスクリプト /usr/lib/dhcpcd5/dhcpcd で :

#!/bin/sh -e

DHCPCD=/sbin/dhcpcd
INTERFACES=/etc/network/interfaces

if grep -q -E "^[[:space:]]*iface[[:space:]]*.*[[:space:]]*inet[[:space:]]*(dhcp|static)" \
                $INTERFACES; then
        echo "Not running dhcpcd because $INTERFACES"
        echo "defines some interfaces that will use a"
        echo "DHCP client or static address"
        exit 6
fi

exec $DHCPCD [email protected]

単純に行を入れ替えました

if grep -q -E "^[[:space:]]*iface[[:space:]]*.*[[:space:]]*inet[[:space:]]*(dhcp|static)" \

|static を削除して 引数、へ

if grep -q -E "^[[:space:]]*iface[[:space:]]*.*[[:space:]]*inet[[:space:]]*(dhcp)" \

最後のエコー行を次のように調整しました:

echo "DHCP client"

追伸 denyinterfaces "NAME OF YOUR STATIC INTERFACE, WHICH SHALL BE CONTROLLED ONLY BY /etc/interfaces" を必ず追加してください 、例えば denyinterfaces eth0 あなたの /etc/dhcpcd.conf に .


Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. / etc / network / interfaces構文の詳細な説明?

  3. / etc / motdはどのように更新されますか?

  1. / etc / network / interfaces内でMacアドレスを恒久的に変更しますか?

  2. DHCP 構成ファイル /etc/dhcp/dhcpd.conf の説明

  3. プロセスが実行されているフォルダーを見つける方法は?

  1. /etc/passwd はグループ内のユーザーを表示しますが、/etc/group は表示しません

  2. /dev/tcp を使用するために < または > が必要な理由

  3. /etc/hosts と /etc/resolv.conf の違い