내 PC에서 cloudflare 이름 서버를 기본 서버로 사용하고 싶습니다. 이를 위해 Arch wiki에 따라 /etc/NetworkManager/conf.d/dns-servers.conf
다음 콘텐츠가 포함된 파일을 만들었습니다.
[global-dns-domain-*]
servers=2606:4700:4700::1111,1.1.1.1
이 방법은 작동하지만 이제 자동으로 제공된 DNS 이름 서버를 사용하여 로그인 페이지로 리디렉션하기 때문에 특정 공용 네트워크 로그인 페이지에 액세스하는 데 문제가 있습니다.
전역적으로 제공하는 네임서버를 기본으로 사용하고 로컬 DHCP 네임서버를 폴백으로 사용하도록 Network Manager를 설정할 수 있는 방법이 있습니까?
이미 하나가 있습니다유제, 그러나 모든 답변은 DNS가 네트워크 관리자가 직접 처리하는 것이 아니라 dhcpcd 또는 유사한 소프트웨어에 의해 처리된다고 가정합니다. 네트워크 관리자만 사용하여 이를 수행할 수 있는 방법이 있습니까?
답변1
몇 가지 연구 끝에 방법을 찾았습니다.
먼저 삭제했습니다 /etc/NetworkManager/conf.d/dns-servers.conf
(처음에 만들지 않았다면 건너뛰세요). 그런 다음 /etc/NetworkManager/dispatcher.d/pre-up.d/30-add-custom-dns.sh
다음 내용으로 파일을 만들었습니다 .
#!/bin/sh
if [ "$2" = "pre-up" ]; then
sed -i '1inameserver 1.1.1.1' /etc/resolv.conf
sed -i '1inameserver 2606:4700:4700::1111' /etc/resolv.conf
fi
실행 가능하고 루트에 속해 있는지 확인해야 합니다. 저는 다음을 실행했습니다.
sudo chown root:root /etc/NetworkManager/dispatcher.d/pre-up.d/30-add-custom-dns.sh
그리고
sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/30-add-custom-dns.sh
확인. 마지막으로 이 시스템 서비스를 활성화하고 시작했습니다 NetworkManager-dispatcher.service
.
이 스크립트는 연결이 초기화된 후에 실행되며 /etc/resolv.conf
NetworkManager가 거기에 넣은 내용을 그대로 유지하면서 cloudflare 이름 서버 항목의 시작 부분에 추가됩니다.