Category: Linux

  • dnscrypt-proxy 추가 설정

    bootstrap_resolvers = ['1.1.1.1:53','8.8.8.8:53']

    외부 DNS가 없는 상태로 만들고 싶다면, 처음 정보를 받아올 주소를 하나는 지정을 해주어야 한다. 그 때 사용하는 것이 bootstrap_resolvers 이다.

    cloaking_rules = 'cloaking-rules.txt'

    특정 도메인을 내가 원하는 주소로 지정하고 싶을 때 사용한다. IP 주소 형식도 CNAME 같은 형식도 지원한다.

    [blocked_names]
    blocked_names_file = 'blacklist.txt'

    특정 도메인에 대한 것을 차단하고 싶을 때 사용한다. 위의 2개와는 다르게 [blocked_names] 아래에 위치시켜야 한다.

  • 53번 포트 사용 확인

    sudo ss -tulpn | grep :53

  • dnscrypt-proxy.socket

    dnscrypt-proxy 를 사용할 때 listen 주소를 0.0.0.0:53 으로 하고 싶을 경우에는 다음과 같이 한다.

    우선 dnscrypt-proxy 서비스를 중지한다. 그리고 dnscrypt-proxy.socket을 비활성화 한다.

    sudo systemctl stop dnscrypt-proxy.socket
    sudo systemctl disable dnscrypt-proxy.socket

    서비스 파일은 대충 다음 형식이면 된다.

    [Unit]
    Description=dnscrypt-proxy - DNSCrypt client proxy
    Documentation=https://github.com/DNSCrypt/dnscrypt-proxy/wiki
    After=network.target
    Wants=network-online.target
    
    [Service]
    Type=simple
    NonBlocking=true
    ExecStart=/usr/local/bin/dnscrypt-proxy -config /etc/dnscrypt-proxy/dnscrypt-proxy.toml
    Restart=on-failure
    RestartSec=5
    
    AmbientCapabilities=CAP_NET_BIND_SERVICE
    CapabilityBoundingSet=CAP_NET_BIND_SERVICE
    
    StandardOutput=journal
    StandardError=journal
    
    [Install]
    WantedBy=multi-user.target

    원하는대로 설정하고 재시작한다.

  • dnscrypt-proxy

    cloudflared proxy-dns 대안으로 찾은 것이 dnscrypt-proxy 이다. 최근 버전을 이용하고 있다면 리포에 있으므로 apt로 설치하면 된다.

    sudo apt install dnscrypt-proxy

    /etc/dnscrypt-proxy/dnscrypt-proxy.toml 에서 다음을 수정한다. 내가 설치할 때에는 v2였는데 v3가 최신이므로 수정한다.

    [sources]
      [sources.'public-resolvers']
      url = 'https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md'

    원하는 DoH 서버를 찾아서 수정해 준다. 나는 Quad9를 선택해 보았다.

    server_names = ['quad9-doh-ip4-port443-nofilter-pri']