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

DHCP クライアントの動作を確認するには?

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 をデバッグするハックな (しかし効果的な) 方法は、bash トレース を有効にすることです。 /sbin/dhclient-script 内 .

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
  1. Makefileとは何ですか?どのように機能しますか?

  2. NGINXとは何ですか?それはどのように機能しますか?

  3. Linux - ディスク IO を待っているものを確認するにはどうすればよいですか

  1. Webサーバーとは何ですか?Webサーバーはどのように機能しますか?

  2. 「lc_all=c」は何をしますか?

  3. Rm -rはどのように再帰的に削除しますか?どのような順序で?

  1. Linuxコマンドが何をするかを知る方法

  2. 何をしますか?

  3. エコー$は何ですか?行う??