kakao Cloud school 2기 D+13 (끝판왕 예제)

LEE EUI JOO·2022년 11월 17일
0

네트워크

목록 보기
8/9
post-thumbnail

1. DNS (Domain name System PORT : 53) : 영문주소에 대한 IP를 '안내' 해주는 역할

예를 들자면, kakao.com 을 IP 주소 192.168.XX 로 변환 해준다.

실습

가상 서버 생성 (DNS 서버)
> yum install -y bind bind-chroot bind-utils
  • bind bind-chroot : DNS 서버 패키지
  • bind-utils : nslookup , dig 과 같은 명령어를 가진 패키지
> /etc/named.cof : 네임 서버의 기능적인 설정을 하는 파일

list-on port 54 { any; };
'
'
'
allow-qurey	{ any; }; 로 수정

> /etc/named.rfc1912.zones : 영역을 정의 하고,
kakao.com 에 대한 질의 요청을 받았을 때 참고할 '안내파일' 이다.

> /var/named/kakao.com.db : kakao.com 이라는 영역의 안내파일

> named-checkzone kakao.com /var/named/kakao.com.db
설정과 안내파일이 올바르게 기입됐는지 check 하고 ok 표시 확인 
> systemctl restart named
> systemctl enable named
네임 서버를 재시작 해준다 (어떤 서버의 설정을 바꿨을 시, 재시작 해주는 것을 잊지말자)
> vi /etc/resolv.conf 
임시로 DNS 서버를 바꿔주는 명령어 network를 재시작하면 default로 바뀐다.
> vi /etc/sysconfig/network-scripts/ifcfg-ens32
실제로는 ifcfg 파일에서 DNS 서버를 수정해야 정확하다
> cat /etc/resolv.cof 
파일의 내용을 보여주는 cat 명령어를 통해 네임서버를 확인
> nslookup www.kakao.com
> nslookup dhcp.kakao.com 
위 두 명령어를 통해 상위 도메인의 IP 주소도 확인할 수 있다.

  • Client 서버 하나 생성 (server-name: localhost)
> vi /etc/resolv.conf 
resolv.conf 파일을 들여다 보고 DNS 서버가 8.8.8.8 로 설정되어 있다면 패키지 설치가
가능하다. 따라서 만약, 211.183.3.53 으로 잡혀있을 경우엔 임시로 8.8.8.8 로 수정해주고
패키지를 다운받아야 한다.
> yum -y install bind-utils
google 의 안내를 받는 bind-utils 패키지를 다운받는다.
> systemctl restart network 
> cat /etc/resolv.conf
네트워크를 재시작 하고 DNS 서버가 바뀌어있는지도 확인해준다.


! nslookup 명령어로 확인 불가 할때 !

  • 방화벽 (firewalld) 문제
  • 셀리눅스 (Selinux) 문제

1. 방화벽
> sytemctl stop firewalld
> systemctl disable firewalld
2. 셀리눅스
> getenforce
셀리눅스 on / off 상태를 확인
> vi /etc/selinux/config 
SELINUX = enforcing 을 disabled 로 수정
> init 6 
재부팅 (reboot) - 재연결
> getenforcce 로 제대로 off 됐는지 확인


  • Web Server 만들어 보기
> vi /etc/resolv.conf 
패키지 설치를 위해 8.8.8.8 로 임시로 변경
> cat /etc/resolv.conf
변경 됐는지 확인 8.8.8.8 로 수정되어 있어야 한다.
> yum install -y httpd
> systemctl restart network
> systemctl restart httpd
> curl kakao.com 
확인

2. GNS3를 통한 DNS + DHCP 예제 문제 풀이 순서


조건
1. Client는 DHCP 서버로 부터 IP를 부여받는다.
2. 모든 192.168.30.0 /24 대역의 서버들은 영문주소로 라우팅
3. Client에서 각 서버에 영문주소로 접근이 가능해야한다.

동작 원리 조건 AND 과정

	[GNS 3]
	1. 사설 네트워크 2개로 생각하지 않는다
    2. 라우터 R2를 기준으로 내부 외부를 결정한다.
    3. 211.183.3.0 /24 대역 (VMnet 8번으로 설정해놓았음)을 외부로 결정하고 그 이외의 네트워크들을 내부로 결정한다.
    4. VMnet 8 , Bridge에 연결할 때는 공인 IP 대역으로 간주한다
    5. R1 과 R2 서로 정적 라우팅 한다. (서로 Directlt Connected) 하겠다는 뜻
    6. R1 과 R2 에서 디폴트 라우팅 (왜? R1의 입장 : client 에서 나온 네트워크를 어디로 보낼껀데?? 경로가 지정되지 않았기 때문에 R2의 왼쪽 접점으로 보낼래 R2입장 나도 경로가 지정되지 않았기 때문에 Cloud의 접점인 글로벌 대역대로 보낼래!)
    7.NAT 설정 - 우리는 여기서 NAT를 왜할까 생각해보자 211.183.3.0 대역을 우라는 공인 IP이고 나머지는 사설 IP라고 생각했다. NAT(PAT)의 목적은 내부에서 외부 즉, 내부의 변환될 IP를 지정하고 내부와 외부를 '특정' 짓고 내부의 여러개의 사설 IP를 공인IP(외부)로 타게 만들어야 하기 때문이 아닐까 싶다.
    [VM Ware]
    1. dhcp 서버에서 dhcp 설치 후 dhcp와 dhcp.conf 설정
    2. client에게 뿌려주기 위해서 net-tools 를 이용 ifconfig ens32:1 192.168.20.211 netmask 255.255.255.0 up
    systemctl restart dhcpd
    systemctl restart network
    ping 8.8.8.8 가는지!
    3. GNS의 R1라우터에 가서 helpaddress 쳐주기 왜? 릴레이 포인트가 되는거고 메시지 출발지로 해서 192.168.30.0 대역대 (dhcp) 서버로 가게 만듬
    4. client의 설정 (주석처리, BOOTPROTO = 'dhcp')
    5. cat /resolve.conf 보고 확인 해주기
    6. DNS 서버에 bind 패키지 설치
    7. named 파일 3가지 수정
    8. 방화벽, 셀리눅스 해제후 systemctl enable named -> init 6 (reboot)
    9. getenforce 확인
    10. bind-tool 설치 후 nslookup 사용하여 IP 확인
   
profile
무럭무럭 자라볼까

0개의 댓글