0부터 시작하는 가상머신과 네트워크 공부 - 라우팅 & DHCP 구현 & CLOUD NETWORK

Jaehong Lee·2022년 7월 8일
1
post-thumbnail

1. 라우팅 실습

  • 라우터란?

    • L3에서 동작하는 장치이고 Packet을 처리할 수 있다
    • Packet Header에는 출발지와 목적지의 IP주소가 있으며 라우터는 목적지의 주소를 자신의 라우팅 테이블에 적용하여 가고자하는 경로를 선택하고 해당 경로의 방향으로 Packet을 포워딩해준다
    • IP주소는 출발지에서부터 목적지까지 변경되지 않으므로, 라우터는 결국 서로 다른 네트워크에 대한 연결이 가능하게된다
  • 라우터로 유입된 패킷은 아래의 과정을 거친다

    1. ACL : 이름이나 번호를 이용하여 정책을 만들고, 만들어진 정책에 기반하여 패킷을 필터링, 분류한다. 필터링은 트래픽을 제어하는 것으로 ACL은 방화벽의 역활을 한다. 이 과정에서 Packet은 permit이나 Deny된다
      ( AWS에서 보안 그룹은 인스턴스에 적용되며, 허용규칙만 지원하고, 특정 그룹을 지정시에만 인스턴스에 적용된다. ACL은 서브넷에 적용되며, DENY, PERMIT 규칙이 지원되고, 규모는 서브넷 내의 모든 인스턴스에 적용하므로 ACL이 훨씬 크다 )
    2. NAT : 주소변환을 하거나 안할 수 있다
    3. Routing : Path selection, Packet Forwarding based on Routing Table
  • 라우터는 기본적으로 자신에게 직접 연결된 네트워크에 대해서는 도달이 가능하지만, 떨어져 있는 네트워크에 대해서는 통신이 불가능하다. 이를 해결하기 위해 필요한 것이 라우팅이다

  • 라우팅은 정적 라우팅, 동적 라우팅으로 구분된다. 동적 라우팅은 동적 라우팅 프로토콜이 필요하다

  • 라우팅은 GNS3 CONSOLE에서 ip route 목적지 주소 서브넷마스크 nex-hop ip 주소로 작성한다

    • 서브넷 마스크를 255.255.255.255로 하면 Ip를 하나의 네트워크로 한다는 것이며, 해당 Ip로만 접근하게 하는 것이다
  • Ip가 0.0.0.0 이고, 서브넷 마스크가 0.0.0.0는 default route로 모든 Ip를 말하는 것이며, 이 default route는 edge route에 설정한다

  • 이더넷과 연결된 fa0/0에 Ip를 설정한다
  • 인터넷 연결을 위한 default gateway 작성
  • HQ에서 160으로 가는 경로를 정적 라우팅으로 설정해준다. 194로 가면 해당 라우터에 160이 연결되있으므로 해당 라우터에서 라우팅을 통해 경로를 처리해준다
  • BR1에서는 DEV와 OPS, 인터넷의 경로를 모르지만, 이를 전부 정적 라우팅해줄 필요없이 DEFAULT ROUTE를 통해 193으로 건네주면, 해당 라우터가 3곳 다 연결되있으므로, 해당 라우터에서 경로를 처리해준다
  • 본사와 지사는 통신이 가능하지만, 아직 NAT를 구성 안해주었기에 인터넷 연결은 안된다

2. HQ 라우터에서 DHCP 서버 구성하기

  • 동적 Ip 할당을 할때 사용하는 Protocal
  • 우리는 DHCP 서버를 통해 HQ 및 BR의 컴퓨터들에 Ip를 할당해줄 것이다
  • 시나리오

    • 우리 회사는 HQ에서 DHCP 서비스를 제공한다
    • HQ는 모든 부서에 동적으로 IP 부여한다
    • IP 부여시 해당 네트워크 전체에서 주소를 부여하고, 주소와 함께 서브넷 마스크, 게이트 웨이, DNS( 8.8.8.8 ), 임대기간( 2HOUR )를 부여할 것 이다

  • Dhcp pool을 만든다
  • IP를 해당 범위에서 준다고 설정한다
  • default gateway 설정
  • dns 서버 Ip주소 설정
  • 앞에 0은 DAY, 뒤에 2는 HOUR이다
  • OPS와 SALES 팀에 대한 DHCP 서버도 구성한다
    • 하나의 DHCP 서버를 구성할려면, IP 대역/ 서브넷 마스크/ DEFAULT GATEWAY/ DNS 서버 주소/ LEASE TIME 을 설정해줘야 한다

  • vpcs 3개 추가하여 각각 스위치에 연결한다
  • 해당 부분에 start capture를 해서 wire shart를 키고 vpcs 1을 키고 console을 켜준다
  • DDORA는 DISCOVER - DISCOVER( 한번에 안되서 한번 더 )- OFFER - REPLY - ACK가 진행된거다
  • FRAME을 열어보면 LEASE TIME을 확인할 수 있다
  • vpcs 2도 dhcp로 ip를 추가하여 ping을 시험해본다

