나는 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