- Linux上のdhcpクライアントはログを書き込みますか?
- そうでない場合、ログを有効にできますか?
- ログを書き込む場合、どこで見つけることができますか?
- DHCPサーバーからIPおよびネームサーバーを取得するとき、dhcpクライアントの典型的なログはどのように見えますか?
- DHCPクライアントのソースコードはどこにありますか?
Linux間に関連する違いがある場合:Debian 8.1(デフォルトの最小インストールamd64)に興味があります。
Linux間に関連する違いがある場合:Debian 8.1(デフォルトの最小インストールamd64)に興味があります。
回答:
ISCのDHCPクライアントは通常dhclient
、ほとんどのLinuxディストリビューションで呼び出されます。からman dhclient
:
クライアントは通常、起動シーケンス中に出力を印刷しません。-vコマンドライン引数を指定することにより、アドレスを取得するまで、起動シーケンスイベントを表示する詳細メッセージを発行することができます。どちらの場合でも、クライアントはsyslog(3)機能を使用してメッセージを記録します。
システムログを読み取るには、2つの方法があります。systemdに使用するほとんどのシステムでは、あなたが使用する必要がありjournalctl
、一方、cat /var/log/syslog
まだ伝統的なinitシステムを使用するシステムに対して有効です。
したがって、システムがsystemdのログ機能を使用journalctl | grep -Ei 'dhcp'
している場合、DHCPクライアントログを取得するために使用できます。それ以外の場合は、を入力しcat /var/log/syslog | grep -Ei 'dhcp'
ます。
DHCPクライアントログは通常、次のようになります。
Jul 20 14:17:39 trueclient1 NetworkManager[2622]: <info> (wlan1): canceled DHCP transaction, DHCP client pid 3325
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> Activation (wlan1) Beginning DHCPv4 transaction (timeout in 45 seconds)
Jul 20 14:17:42 trueclient1 dhclient: Internet Systems Consortium DHCP Client 4.2.2
Jul 20 14:17:42 trueclient1 dhclient: For info, please visit https://www.isc.org/software/dhcp/
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> (wlan1): DHCPv4 state changed nbi -> preinit
Jul 20 14:17:42 trueclient1 dhclient: DHCPREQUEST on wlan1 to 255.255.255.255 port 67
Jul 20 14:17:42 trueclient1 dhclient: DHCPACK from 10.8.8.1
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> (wlan1): DHCPv4 state changed preinit -> reboot
多くのLinuxプラットフォームでdhclientをデバッグするためのハッキング(しかし効果的な)方法は、/ sbin / dhclient-scriptでbashトレースを有効にすることです。
dhclientは、私がチェックしたほとんどのOSバリアント(RedHat、Debianなど)でそのスクリプトを実行します。
-x
そのスクリプトのシェバン(最初の行)に追加するだけで、コンソールへの各行のトレースが有効になります。例:
#!/bin/bash -x
次に、例えば、実行することができます
dhclient -r #release lease
dhclient #re-acquire lease
また、dhclient-scriptだけでなく.d
、/ etc / dhcp *に含まれるすべてのスクリプトからも多くの出力が表示されるはずです。
トレース出力により、コードで何が起こっているのか、どのような決定を下しているのかを把握できるはずです(出力を見たときにスクリプト自体を参照してください)。
通常、この出力からスクリプトが受け取った入力(たとえば、IP、GATEWAYなどのパラメーター)を推測できますが、そうでない場合は、終了直前にスクリプトに次のようなものを一時的に追加できます。
env | logger -t dhclient-debugging
dhclient(/ var / log / messagesまたは/ var / log / syslog)の実行後にログを確認してください
インラインで答えを見つけてください。
Linux上のdhcpクライアントはログを書き込みますか?
はい、そうです。
そうでない場合、ログを有効にできますか?
1. Edit dhcpd.conf and add this line
log-facility local7;
2. Edit syslog.conf and append
local7.* /var/log/dhcpd.log
ログを書き込む場合、どこで見つけることができますか?
/var/log/dhcpd.log
galaxy dhcpd:eth0を介した00:0d:62:d7:a0:12からDHCPDISCOVER galaxy dhcpd:
192.168.1.5のDHCPOFFER からeth0を介し
た00:0d:62:d7:a0:12
galaxy dhcpd:192.168.1.5のDHCPREQUEST(192.168 .1.1)eth0を介した00:0d:62:d7:a0:12
galaxy dhcpd:192.168.1.5のDHCPACK からeth0を介し
た00:0d:62:d7:a0:12