2018년 49주차-dnsmasq 설치(docker 방식)

2528 단어 dnsdocker
개발 또는 테스트 환경에는 대량의 서버, 데이터베이스, 응용 서버, 중간부품 서버 등이 있을 수 있다.특히 빅데이터 시스템은 관련된 서버가 많을 때 IP를 기억하기 어렵다. 이 컴퓨터의host를 수정해도 매번 IP에 대한 도메인을 새로 삭제할 때마다 매우 번거롭다.그래서 dns를 세우는 것은 매우 필수적이다.
여기는 docker 무침입식 DNS 서비스를 사용합니다. 언제든지 container를 삭제하면 됩니다.
1. 세 개의 파일을 숙주(ip:192.168.31.190)에 새로 만듭니다. 각각 dnsmasq입니다.conf,dnsmasq.hosts,dnsmasq.resolv.conf
[root@localhost dns]# pwd
/root/dns
[root@localhost dns]# ls
dnsmasq.conf  dnsmasq.hosts  dnsmasq.resolv.conf

dnsmasq.conf 파일은 DNS 응용 프로그램의 설정을 설정하는 데 사용되며 dnsmasq를 지정합니다.resolv.conf 파일 및 dnsmasq.hosts 파일의 경로,dnsmasq.conf의 내용은 다음과 같습니다.
cache-size=50000
dns-forward-max=1000
resolv-file=/etc/dnsmasq.resolv.conf
addn-hosts=/etc/dnsmasq.hosts

dnsmasq.hosts 파일은 우리가 자주 수정하는host입니다. 지정한 IP와 도메인 이름의 매핑 관계를 사용자 정의합니다. dnsmasq.hosts 파일의 내용은 다음과 같습니다.
192.168.31.101 s1.jevoncode.com
192.168.31.102 s2.jevoncode.com
192.168.31.103 s3.jevoncode.com
192.168.31.104 s4.jevoncode.com
192.168.31.105 s5.jevoncode.com
192.168.31.106 s6.jevoncode.com

dnsmasq.resolv.conf 파일, DNS 서버가baidu를 모르기 때문에.com 이 도메인 이름에 대응하는 IP는 무엇입니까? 따라서 외부 네트워크의 DNS를 지정해야 합니다. 만약dnsmasq에 있다면.hosts 파일에서 도메인 이름의 매핑 관계를 찾을 수 없으면 외부 네트워크의 DNS를 요청합니다. Dnsmasq.resolv.conf 파일의 내용은 다음과 같습니다.
nameserver 114.114.114.114
nameserver 223.5.5.5

2. docker를 실행하는 콘텐츠
docker run \
  --name dnsmasq \
  -d \
  -p 53:53/udp \
  -p 8080:8080 \
  -v /root/dns/dnsmasq.conf:/etc/dnsmasq.conf \
  -v /root/dns/dnsmasq.hosts:/etc/dnsmasq.hosts \
  -v /root/dns/dnsmasq.resolv.conf:/etc/dnsmasq.resolv.conf \
  --log-opt "max-size=100m" \
  -e "HTTP_USER=admin" \
  -e "HTTP_PASS=adminpassword" \
  --restart always \
  jpillora/dnsmasq  

그중 8080은 지정하지 않아도 된다. 그것은 페이지에서 DNS 응용 프로그램을 볼 수 있는 상황일 뿐이다.별로 필요 없어요.핵심은 53포트입니다.여기에 -v 파라미터를 사용하여 용기에 숙주 파일을 걸어두면 숙주에서dnasq를 수정할 수 있습니다.hosts 파일은 용기에 들어가서 설정을 수정할 필요가 없습니다.8080 페이지를 방문하는 것은 이렇다
3. DNS를 사용하는 방법에는 세 가지 방법이 있다(임의로 하면 된다). 3.1 윈도우즈에서는 장치기의 ip4 속성을 수정하는 데 DNS의 설정이 있다.3.2 Linux는 수정/etc/resolv.conf 파일
 
# Generated by NetworkManager
nameserver 192.168.31.190

3.3 라우터의 DNS 구성 수정
4. 공간을 생각하면 그 기초 위에서 어떤 생각들이 있다. 비록 나는 실천한 적이 없지만 괜찮을 것 같다.예를 들어 랜을 관리하는 기기의 인터넷 상황을 보면 어떤 사람이 어떤 사이트를 방문했는지 알 수 있고 사이트를 방문하는 행위를 통제할 수 있다.
질문: 방화벽을 열면udp 프로토콜의 53 포트를 열어야 합니다. 예를 들어centos7:
firewall-cmd --zone=public --add-port=53/udp --permanent

nns는udp 프로토콜을 이용하여 통신을 진행한다.

좋은 웹페이지 즐겨찾기