Cloud 실습 (1-1) - GNS3 내·외부 통신, Wireshark packet capture, ARP pkt, static routing

Hwarang Goh·2022년 7월 10일
0

Kakao Cloud School

목록 보기
6/13
post-thumbnail

실습시작


실습 전 내용

실습 환경

  • 원래 DB는 항상 외부에 둬야함(서버와 같이 두면 X, 실습 환경에서의 가정)
  • A 에 공인 IP 하나만 있는 상황

VMware 설정

Virtual Network Editor

  • VMnet 1,2,3,8 → host-only
  • VMnet 10 → NAT

  • VMnet 4는 개인 연습할 때 만든 것으로 생성하지 않아도 됨

네트워크 어댑터 옵션 변경 하는 폴더

  • VMnet 인터페이스들 확인해볼 수 있음

VNIC (Virtual Network Interface Card)

  • VNIC : Host의 Pysical NIC를 기반으로 하는 가상 네트워크 인터페이스

  • VNIC type

    • host-only (isolated)

    • NAT (Network Address Translation) : IP 주소를 변환 (사설-사설, 사설-공인, 공인-공인)

    • Bridge (Switch) : 동일 네트워크 환경의 end device들을 연결해주는 역할

      • bridge는 switch의 옛날 버전
      • Host OS와 동일 네트워크에 연결
        집에서 공유기를 사용중이라면 해당 공유기에 직접 연결한 device가 새로 생겼다고 생각하면 됨.

GNS3 내·외부망 통신 및 ARP packet capture (feat. wireshark)

  1. c3600 생성 (R1)
  2. cloud 2개 생성 (zone 이 2개)
  3. r1 → configure → 내이름으로 변경
  4. cloud 1 → configure → Ethernet 위에거 이더넷 add
    a. WiFi 환경이라면 WiFi 선택 후 add
  5. cloud 1 → hostname → internet 으로 변경
  6. cloud 2 → configure → Ethernet 위에거 vmnet1 add
  7. cloud 2 → hostname → server_zone
  8. internet --- (fa0/0) hwarang (fa0/1) --- server_zone 모양으로 link


Router 설정

  1. start 하고 console 열었음
configure ? # 설정할 수 는 옵션들 나옴
# configure terminal # conf t 로 입력해도 가능 (선택할 수 있는게 하나 밖에 없어서 자동완성)

  1. hwarang(config)# 인 상태
# WiFi 환경이라면 이것부터, Ethernet 환경이라면 X
int fa0/0
speed auto
duplex auto
mac-address aabb.ccdd.eeff # WiFi adapter MAC address
13. int fa0/0
14. ip add 192.168.1.101 255.255.255.0
# 연결중인 네트워크 대역에 맞춰서 설정
15. no sh
16. do ping 192.168.1.199
# 내부망 통신 확인


Wireshark packet capture

  1. internet --- HR 선 우클릭 캡처 시작
  2. wireshark filter : ip.addr == 192.168.1.199
    • 내부망 ping 캡쳐를 위함
do ping 192.168.1.199 # 테스트 ip는 각자 맞춰서
# ping 5개 보내고 다 성공했으면 와이어샤크에는 총 10개 보임, request 5개, reply 5개

  1. Wireshark
    • Frame : | MAC addr (이더넷) | IP | ICMP | Data |
    • Packet : | IP | ICMP | Data |
      • Router 가 IP를 보고 네트워크 대역을 구분해주고 서로 다른 네트워크를 연결해준다.
    • 패킷 캡슐화해서 프레임으로 만들때 다음 홉의 MAC addr 을 모를때 arp를 통해서 MAC addr 알아옴 (00:00:00:00:00:00, broadcast)

      사진은 해당 ping 전에 host에서 송신한 ARP 패킷이 아니긴함.
  1. Request

    • 1) eth:ethertype 2계층, ip 3계층
    • 2) Ethernet II, Src: MAC addr, Dst: MAC addr
    • 3) Internet Protocol Version 4, Src: 내 IP, Dst: 강사님 IP
    • 4) Internet Control Message Protocol (ICMP)
      - Echo (ping) request
  2. Reply

  1. console 에서 do show arp 하면 ARP table 볼 수 있음
  • 2번째를 보면 192.168.0.8 의 MAC addr 이 적혀있는 것을 볼 수 있음

