0

動機:ネットワーク管理ツールを使用せずに wpa_supplicant を実行します。これは、古い DHCP リースが機能しているときに新しい DHCP リースを強制したくないためです。このようにして、DHCP リースの有効期限が切れていなければ (wpa_supplicant が下位のネットワーク層を確立するとすぐに) 古いネットワークにすばやくアクセスできます。

問題:しかし、DHCP リースの有効期限が切れた場合、または IP アドレスが別のネットワークからのものである場合、DHCP を呼び出す必要があります。私は現在 dhclient を使用していますが、ここでは dhcpcd も別のオプションです。問題は、これらの DHCP クライアントがバックグラウンドで実行されていても、古い無効な IP アドレスを持っているため、新しい IP アドレスが必要であることを自動的に認識しないことです。

質問: DHCP が必要かどうかをすばやく判断する方法はありますか? たとえば、wpa_supplicant への反応として、または標準ゲートウェイへの接続に対する応答として、接続が利用できないことを認識します。は簡単に実行できsudo dhclient wlan0、1 秒でアドレスが表示されます。しかし、必要な場合、このプロセスを自動化するにはどうすればよいでしょうか?

不要な DHCP 要求を行うことは問題外ではありませんが、DHCP サーバーのフラッディングは問題外です。

詳しい質問: wpa_supplicant を直接使用する場合、どのように DHCP を使用しますか?

4

1 に答える 1

1

新しいネットワークに接続するたびに、dhcpcd を再度実行します。既存のリースがある場合は、すぐに確認する必要があります。

毎回「dhclient」または「dhcpcd」と入力することに抵抗がある場合は、シェル スクリプトを使用して自動化できます。それは次のように見えるかもしれません

#!/bin/sh
dhcpcd wlan0 &
wpa_supplicant -d -c/etc/wpa_supplicant.conf -iwlan0

dhcpcd は、wpa_supplicant がワイヤレス リンクを確立するまで、「キャリアを待機しています」と通知します。

于 2013-09-19T21:13:24.247 に答える