Archlinux에서 dnscrypt-proxy + dnsmasq 설치 및 구성

소개 : 
  

dnscrypt-proxy 란 무엇입니까?
- DNSCrypt 사용자와 DNS 확인자 간의 DNS 트래픽을 암호화 및 인증하고 DNS 쿼리의 로컬 스푸핑을 방지하여 선택한 서버에서 DNS 응답을 보내도록합니다. (위키)

dnsmasq는 무엇입니까?
-dnsmasq는 DNS 캐시 및 DHCP 서버와 같은 서비스를 제공합니다. DNS (도메인 이름 서버)로서 DNS 쿼리를 캐시하여 이전에 방문한 사이트에 대한 연결 속도를 향상시킬 수 있으며, DHCP 서버로서 dnsmasq를 사용하여 LAN의 컴퓨터에 내부 IP 주소 및 경로를 제공 할 수 있습니다. 이러한 서비스 중 하나 또는 둘 모두를 구현할 수 있습니다. dnsmasq는 가볍고 구성하기 쉬운 것으로 간주됩니다. 개인용 컴퓨터에서 사용하거나 50 대 미만의 컴퓨터가있는 네트워크에서 사용하도록 설계되었습니다. 또한 PXE 서버와 함께 제공됩니다. (위키)

내가 무엇을 사용 했습니까? :
-내가 사용한 구성 파일을 편집하려면 나노.
-항상 내 루트 계정으로 수행했지만 구성한 경우 sudo는, 그들은 그것을 안전하게 사용할 수 있습니다.
-dig 명령으로 캐시를 확인하려면 bind-tools에 있습니다.
공식 저장소 내 pacman -S 바인드 도구 ????

설치 :

  • 루트 또는 터미널 또는 tty에서 sudo를 사용하여 다음과 같이 dnscrypt-proxy 및 dnsmasq 패키지를 설치합니다.
  • 경고 메시지는 이미 설치했기 때문에 Enter 키를 눌러 확인하면됩니다.

환경:

1 - dnscrypt-proxy를 활성화 해 보겠습니다 (루트 또는 sudo 사용).


2 - 이제 파일을 편집합니다. / 기타 / resolv.conf에 네임 서버에서 우리는 거기에있는 것을 삭제하고 127.0.0.1을 넣습니다 (원한다면 파일의 백업을 만들 수 있습니다). 그러면 다음과 같이 보일 것입니다 :

  • NetworkManager가 resolv.conf 파일을 작성한다는 점을 고려하여 다음 명령을 사용하여 작성하지 못하도록 보호합니다.


    3 - 이제 우리가 할 일은 우리 위치에서 가장 가까운 서버를 찾는 것입니다.하지만 기본적으로 제공되는 dnscrypt.eu-nl 인 서버를 사용할 수 있습니다. 목록은 localc로 열 수 있습니다. / usr / share / dnscrypt-proxy / dnscrypt-resolvers.csv는 다음과 같습니다.

  • 기본 DNS를 확인하는 서버를 수정하려면 다음과 같이 편집 할 수 있습니다.
  • [서비스] 섹션의 파일 끝에서 회색으로 선택된 항목을 수정하고 이미 선택한 서버를 목록에 배치합니다.


    4 - 기본적으로 dnscrypt-proxy는 dnsmasq도 사용하므로 포트 53을 사용하므로 다음과 같이 다시 사용하여 변경합니다.
    systemctl은 dnscrypt-proxy.service –full을 편집하고 [Socket] 섹션에 다음과 같이 둡니다.

변경 사항을 저장하고 닫습니다.

5 - 이제 dnsmasq를 구성하고 /etc/dnsmasq.conf 파일을 편집하고 끝에 다음 세 줄을 추가합니다.

미해결
서버 = 127.0.0.1 # 40
수신 주소 = 127.0.0.1

변경 사항을 저장하고 닫습니다.

6 - 이제 다음을 수행합니다.
-dnscrypt-proxy를 다시 시작합니다.
systemctl 재시작 dnscrypt-proxy
-dnsmasq 활성화 :
systemctl dnsmasq 활성화
-dnsmasq를 실행합니다.
systemctl 시작 dnsmasq
-인터넷 연결을 다시 시작합니다.
systemctl 다시 시작 NetworkManager

7 - 이제 google.com.ar에 대한 핑과 함께 실제로 작동하는지 테스트합니다.

8 - dns 캐시가 dig 명령으로 작동하는지 확인합니다.

-여기서 우리는 내가 수행하는 첫 번째 발굴이 349msec의 지연이 있다는 것을 고려하고 dig로 쿼리를 다시 수행하면 어떻게됩니까? 0msec이므로 올바르게 캐시됩니다.

