0부터 시작하는 가상머신과 네트워크 공부 - 정적 NAT & 라우팅 실습

Jaehong Lee·2022년 7월 6일
0
post-thumbnail

1. 라우팅 테이블

  • 이전 장과 이어서 이 환경을 구현해볼 것이다
  • 먼저, HQ의 라우팅 테이블을 보면 설정한 경로들이 보인다. 10점대역은 0/1에 연결되있고, 100점대역은 1/0에 연결되있으며, STATIC 경로 지정을 통해 200점대역에 접근하려면 10.10.10.2를 통하면 접근할 수 있다고 설정하여, 해당 200점대역에 접근하려면 10.2에 보내게 경로 지정을 한 것이다
      1. HQ에 10.10.10.2를 목적지 Ip로 하는 신호가 들어오면 HQ의 라우터는 테이블과 비교한다. 허나 10.2는 매치되는게 없지만 10.은 매치되는 것이 있다.
      1. 따라서, FA0/1로 Frame을 내보낸다고 판단한다
      1. ARP 프로토콜을 통해 BR의 MAC 주소를 얻는다
      1. BR로 Frame을 전송한다
      1. 해당 Frame이 BR에 도착한다
      1. BR에서는 Frame을 열어 MAC 주소를 비교하고, PACKET을 열어 Ip를 비교한다
      1. Ip가 본인이므로, 4계층에서 SEGMENT를 열어서 ICMP를 확인한다. ICMP를 받았으니 REPLY를 보내야한다
      1. Packet을 만들고 BR에서 라우팅 테이블을 참조하여 10.0 대역인 fa0/1로 보내겠다고 판단한다
      1. Frame을 만들어 HQ로 내보낸다

2. SUBNET MASK

  • 255.255.255.0에서 255는 Ip에서 해당 부분을 고정시키는 것
  • 뒤에 0는 Ip에서 해당 부분은 사용자가 자유롭게 쓰라는 것으로 Don't care 비트이다
  • 서브넷 마스크는 1이 네트워크 부분, 0이 호스트 부분이며 1이 연속적으로 나와야한다
  • 서브넷 마스크와 Ip 주소를 AND 연산하면 서브넷 네트워크를 구할 수 있다
  • 즉, ip route 1.1.1.0 255.255.255.0은 1.1.1.1~1.1.1.255까지 Ip를 허용하겠다는 것이다
  • Ipv4는 4개의 옥텟으로 구성되며, 각 옥텟은 8bit이다. 이는 , 0.0.0.0 ~ 255.255.255.255의 범위를 가진다
  • 따라서, 0.0.0.0 0.0.0.0으로 설정하면 default route / default gateway라고 한다. 즉 모든 Ip를 허용하는 것이다!!! 이는, 라우팅 테이블에서 적혀있지 않는 모르는 모든 Ip를 의미한다. 이 default gateway는 인터넷 접속을 위한 것으로 보통 하나만 허용한다

3. Default gateway 설정

  • HQ의 Default gateway를 설정한다. 즉, 모르는 Ip는 모두 공유기로 보내는 것이다
  • BR에서는 HQ를 통해 인터넷에 접속해야하므로, HQ로 라우팅 경로를 설정한다
  • 라우터와 같이 패킷 처리 장비는 목적지 주소에 부합하는 네트워크 경로가 2개 이상일 경우에는 더 자세한 주소로 찾아간다. 따라서 현재, BR에 10.10.200.100으로 보낼때, 경로가 10.10.200.0/24와 0.0.0.0/0이 있다면, 두 가지 경로 다 부합하지만, 더 자세한 10.10.200.0/24를 선택한다 -> 이를 , longest match rules 라고 한다

4. HQ 인터넷 연결 & Domain 설정

  • HQ의 인터넷과 연결될 fa0/0의 Ip를 설정한다
  • 이렇게 ip add를 해주면 192.168.1.118과 서브넷 마스크를 and 연산하여 서브넷 네트워크인 192.168.1 대역에서의 통신이 따로 정적 라우팅 없이 가능하다
  • 허나 여기서, 외부 인터넷에 접속을 시도하면 아직 외부에 대한 Ip 주소를 라우팅하는 정보가 없기에 인터넷 접속이 안된다
  • 연결이 잘된다
  • domain-lookup은 do ping 사이트이름을 치면, 이 사이트 이름은 명령어가 아니므로 domain에 대해 위에 8.8.8.8에게 물어보라는 것이다

