특정 도메인에 특정 DNS를 사용하는 방법이 있습니까? irc.freenode.net을 잘못 차단했습니다. * .freenode.net에 대한 요청이

직장에서 우리는 OpenDNS를 사용하고 있으며 멀웨어에 대해 irc.freenode.net을 잘못 차단했습니다. * .freenode.net에 대한 요청이 8.8.8.8 및 8.8.4.4 (Google의 DNS)로 전달되도록하려면 어떻게해야합니까?

우분투에서 resolv.conf를 사용 하여이 작업을 시도했지만 너무 멀리 갈 수 없었습니다. 또한 Mac 및 Windows 시스템 에서이 작업을 쉽게 수행 할 수있는 방법이 있습니까 (저는 OS를 사용하는 동료가 있으며 IRC도 사용하고 싶습니다).



답변

Linux는을 통한 도메인 별 DNS 서버 사용을 지원하지 않습니다 resolv.conf. 캐싱 네임 서버 (예 : BIND또는 dnsmasq)를 로컬 로 실행 한 다음 각 도메인에 대한 명시 적 전달자를 구성 하여이 문제를 해결할 수 있습니다.

OS X에서 이러한 종류의 설정은 scutil명령을 사용하여 비교적 쉽습니다 . 이 구성의 일반적인 사용 사례는 VPN 연결에 대한 DNS 요청을 VPN 별 DNS 서버로 전달하는 것이므로 OpenVPN과 관련하여 자주 논의됩니다. 이 문서scutilthis 와 마찬가지로 명령 에 대해 설명 하고 Google 은 더 많은 결과를 검색 openvpn하고 scutil산출합니다.

Windows에 대해 잘 모르겠습니다. 필요한 경우 세 가지 플랫폼 모두에 대해 로컬 DNS 서버 솔루션을 사용할 수 있습니다.


답변

* nix (및 Windows AFAIK)에서 제공하는 표준 DNS 해상도로는이 작업을 수행 할 수 없습니다.이를 위해서는 자체 DNS 서버가 필요합니다. * nix에서는 nnsmasq 가 최선의 선택이며, 모든 워크 스테이션에서이를 실행하거나 서버에서 실행하고이를 사용하도록 모든 워크 스테이션을 구성 할 수 있습니다.

/etc/resolv.conf:

nameserver 127.0.0.1
nameserver 208.67.222.222
nameserver 208.67.220.220

/etc/dnsmasq.conf:

server=/freenode.net/8.8.8.8
server=/freenode.net/8.8.4.4

답변

OS X에서는 /etc/resolver/example.com과 같은 파일을 컨텐츠와 함께 사용할 수 있습니다.

nameserver 172.16.5.5

* .example.com에 대한 DNS 요청을 172.16.5.5로 전달

http://hints.macworld.com/article.php?story=2004062902195410


답변

로컬 DNS 서버를 설치하여 Fedora에서이 작업을 수행했습니다.

첫 번째 설치 바인드 :

sudo dnf install bind

1 단계 : /etc/named.conf(루트로) 행을 추가하십시오 .

include "/etc/named/freenode.net.conf";

2 단계 : 영역 파일을 만듭니다 /etc/named/freenode.net.conf(루트로) :

zone "freenode.net" {
    type forward;
    forwarders { 8.8.8.8; };
};

이제 이름을 다시 시작하십시오.

sudo service named restart

이제 DCHP 할당 호스트 대신 127.0.0.1을 DNS 서버로 사용하도록 LAN 설정을 재구성하십시오.


답변

firejail –dns 옵션 을 사용할 수 있습니다 . 예를 들면 다음과 같습니다.

firejail --dns=8.8.8.8 firefox

이 방법으로 dns 서버를 도메인이 아닌 응용 프로그램별로 설정할 수 있습니다. 따라서 일부 상황에서는 더 나은 솔루션 일 수 있습니다.