============================================================ LAB> DNS + 웹서버 (가상호스트 기능)을 이용한 서비스 구현하기 1. DNS 서버 구축 2. WEB 서버 구축 1. DNS 서버 구축 - 소스를 이용해서 설치하는 방법 - yum 을 이용해서 설치하는 방법 - 패키지 그룹 : DNS Name Server - 패키지 : caching-nameserver, bind-utils - 네임서버를 구동하기 위한 패키지그룹을 설치 # yum -y groupinstall "DNS Name Server" : bind-libs bind bind-chroot : # yum -y install caching-nameserver <-- 캐쉬전용 네임서버 설치 # yum -y install bind-utils <-- DNS 전용 유틸리티 명령어 설치 # /etc/init.d/named start <-- 네임서버 시작 # netstat -nltup | grep 53 : : o 외부의 DNS를 허용할 수 있게 세팅한다. caching-nameserver IP : 192.168.56.230 - 설정파일을 수정한다. !!! 예전에는 nameserver 설정파일이 named.conf 였고 버전이 올라오면서 !!! 이 파일이 두개로 분리가 되었다. !!! named.caching-nameserver.conf , named.rfc1912.zones !!! 예전 내용과 호환이 되기 위해서는 named.rfc1912.zones 를 !!! /etc/named.conf 로 링크를 걸어주면 된다. !!! # ln -s /var/named/chroot/etc/named.rfc1912.zones /etc/named.conf - 외부의 쿼리를 받도록 설정을 변경한다. # netstat -nltup | grep 53 tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 820/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 820/named udp 0 0 127.0.0.1:53 0.0.0.0:* 820/named # ls -l /etc/named.* /etc/named.caching-nameserver.conf -> /var/named/chroot/etc/named.caching-nameserver.conf /etc/named.rfc1912.zones -> /var/named/chroot/etc/named.rfc1912.zones - DNS 설정파일에서 외부의 쿼리에 응답할 수 있도록 수정한다. # vi /etc/named.caching-nameserver.conf options { ... query-source port 53; listen-on port 53 { any; }; <-- any 로 변경 // listen-on-v6 port 53 { ::1; }; <-- IPV6 X allow-query { any; }; <-- any 로 변경 allow-query-cache { any; }; <-- any 로 변경 } view localhost_resolver { match-clients { any; }; <-- any 로 변경 match-destinations { any; }; <-- any 로 변경 recursion yes; <-- (나중에 보안상 yes를 no로 변경) ... } # /etc/init.d/named restart # netstat -nltu|grep 53 tcp 0 0 192.168.56.230:53 0.0.0.0:* LISTEN tcp 0 0 10.0.2.15:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN udp 0 0 192.168.56.230:53 0.0.0.0:* udp 0 0 10.0.2.15:53 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:* o 네임서버에 도메인명 세팅하기 리눅스 IP : 192.168.56.230 도메인명 : cnn.com 호스트명 : www.cnn.com -- 작업 순서 --
-- 방화벽 해제 -- # iptables -F
1. 설정파일에 도메인 영역 추가 ( httpd.conf 에서 가상호스트 설정 ) 2. forward zone 파일 생성 ( 사용자 생성 후 index.html 파일 생성 )--> 도메인을 ip주소로 매칭시켜줌 3. 심볼릭 링크생성 4. 네임서버 설정 확인 5. 네임서버 재시작 ( 아파치 재시작 ) 6. 확인 (lynx --dump cnn.com ) -- 작업 순서 -- - 전체설정 - 호스트 방화벽에서 DNS 53번 룰을 설정
# iptables -I INPUT -p udp --dport 53 -j ACCEP # iptables -nvL # ifconfig eth1:1 192.168.56.230 1. 설정파일에 도메인 영역 추가 - 실제 파일 : /var/named/chroot/etc/named.rfc1912.zones - 링크 파일 : /etc/named.rfc1912.zones - 파일의 끝에 cnn.com 에 대한 도메인 정보를 추가한다. # vi /etc/named.rfc1912.zones -- /etc/named.rfc1912.zones -- : : zone "cnn.com" IN { type master; file "cnn.com.zone"; allow-update { none; }; }; -- /etc/named.rfc1912.zones -- 2. forward zone 파일 생성 - host -> IP 주소로 변환해주는 정보가 담겨있는 DB 파일이다.
- 실제파일 : /var/named/chroot/var/named/sbs.com.zone # cd /var/named/chroot/var/named # cp -a localhost.zone cnn.com.zone # vi cnn.com.zone -- cnn.com_zone -- $TTL 60 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS @ IN A 192.168.56.230 www IN A 192.168.56.230 -- sbs.com_zone -- 3. 심볼릭 링크생성 - ln -s `pwd`/<tab> 키를 이용해서 경로를 완성하면 편리하다. # ln -s /var/named/chroot/var/named/cnn.com.zone /var/named 4. 네임서버 설정 확인 # named-checkconf /etc/named.rfc1912.zones # named-checkzone cnn.com cnn.com.zone zone cnn.com/IN: loaded serial 42 OK 5. 네임서버 재시작 # /etc/init.d/named restart 6. 확인 - linux 에서 확인 - dig, nslookup, host # dig @localhost cnn.com +short 192.168.56.230 # dig @localhost www.cnn.com +short 192.168.56.230 # nslookup cnn.com localhost # nslookup www.cnn.com localhost
- /etc/resolv.conf 를 현재 서버로 변경한다. # vi /etc/resolv.conf -- /etc/resolv.conf -- nameserver 127.0.0.1 -- /etc/resolv.conf --- windows 에서 확인 시작-> cmd -> c:\> nslookup cnn.com 192.168.56.230 !!! 팁 : 네임서버가 세팅이 잘안되면 아래를 확인 !!! !!! 1. 로그를 확인 <--- **** /var/log/messages !!! 2. 설정 확인 /var/named/chroot/etc/named.rfc1912.zones /var/named/chroot/etc/named.caching-nameserver.conf !!! 3. 권한 확인 /var/named/chroot/var/named/zonefile* named 가 읽기권한 O /var/named/chroot/var/named/* -> /var/name/* 링크생성 !!! 4. 데몬이 떠있는지 확인 netstat -natu <-- 53 포트 (udp 확인) !!! 5. 방화벽에 53번 포트가 막혀있는지 확인 ============================================================
카테고리 없음