DNS 문제가 있습니다. 문제의 범위를 좁히기 위해 DHCP에서 반환된 두 개의 DNS 서버 대신 하나의 DNS 서버만 지정하도록 컴퓨터의 DNS 설정을 수동으로 구성하라는 요청을 받았습니다. 문제는 하나의 DNS 서버 또는 두 서버 모두에서 발생합니다.
하지만 systemd-resolved가 내 DNS 구성을 수동으로 수락하도록 구성할 수는 없습니다.
systemd-networkd
나는 다음을 시도했는데 재부팅 후에도 여전히 두 서버간에 DNS 요청을 무작위로 보냅니다 systemd-resolved
.
DNS=1.2.3.4
[Resolve]
섹션 에 지정됨/etc/systemd/resolved.conf
DNS=1.2.3.4
(이 폴더의 파일만) 섹션[Network]
에 지정/etc/systemd/network/eth0.conf
/etc/resolv.conf
서버 중 하나를 편집 하고 주석 처리합니다.
이 중 아무것도 변경되지 않았으며 resolvectl
두 DNS 서버 모두 여전히 사용 가능한 것으로 나열되었으며 테스트를 수행했을 때 DNS 쿼리는 내가 지정한 하나의 서버만 사용하는 대신 두 서버 간에 분할되었습니다.
DHCP를 통해 반환된 서버가 아닌 내가 지정한 단일 DNS 서버만 사용하도록 systemd에 어떻게 지시합니까?
답변1
아직 시도하지는 않았지만 DHCP 응답에서 DNS 서버를 무시하는 옵션이 있다는 것을 발견했습니다. systemd .network
파일에서 DHCP 섹션을 추가하고(아직 없는 경우) 다음 UseDNS
옵션을 사용합니다.
[Network]
DNS=8.8.8.8 # Specify your DNS server manually
[DHCPv4]
UseDNS=no # Don't use DNS servers from DHCP
답변2
댓글을 달 수 있는 담당자가 부족합니다.말비니우스답변. 그의 대답은 정확하지만 nspawn 컨테이너는 80-container-host0.network
호스트의 시스템 기본값을 재정의하기 위해 파일 이름을 지정해야 합니다.
~에서systemd-nspawn문서:
systemd-networkd.service(8)에는 기본적으로
/usr/lib/systemd/network/80-container-ve.network
이렇게 생성된 호스트 측 인터페이스와 일치하는 네트워크 파일이 포함되어 있으며 생성된 가상 링크에서 DHCP를 통해 자동 주소 구성을 활성화하는 설정 및 호스트 외부로의 자동 IP 라우팅이 포함되어 있습니다. 네트워크 인터페이스. 또한/usr/lib/systemd/network/80-container-host0.network
DHCP를 통해 클라이언트 주소 할당을 활성화하는 설정을 포함하여 이러한 방식으로 생성된 컨테이너 측 인터페이스와 일치하는 설정도 포함되어 있습니다. systemd-networkd가 호스트와 컨테이너 모두 내부에서 실행 중인 경우 컨테이너에서 호스트로의 자동 IP 통신을 사용하고 추가로 외부 네트워크에 연결할 수 있습니다.
/etc/systemd/network/80-container-host0.network
:
# https://www.freedesktop.org/software/systemd/man/systemd.network.html#UseDNS=
#
# Disable adding the DNS from DHCP
#
[Match]
Virtualization=container
Name=host0
[Network]
DHCP=ipv4
DNS=
[DHCPv4]
UseDNS=false
답변3
고정 IP를 설정할 수 있으면 DNS 서버를 지정할 수 있습니다. 네트워크 관리자에게 사용할 수 있는 고정 IP를 문의하고 시도해 보세요. 아무 IP나 사용하지 마세요. 그렇지 않으면 쉽게 IP가 중복될 수 있습니다.