DNS에 문제가 있습니다. 문제의 범위를 좁히기 위해 컴퓨터의 DNS 설정을 수동으로 구성하고 DHCP를 통해 반환된 두 개의 DNS 서버 대신 하나의 DNS 서버만 지정하라는 요청을 받았습니다. 그러면 서버 관리자가 내 문제가 있는지 확인할 수 있습니다. 이는 하나의 DNS 서버 또는 둘 다에서만 발생합니다.
그러나 내 DNS 구성을 수동으로 수락하도록 systemd-resolved를 구성할 수 없습니다.
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 쿼리는 내가 지정한 서버 하나만 사용하는 대신 두 서버 간에 분할되었습니다.
내가 지정한 단일 DNS 서버만 사용하고 DHCP를 통해 반환된 서버도 사용하지 않도록 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나 사용하지 마세요. 쉽게 중복될 수 있습니다.