これは、インターネットの他の場所では見つからない奇妙な質問です。これは私が台無しにしたものかもしれないことを示唆しています。しかし、何ですか?
dnsmasq.service
すべてのネットワークサービスが利用可能で動作中に起動時またはユーザーセッションから起動しようとすると、エラーで失敗しますunknown interface enp2s0
。
andrzej@andrzej-PC ~ $ sudo systemctl start dnsmasq
Job for dnsmasq.service failed because the control process exited with
error code. See "systemctl status dnsmasq.service" and "journalctl -xe" for details.
andrzej@andrzej-PC ~ $ systemctl status dnsmasq
● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
Loaded: loaded (/lib/systemd/system/dnsmasq.service; disabled; vendor preset:
Drop-In: /run/systemd/generator/dnsmasq.service.d
└─50-dnsmasq-$named.conf, 50-insserv.conf-$named.conf
Active: failed (Result: exit-code) since Mon 2017-07-10 02:09:41 CEST; 3s ago
Process: 5551 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=
Process: 5548 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUC
Jul 10 02:09:41 andrzej-PC systemd[1]: Starting dnsmasq - A lightweight DHCP and
Jul 10 02:09:41 andrzej-PC dnsmasq[5548]: dnsmasq: syntax check OK.
Jul 10 02:09:41 andrzej-PC dnsmasq[5551]: dnsmasq: unknown interface enp2s0
Jul 10 02:09:41 andrzej-PC systemd[1]: dnsmasq.service: Control process exited,
Jul 10 02:09:41 andrzej-PC systemd[1]: Failed to start dnsmasq - A lightweight D
Jul 10 02:09:41 andrzej-PC systemd[1]: dnsmasq.service: Unit entered failed stat
Jul 10 02:09:41 andrzej-PC systemd[1]: dnsmasq.service: Failed with result 'exit
以下を除いて正しいです。
andrzej@andrzej-PC ~ $ ifconfig
enp2s0 Link encap:Ethernet HWaddr /*correct address*/
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:921 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:147421 (147.4 KB)
そして同じip addr
:
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether /*same*/ brd ff:ff:ff:ff:ff:ff
ついに:
andrzej@andrzej-PC ~ $ cat /sys/class/net/enp2s0/operstate
up
何?ああ、私の設定ファイルは次のとおりです。
port=0
interface=enp2s0
dhcp-range=192.168.0.50,192.168.0.150,12h
dhcp-boot=/install/netboot/pxelinux.0
dhcp-option-force=209,install/netboot/pxelinux.cfg
dhcp-option-force=210,/
dhcp-option-force=66,192.168.0.1
enable-tftp
tftp-root=/mnt
答え1
DNSMasq サービス記述の変更
sudo nano /lib/systemd/system/dnsmasq.service
インターフェイスの起動後に起動するには、RequiresとAfterを変更してください。
Requires=network-online.target
After=network-online.target
答え2
私は同じ状況に直面しました。 dnsmasqは、他のシステムに連続的に(スイッチなし)接続されているPXEに使用されるセカンダリethインターフェイスからの起動を拒否しました。
リンクが確立されると(一部のネットワークトラフィック、NICインジケータが点灯)、dnsmasqが正常に動作し始めました。
私はそれが非常に科学的ではないことを知っていますが、それは私にとって効果的でした(Ubuntu 20.04)
答え3
システムの再起動に役立ちました。 dnsmasqが問題なく開始されました。 dnsmasq で使用するように設定されたインターフェイスのデバイス設定がまだ適用されていない可能性があります。
答え4
Linuxを使用している場合は有効にできます。動的バインディング。文書によると:
混合ネットワークモードの有効化
--bind-interfaces
とデフォルト値。 Dnsmasqはアドレスを個々のインターフェイスにバインドしてdnsmasqの複数のインスタンスを受け入れますが、新しいインターフェイスまたはアドレスが表示されると自動的にそれを受信します(アクセス制御の設定によって異なります)。これにより、動的に生成されたインターフェイスがプライマリインターフェイスと同じように機能します。このオプションを実装するには、非標準ネットワークAPIが必要で、Linuxでのみ使用できます。他のプラットフォームでは、次のように置き換えられます。--bind-interfaces
モデル。
削除することを忘れないでくださいバインディングインターフェース。