9 - 준비 dnscrypt-proxy 및 dnsmasq가 올바르게 구성되고 작동합니다!

참고 : 여러 곳에서 검색 한 후 아치 위키에서 보여준 어떤 방식으로도 작동하지 않았 음을 명확히하고 싶습니다. 스페인어 버전이 제대로 번역되지 않았습니다. ) 그래서 영어 버전을 사용했습니다. 그래서 저는 기본적으로 위키에 의존했습니다. 이 경우 다음은 내가 사용한 단계이며 나를 위해 일했습니다.
질문이나 문제가 있으면 알려주고 작동 할 때까지 이야기하겠습니다!

목표 포옹! 😀


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   이름이없는

    나는 dnsmasq와 어떤 차이도 느끼지 못합니다. 아마도 더 많은 사용자가 있으면 캐시가 작동 할 것입니다. 적어도 내 컴퓨터에서만 속도 변화를 보지 못했습니다.

    dnsmasq의 유무에 관계없이 발굴 시간은 동일하게 유지되며 누군가 다른 방법에 대해 알고 공유 할 수 있습니다.
    안부

    1.    얼음

      화면에서 볼 수 있듯이 많은 차이를 볼 수 있습니다. 대역폭에 따라서도 달라지는 것 같습니다 ...…

  2.   이름이없는

    첨부 이미지 :
    imgur .com / 9RQ7yhF.png

  3.   다니엘Sc3

    dnsmasq로 DNS 주소가 캐시되는 기간은 얼마입니까? 얼마 전에 시도한 것을 기억하고 몇 분, 10, 5 분 후에 dnsmasq는 모든 것을 잊어 버립니다.

    1.    얼음

      나는 정말로 그것을 보지 못했습니다. 좋은 지적입니다. 상담을받을 것이며, 아마도 일부 학자가 우리를 알고 대답 할 것입니다 🙂

  4.   와이즈

    안녕하세요 루트 "systemctl start dnsmasq"로 줄 때 "systemctl status dnsmasq.service"명령을 줄 때 오류가 발생합니다.

    ● dnsmasq.service-경량 DHCP 및 캐싱 DNS 서버
    로드 됨 :로드 됨 (/usr/lib/systemd/system/dnsmasq.service; 활성화 됨; 공급 업체 사전 설정 : 비활성화 됨)
    활성 : 실패 (결과 : 종료 코드) 2016-03-07 11:41:41 ART 이후; 18 초 전
    문서 : man : dnsmasq (8)
    프로세스 : 7747 ExecStart = / usr / bin / dnsmasq -k –enable-dbus –user = dnsmasq –pid-file (코드 = 종료 됨, 상태 = 2)
    프로세스 : 7742 ExecStartPre = / usr / bin / dnsmasq –test (코드 = 종료 됨, 상태 = 0 / 성공)
    주 PID : 7747 (코드 = 종료 됨, 상태 = 2)

    Tue 07 11:41:41 Wisdom systemd [1] : 경량 DHCP 시작 및 DNS 서버 캐싱…
    Tue 07 11:41:41 Wisdom dnsmasq [7742] : dnsmasq : 구문 검사 OK.
    Tue 07 11:41:41 Wisdom dnsmasq [7747] : dnsmasq : 포트 53에 대한 청취 소켓 생성 실패 : 주소가 이미 사용 중입니다.
    Tue 07 11:41:41 Wisdom systemd [1] : dnsmasq.service : 메인 프로세스 종료, 코드 = 종료 됨, 상태 = 2 / 유효하지 않음
    Tue 07 11:41:41 Wisdom systemd [1] : 경량 DHCP 및 캐싱 DNS 서버를 시작하지 못했습니다.
    Tue 07 11:41:41 Wisdom systemd [1] : dnsmasq.service : 유닛이 실패 상태로 들어갔습니다.
    Tue 07 11:41:41 Wisdom systemd [1] : dnsmasq.service : 'exit-code'결과로 실패했습니다.

    어떻게해야합니까? 감사합니다.

    1.    얼음

      나는 편지의 단계를 따랐고 내 블로그에서 원본 자습서를 확인했습니다. 나도 비디오를 남겼습니다.

  5.   gonza

    @ice ice,이 게시물과 작성한 비디오를 비교하면 여기에 적힌 4 단계에 오류가 있음을 알 수 있습니다. 그리고 오류는 편집 할 파일이 "systemctl edit dnscrypt-proxy.service –full"이 아니라 "systemctl edit dnscrypt-proxy.socket –full"로 편집되어야한다는 것입니다. (.service 대신 .socket을 작성해야합니다).

    이것이 @wisse wisse가 dnsmasq 서비스를 시작하려고 할 때 오류 메시지를받는 이유입니다 (같은 일이 저에게도 일어났기 때문입니다).

    안녕하십니까!