isc-dhcp
네트워크의 다른 클라이언트에 다른 DNS 서버 주소를 보낼 수 있는 방식으로 구성할 수 있습니까 ?
네트워크에 Mac, Linux 및 Windows가 설치된 PC가 있다고 가정해 보겠습니다. 내 기본 DNS 서버는 bind9
Linux에 있지만 DNS 역할도 하는 Windows 서버도 있습니다. 이제 isc-dhcp
Windows 서버에 대한 DNS 연결을 Windows 클라이언트에 보내고 네트워크의 다른 모든 컴퓨터는 dhcp/bind9에서 DNS 설정을 가져옵니다 .
그게 가능합니까?
답변1
muru에서 얻은 답변에 따르면 다음 해결 방법을 찾았습니다.
클라이언트로부터 정보를 찾으려면 vender-class-identifier
다음에서 이를 맨 위에 놓아야 합니다 dhcpd.conf
.
set vendor-string = option vendor-class-identifier;
dhcp 서비스를 다시 시작하고 클라이언트에서 dhcp 서버에 대한 새 연결을 사용하면 cat /var/lib/dhcp/dhcpd.leases
어떤 클래스인지 확인할 수 있습니다. 예를 들어 Windows XP에는 다음이 있습니다."MSFT 5.0"
이제 서브넷 블록 내에서 다음과 같이 클라이언트에 대한 DNS 서버를 명확히 할 수 있습니다.
# DNS for Windows XP
if substring (option vendor-class-identifier, 0, 9) = "MSFT 5.0"
{
option domain-name-servers 192.168.0.1;
}
# DNS for all others
else
{
option domain-name-servers 192.168.2.254, 8.8.8.8;
}
변수가 필요한지 잘 모르겠습니다 0, 9
. 어쩌면 그렇지 않을 수도 있습니다.