내 홈 서버의 ESXi 아래 가상 머신에서 Ubuntu Server 20.04를 실행하고 있습니다. Docker 컨테이너 내에서 두 개의 별도 PiHole 인스턴스를 실행할 수 있도록 가상 머신에 두 개의 고유한 IP 주소가 있기를 원합니다.
가상 머신에 두 개의 네트워크 어댑터를 구성한 다음 /etc/netplan/00-installer-config.yaml을 다음과 같이 구성했습니다.
network:
ethernets:
ens160:
dhcp4: true
ens192:
dhcp4: true
version: 2
을 실행하면 netplan apply
DHCP를 통해 각각 자체 IP를 갖는 두 개의 인터페이스가 있습니다.
# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.212 netmask 255.255.255.0 broadcast 10.0.0.255
...
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.213 netmask 255.255.255.0 broadcast 10.0.0.255
...
/etc/dhcp/dhclient.conf
그런 다음 기본 "호스트 이름 보내기" 옵션을 주석 처리하고 두 가지 인터페이스별 옵션으로 대체하여 편집했습니다.
#send host-name = gethostname();
interface "ens160" {
send host-name = "something-else-1";
}
interface "ens192" {
send host-name = "something-else-2";
}
이 단계는 작동하지 않는 것 같습니다. DHCP 서버(Unifi)는 여전히 호스트 이름을 "실험적"이라고 보고합니다. 실제로 gethostname()
기존 행을 변경하여 호스트 이름만 다르게 하려고 시도했지만 그것조차 작동하지 않는 것 같았습니다.
나는 /etc/hostname
다른 것을 사용하여 변경해 보았고 이것이 실제로 효과가 있었습니다. 따라서 어떤 이유로 옵션이 /etc/dhcp/dhclient.conf
무시되는 것 같습니다.
누구든지 내가 뭘 잘못하고 있는지 말해 줄 수 있나요? 감사해요!
답변1
문제는 각 인터페이스에 서로 다른 DHCP "상태 머신"이 필요하다는 것입니다. 이렇게 하려면 아래와 같이 각 클라이언트에 서로 다른 클라이언트 ID를 할당해야 합니다.
# send host-name = gethostname();
interface "enp2s0" {
send dhcp-client-identifier "officemac";
send host-name "officemac";
}
interface "enp2s0:0" {
send dhcp-client-identifier "media";
send host-name "media";
}