私はLinuxがDHCPを介して受信するIPアドレスに基づいてコマンドを実行するbash / pythonスクリプトを持つことができるかどうかを考えていました。
例えば
- DHCP受信:10.50.10.51 / 24実行コマンドXYZ
- 受信したDHCP:10.50.20.84 / 24実行コマンドXYZ02
これは可能ですか?コマンドは何ですか?私はIPアドレスを読み取る変数がデフォルトであるかもしれませんが、わからないと思います。
ありがとう
答え1
これはDHCPクライアントによって異なります。
たとえば、次のdhclient
オプションがあります-sf
。
-sf script-file
リースの取得時に dhclient が呼び出すネットワーク構成スクリプトへのパスです。
他の多くのDHCPクライアントにもスクリプトを呼び出すオプションがあります。そこで住所を確認し、必要な操作を実行できます。
答え2
#!/usr/bin/env perl
$result = `dhclient -v 2>&1 | grep bound | cut -d' ' -f3`;
chomp($result);
if ($result eq '10.50.10.51') {
`echo doing XYZ`;
}
elsif ($result eq '10.50.20.84') {
`echo doing XYZ02`;
}
else {
print "[$result]\n";
}
高い権限が必要なので、sudo
次のコマンドを使用してスクリプトを実行する必要があります。dhclient
sudo perl script.pl