3. RELAY ( DHCP Relay Agent )

  • 허나, Br1의 vpcs는 dhcp protocal이 작동을 안한다
  • 그 이유는 해당 vpcs가 브로드 캐스트로 요청한 메세지가 Dhcp 서버까지 넘어가지 못하기 때문이다
  • 일반적으로 DHCP 메시지는 브로드캐스팅되기 때문에 단말과 DHCP 서버는 반드시 동일 서브넷 상에 위치해야 한다
    • DHCP 클라이언트는 DISCOVER MESSAGE를 발생시키는데, 255.255.255.255로 Ipv4의 브로드 캐스트 주소이다.
    • 라우터는 이러한 브로드 캐스트 주소를 다른 네트워크로 전달하지 않는다. 만약 라우터에서 이 브로드 캐스트 주소를 다른 네트워크로 전송한다면, 모든 사설 주소에게까지 퍼지기 때문이다. 즉, 라우터는 L3 브로드 캐스트를 다른 네트워크로 넘어가지 않도록 차단시킨다. 따라서 다른 네트워크에 있는 DHCP 서버로 DISCOVER 메시지가 전달되지 않아 IP 주소를 할당 받을 수 없게 된다
    • 이를 해결하는 방법이 relay다. 이 relay는 해당 네트워크 라우터에서 DHCP 서버로 넘어가 대신 Data를 받아와준다

  • DHCP 서버에서 Ip를 할당받을 vpcs의 네트워크 대역에 해당하는 라우터의 interface에 helper-address를 설정하여 relay를 생성한다. 그러면 vpcs에서 dhcp 서버에 브로드 캐스트로 메시지를 보내면, 이 relay가 대신 가서 받아와준다
  • 이제 DHCP 서버에서 할당을 받을 수 있다.
  • 본사 PC와 통신이 잘 된다
  • 이렇게 RELAY를 사용하면 서로 다른 서브넷에 위치하는 단말과 DHCP 서버간에도 DHCP 메시지 통신이 가능하다

4. CLOUD에서 필요한 네트워크

  • REGION : ZONE을 모은 것이 REGION
  • ZONE : 물리적인 DATA CENTER
  • WEB, WAS, DB를 하나로 묶어 하나의 ZONE에 저장하며, 다른 DB 하나는 다른 ZONE에 저장한다, 이 DB는 백업용도이며 ZONE의 DB와 다른 ZONE의 DB는 서로 SYNC하여 동일한 DATA를 유지한다
    • SYNC는 추가된 것에 대해 동일하게 만들어 주는 것이고, COPY는 전체를 복사하는 것
  • WAS는 각 DB에 연결 통로를 두는데, 같은 ZONE의 DB로의 경로는 ACTIVE 상태로, 다른 ZONE의 DB로의 경로는 STAND BY 상태로 둔다. 즉, 같은 ZONE의 DB에 문제가 생기면 STAND BY 상태의 경로를 ACTIVE로 하여 다른 ZONE의 DB와 통신한다
  • CLOUD는 물리 자원을 pool로 공유한다 -> Clustering
  • 즉, 분리된 서버들의 자원들이 합쳐진다
  • 이때, 같은 네트워크 대역을 가진 네트워크 자원들도 합쳐져서 물리적으로 떨어져 있어도, 하나의 네트워크가 되는데, 이를 overlay network라고 한다. 이 overlay network가 가능하려면 물리적으로 떨어져있는 네트워크 대역들이 같아야한다. 이 overlay network 실질적으로 underlay에서 터널링이 필요하다. 이는 서로 다른 네트워크를 합쳐서 통신하기에 중간에 라우팅이 발생하여 성능 저하가 발생할 수 있다
    • GRE
    • VxLAN
  • 이 터널링을 통해 VM을 실행중인 환경에서 옮길 수 있다
profile
멋진 엔지니어가 될 때까지

0개의 댓글