외부 네트워크 연결

  1. do ping 8.8.8.8

    • 외부로 ping → 아예 가질 않았음 (wireshark 에서도 capture 되지 않음)

    • 만약 ping 보냈는데 답이 안오는 경우, 근데 외부 인터넷 연결은 되는경우

      • 해당 IP 에서 icmp 차단하게 할 수 있음
      • icmp 외의 다른 연결은 되도록 할 수 있다고 함
  2. do show ip route

    • ip 경로 확인
    • 192.168.0.0/24 네트워크로 직접 연결된 경로만 나옴
  3. ip route 0.0.0.0 0.0.0.0 192.168.1.1 # default route 설정

    • 외부로 나가는 경로 gateway 192.168.1.1 로 설정
    • 정확히는 경로 설정이 되지 않은 주소는 모두 192.168.1.1 로 보내는 default route 설정
  4. do ping 8.8.8.8

    • 외부 네트워크 ping
  5. do show ip route

    • default route 설정이 static 하게 된 것 을 확인할 수 있음.

내부 서버에서 외부 네트워크 연결

  1. int fa0/1

  2. ip add 172.16.1.2 255.255.255.0

    • 내부 서버로 향하는 인터페이스 ip 설정
  3. no sh


  1. VM 실행, root 로그인, terminal open
whoami
echo $HOSTNAME # $ 이거 앞에 붙이면 변수
env # 시스템 환경변수 확인

# shell에서 a = "hello" 는 안되는데 a="hello" 는 됨
# OS 에 의존적임, 앞에 a = "hello" 는 a를 명령어로 생각해서 변수라고 생각하지 못함
     
echo $? # 처리결과 출력
# 0을 제외한 값은 모두 에러
# a 만 치고 enter 한 후, echo $? 해보면 에러 뜬것 확인 가능

ifconfig ens32 | grep 172.16.1
ifconfig ens32 | grep 172.16.1 | gawk '{print $1}'
# grep 으로 골라온 것 중에 1열 print
# shell script 짤 때 사용할 수 있음


  1. wired connected → wired settings
    - IPv4 Method → Manual
    addr 172.16.1.100, netmask 24, gateway 172.16.1.2
    1. gateway 주소 가상 공유기 있는거 그림 생각해볼것
    2. 설정 후 인터페이스 off 했다 on

    - `ifconfig ens32` 확인해보면 IP 변한거 확인 가능


  1. ping 172.16.1.2
    • router 로 ping 보내보기

  1. router console 에서 do show arp 해보면
    • 172.16.1.100 이 테이블에 있는 것을 확인 가능
      1. 서버와 router 사이에도 정상적으로 연결되었음
      2. router → server 로 ping 도 잘 보내짐


  1. 리눅스에서 인터넷으로 ping
    1. ping www.google.com
      1. internet --- router 에는 패킷 안보임 (wireshark)
        1. ping 8.8.8.8 은 request 는 됨
      2. router --- server 에도 패킷 안보임 (wireshark)
        1. ping 8.8.8.8 은 request 는 됨
    2. 도메인으로 ping 보내면 안되고 있음
      ip 주소로 ping을 보낸 것도 request만 되고 있음
  • 왼쪽이 server → router, 오른쪽이 router → internet
    • 둘 다 source가 172.16.1.100
    • 외부 네트워크에서 사설 IP 주소는 사용될 수 없음

다음 글 예고

  • 사설 IP 대역에서 공인 IP 대역으로 통신을 할 때 필요한 NAT, PAT 설명
  • NAT, PAT 설정 및 내부 server에서 외부 internet 으로 통신 실습

0개의 댓글