Skip to content

Instantly share code, notes, and snippets.

@YangSiJun528
Last active October 21, 2024 23:37
Show Gist options
  • Select an option

  • Save YangSiJun528/82bf47cf1bd4d4de8a77f6bcb28ca2a1 to your computer and use it in GitHub Desktop.

Select an option

Save YangSiJun528/82bf47cf1bd4d4de8a77f6bcb28ca2a1 to your computer and use it in GitHub Desktop.

Cisco 라우터에서 DNS 클라이언트와 서버 설정 과정을 구체적으로 설명해보겠습니다. 예시로는 R3 라우터를 DNS 서버로 설정하고, R1 라우터를 DNS 클라이언트로 설정하는 과정입니다. 목표는 R1에서 호스트명을 사용하여 R3로 핑을 실행하고, DNS 서버인 R3가 이를 변환하여 IP 주소로 응답하게 하는 것입니다.

1. R3를 DNS 서버로 설정

먼저 R3 라우터가 DNS 서버로서 동작할 수 있도록 설정합니다.

1.1. IP 주소 확인

R3 라우터의 IP 주소를 확인합니다. show ip interface brief 명령어를 사용하여 확인할 수 있습니다. 여기서 R3의 IP 주소가 10.10.20.1임을 확인합니다.

R3# show ip interface brief
Interface       IP-Address      OK? Method Status   Protocol
GigabitEthernet0/0   10.10.20.1   YES manual up      up

1.2. DNS 기능 활성화

R3가 DNS 서버로 동작할 수 있도록 DNS 조회 및 변환 기능을 활성화합니다. 이를 위해 전역 설정 모드에 진입하여 DNS 관련 설정을 적용합니다.

R3# configure terminal
R3(config)# ip domain-lookup
  • ip domain-lookup: DNS 조회를 활성화하여 라우터가 도메인 이름을 해석할 수 있도록 설정합니다.

1.3. DNS 서버로 설정

ip dns server 명령어를 사용하여 라우터를 DNS 서버로 설정합니다. 이 명령어는 R3 라우터가 클라이언트로부터 DNS 요청을 받을 수 있도록 만듭니다.

R3(config)# ip dns server

1.4. 도메인 이름 설정

R3가 제공할 도메인 이름을 설정합니다. 이 예시에서는 flackbox.lab이라는 도메인을 사용합니다.

R3(config)# ip domain-name flackbox.lab

1.5. 호스트 이름과 IP 주소 설정

각 라우터의 호스트 이름과 IP 주소를 설정하여 DNS 서버가 이 정보를 참조할 수 있도록 합니다. ip host 명령어로 각 라우터의 호스트 이름과 IP 주소를 입력합니다.

R3(config)# ip host R1 10.10.10.1
R3(config)# ip host R2 10.10.10.2
R3(config)# ip host R3 10.10.20.1

또는 FQDN을 사용할 수도 있습니다.

R3(config)# ip host R1.flackbox.lab 10.10.10.1
R3(config)# ip host R2.flackbox.lab 10.10.10.2
R3(config)# ip host R3.flackbox.lab 10.10.20.1

이제 R3 라우터는 DNS 서버로서 설정이 완료되었습니다.


2. R1을 DNS 클라이언트로 설정

이제 R1 라우터를 DNS 클라이언트로 설정하여 R3 라우터에 DNS 요청을 보낼 수 있도록 합니다.

2.1. DNS 조회 기능 활성화

R1에서 DNS 서버를 사용하려면 DNS 조회 기능을 활성화해야 합니다.

R1# configure terminal
R1(config)# ip domain-lookup

2.2. DNS 서버 지정

R1이 사용할 DNS 서버를 지정합니다. 여기서는 DNS 서버로 설정한 R3의 IP 주소(10.10.20.1)를 입력합니다.

R1(config)# ip name-server 10.10.20.1

2.3. 기본 도메인 이름 설정

R1에서 기본 도메인 이름을 설정하여, 도메인 이름 없이 호스트명만 입력해도 DNS 서버가 이를 해석할 수 있도록 합니다. 이 예시에서는 flackbox.lab 도메인을 사용합니다.

R1(config)# ip domain-name flackbox.lab

2.4. 추가적인 DNS 접미어 설정 (선택 사항)

추가적인 DNS 접미어를 설정하고 싶다면 ip domain-list 명령어를 사용하여 추가 접미어를 설정할 수 있습니다.

R1(config)# ip domain-list flackbox.lab

3. R1에서 테스트

R1에서 호스트명을 이용하여 R3로 핑을 보내 DNS 설정이 정상적으로 동작하는지 확인합니다.

3.1. R3로 핑 (호스트명으로)

먼저, 호스트명을 사용하여 R3로 핑을 시도합니다.

R1# ping R3

이때, R1 라우터는 DNS 서버(R3)로 DNS 요청을 보내고, R3는 R3 호스트명을 IP 주소 10.10.20.1로 변환하여 응답할 것입니다. 변환이 성공하면 핑이 정상적으로 작동합니다.

3.2. FQDN으로 핑

FQDN을 이용한 핑 테스트도 가능합니다.

R1# ping R3.flackbox.lab

마찬가지로 R1은 DNS 서버로 요청을 보내고, R3는 R3.flackbox.lab을 10.10.20.1로 변환합니다.


이 과정을 통해 R1은 DNS 클라이언트, R3는 DNS 서버로 설정되어 호스트명이나 FQDN을 IP 주소로 변환할 수 있게 됩니다. 일반적으로 Cisco 라우터는 호스트명을 사용하기보다는 IP 주소로 작업하지만, DNS 클라이언트와 서버 설정을 통해 라우터 간의 통신을 더 편리하게 할 수 있습니다.

네트워크 행위의 순서를 구체적으로 정리하겠습니다:

  1. 호스트 A가 www.flackbox.com으로 HTTP 트래픽을 보내려고 합니다.

  2. 호스트 A는 www.flackbox.com의 IP 주소를 모르므로 DNS 요청을 준비합니다.

  3. 호스트 A는 DNS 서버(10.10.100.10)가 다른 서브넷에 있음을 확인합니다.

  4. 호스트 A는 기본 게이트웨이(10.10.10.1)의 MAC 주소를 얻기 위해 ARP 요청을 브로드캐스트합니다.

  5. 라우터 A가 ARP 응답을 보내 자신의 MAC 주소를 알려줍니다.

  6. 호스트 A는 DNS 요청을 기본 게이트웨이로 보냅니다.

  7. 라우터 A는 DNS 서버의 MAC 주소를 얻기 위해 ARP 요청을 보냅니다.

  8. DNS 서버가 ARP 응답을 보냅니다.

  9. 라우터 A는 DNS 요청을 DNS 서버로 전달합니다.

  10. DNS 서버는 요청을 처리하고 www.flackbox.com의 IP 주소(10.10.12.10)를 찾습니다.

  11. DNS 서버는 DNS 응답을 라우터 A로 보냅니다.

  12. 라우터 A는 DNS 응답을 호스트 A로 전달합니다.

  13. 호스트 A는 이제 www.flackbox.com의 IP 주소를 알게 되어 HTTP 트래픽을 준비할 수 있습니다.

이 과정에서 ARP 요청과 응답, DNS 요청과 응답이 여러 번 교환되며, 각 단계에서 스위치와 라우터는 MAC 주소 테이블과 ARP 캐시를 업데이트합니다. 또한 패킷이 라우터를 통과할 때마다 MAC 주소는 업데이트되지만 IP 주소는 유지됩니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment