리눅스에서 DNS를 암호화 할 수 있는 dnscrypt-proxy 프로그램을 활용해 보자.
DNScrypt 프록시 서버를 경유한 구간 암호화에 대해서는 아직 불안한 요소가 있고 많이 알려져 있지는 않다.
왜냐하면 DNS 프록시 서버를 사용하고 암호화 즉 트래픽의 엔코딩과 디코딩을 위해서는 해당 컴퓨터에 OPEN DNS가 배포하는
Dnscrypt 소프트웨어가 설치 되어야 하기 때문이다.
물론 이 적용은 윈도우 보다 리눅스가 훨씬 쉽고 최적화 되어있다.
만일 우분투를 사용한다면 그리고 최신 배포한 이라면
기존의 레파시토리 archive 서버에 등재 되어 있기 때문이다.
설치는 매우 간편하다.
user@user~$ |
sudo apt-get install dnscrypt-proxy |
gtk를 활용한다면 데스크탑의 메인 네트워크 설정 gtk를 열고
dns 주소를 127.0.0.1 or 127.0.2.1 로 바꿔준다.
/etc/resolv.conf 파일을 열고
dns 주소를 직접 재편집 해주고 저장한다.
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.2.1
그리고 마지막으로
user@user~$ |
sudo service network-manager restart |
로써 네트워크 활성을 재 시작 한다.
하지만 만일 사용자의 네트워크 할당 방식이 DHCP( 유동 IP 할당 ) 라면 다음 부팅 때 로깅실패로 인해 DNScrypt가 해제 되어 인터넷 접속이 안 되거나
공유기의 본래 dns로 접속 되는 경우가 발생 할수 있다.
※ 하지만 위와 같은 현상은 최근 많은 업데이트로 인하여 안정화가 이루어진 상태이다.
다시 말해 현재로선 dnscrypt는 리로깅 불안성을 안고 있다.
만약 버그가 생기고 그것을 해소하려먼 /etc/rc.local 을 수정하여
부팅 때마다 자동으로 dnscrypt-proxy 서비스를 다시 잡아 주어야 한다.
하지만 그럴 때면 희한하게도 또 한가지 문제인 시간 동기화 오류 문제가 겹친다.