5. HQ 동적 PAT 설정

  • Private address는 access-list에서 관리한다. 이제 사설 주소를 list 1에 지정했다
  • 출발지 주소는 list 1 안에 있는 사설 Ip주소이며, 이 주소들을 fa0/0의 주소로 바꿔주며, fa0/0의 주소를 다수의 사설 Ip주소가 쓸 수 있게 overload로 설정한다
  • 이때, 내부에서 외부로 연결을 시도하면 출발지 Ip가 이 공인 Ip로 바뀐다. 이러면 우리가 위에서 설정한 0.0.0.0 에 대한 routing 경로를 사용해서 Gateway에 도달한다
  • 이제, inside와 outside를 지정하자. nat할때 들어오는 쪽은 지사와 본사의 컴터 쪽이고, 외부는 인터넷 쪽이다
  • 두 컴퓨터를 키고 console을 실행한다
  • 먼저, pc1에 Ip와 gateway를 입력한다
  • domain 주소를 입력하고, 시험해보면 연결이 잘 된다
  • BR쪽 컴퓨터도 인터넷 연결이 잘된다
  • HQ의 컴퓨터와 BR의 컴퓨터가 잘 연결됬다

6. Trouble Shooting

  • 문제점을 찾아 해결해 나가는 과정!!!

  • 이 과정은 가까운 쪽에서부터 점검해 나간다

  • 6.1 현재 본사와 지사의 PC는 라우팅을 통해 연결되있다

  • 이렇게 경로를 세분화하여 각 경로마다 ping을 확인해본다

  • 6.2 본사와 지사의 인터넷 연결은 HQ 라우터의 NAT를 통해 이루어진다

7. 시나리오 1

  • 현재, PUBLIC IP가 한 개다. 물론, 실무에서 이런 경우는 없지만, 현재 한 개이므로 외부에서 내부의 PC에 접속하려면 PORT를 지정해주거나 정적 NAT를 해줘야한다
  • 시나리오.

    우리회사는 웹서비스 제공을 위하여 공인주소를 구매하였다. 211.183.3.0/24를 사용할 수 있고, 라우터에 hq의 fa0/0에는 211.183.3.99을 할당한다. isp 주소는 211.183.3.2로 고정되어 있다. 나머지 주소는 내부에서 자유롭게 사용할 수 있는데, 이중, 211.183.3.100은 본사와 지사의 pc들이 동적 pat를 통하여 인터넷과 연결이 가능하도록 할 계획이고, 211.183.3.101은 본사 내부에 있는 웹서버 10.10.100.100과 1대1로 정적 NAT를 구성하여 웹서비스를 제공할 계획이다

  • CLOUD와 HQ의 연결을 끊고, CLOUD를 VMNET 10으로 지정한다
  • 연결을 시켰다. 이제 새 외부 Ip를 사용하므로, 모든 Ip설정을 바꿔야한다
  • Ip를 넣어준다. 이제 gateway와 통신해보자. 여기서 .1 , .2는 vmware에서 자동으로 지정해준다
  • do show run은 현재 실행중인 모든 프로그램, | 파이프로 옵션, in은 포함, 즉, 현재 실행중인 프로그램 정보중 ip route라는 단어를 포함하는 정보를 출력한다
  • 원래 인터넷 라우팅 경로를 삭제하고, 새 라우팅 경로를 지정한다. 이제 HQ에서 인터넷 연결이 가능하다
  • 원래 nat 설정도 삭제한다. 원래는 pc들에서 이제 인터넷 연결이 되면 안되지만, 현재 vmnet10이 nat라서 자동으로 nat가 되서 인터넷 연결이 된다. 그냥 안된다고 생각하자
  • 공인 Ip의 주소가 100~100까지이므로 211.183.3.100을 이름이 PRI인 pool에 담아준다
  • 사설 Ip와 공인 Ip 연결
  • 인터넷 연결시 공인 Ip 주소로 변경되서 나가는 것을 확인할 수 있다

8. 시나리오 2

  • AWS에서 서버를 생성하면 사설 주소가 할당되고, 자동으로 공인 주소를 부여해 준다. 하지만 이 공인 주소는 고정이 되지는 않는다 -> 동적 NAT

  • 여기서, Elastic Ip는 위와 같은 환경에서 공인 Ip 주소를 정적으로 사설 주소와 매핑해 주는 기능이다 -> 정적 NAT

    211.183.3.101은 본사 내부에 있는 웹서버 10.10.100.100과 1대1로 정적 NAT를 구성하여 웹서비스를 제공할 계획이다

  • AWS에서 해보기 전에 위 시나리오를 구현해보자

  • 정적 PAT에서는 PORT를 지정해주지만 지금은 정적 NAT이기에 Ip만 지정하면 된다

  • 매핑이 끝났다. 이제 외부에서 pc 1에 접속해보자

  • 잘 연결됬다. Frame들을 확인해보자

  • 주소가 잘 바뀐다. 이렇게 정적 NAT를 하면 정적 PAT를 하지 않아도, 외부에서 내부에 접근할 수 있다. 이러한 방식으로 Private Ip가 웹 서버와 같이 서비스를 제공할 수 있다. 웹 서버와 같은 서비스는 Public Ip가 고정되야하기 때문이다

profile
멋진 엔지니어가 될 때까지

0개의 댓글