質問 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
に .