0부터 시작하는 가상머신과 네트워크 공부 - VLAN

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

0. 들어가기 전에 IP 와 SUBNET 복습

  • Ip : Internetworking (상호통신)을 할때 필요한 Protocol(통신규약)인 Internet Protocol이다

  • Ipv4와 Ipv6 : Ipv4 환경에서 Tunneling을 통해 v6끼리 통신이 가능하다. 실질적으로는 v6 패킷 앞에 인터넷이 v4 환경이므로 v4 Header를 붙여서 v4 환경을 가로지를수 있게 하는 것이다

  • Ipv4 : v4는 4개의 옥텟으로 되어있으며 32bit이다. 주소의 범위는 0.0.0.0 ~ 255.255.255.255이다

    • Ipv4 Class
    1. A : 첫번째 옥텟이 1~127, 이며 default subnetmask가 255.0.0.0
    2. B : 첫번째 옥텟이 128~191, 이며 default subnetmask가 255.255.0.0
    3. C : 첫번째 옥텟이 192~223, 이며 default subnetmask가 255.255.255.0
  • classful vs classless

    • classful : 모든 네트워크 주소에 대해서 3개로 구분한다. 즉, /8, /16, /24만이 존재한다
    • classless : 정해진 경계가 없다
    • 위 그림처럼 10.10.1.1/24, 10.10.2.0/24은 A class으로 /8에서 서브넷팅이 된 주소다. 이를 다른 라우터에서 주소에 대해 정보를 가져올때, 상세 정보로 10.10.1.0/24, 10.10.2.0/24가 그대로 넘어오면 classless, 이 두가지의 class인 A class에 해당하는 10.0.0.0/8 주소 하나만 넘어가면 classful이다. classful은 각 class별로 /8,/16/24만 허용하기에 A class는 /8이미로 1.0/24, 2.0/24라는 주소를 허용하지 않기 때문이다. classful은 여러 문제로 인해 잘 사용하지 않는다
  • 서브네팅 : 원래의 네트워크 범위를 필요한 만큼 동일한 크기의 작은 네트워크로 나누는 작업. 이로서 Ip의 낭비를 줄일 수 있으며, 불필요한 브로드캐스트의 범위를 줄일 수 있다

    • subnetmask인 /n에서 '/'은 prefix-length이며, 이는 네트워크 비트 개수를 나타낸다
    • 사용할 수 있는 Host 주소의 수는 Host bit개수를 n이라고 할때 2의 n승 - 2 ( 네트워크 주소, 브로드캐스트 주소)이다
    • 서브넷 길이는 균등하게 나누어진다. 허나, 이 서브넷 길이는 Variable Length Subnet Mask를 통해 필요한 만큼 다르게 나눌 수 있다
    • vpc에서 기본 제공되는 3가지 서브넷 Ip외에 남아있는 공간이 존재한다

  • 보통 서버, DB, STORAGE로 구성되며, STORAGE에 Volumn을 만들어 서버와 연결해서 사용한다
  • AWS와 같이 아래 OS나 물리자원에 대한 부분을 신경 쓰지 않고, 서비스만 제공해주는 것을 '완전관리형 서비스'라고 한다

  • DB ZONE과 같은 외부( untrusted zone )에서 접속을 허가하면 안되는 곳은 NAT를 사용하지 않는다. 이를 위해 서버 ZONE과 DB ZONE 사이에 라우터나 방화벽, 보안 정책을 통해 제어할 수 있다. WEB 서버는 NAT를 통해 외부( untrusted zone )접속이 가능하게 하며, DB ZONE은 NAT를 사용하지 않으며, 외부 접속을 막는다. 또한 SERVER ZONE과 DB ZONE은 직접 통신이 아닌, 라우터를 거쳐 통신하게 한다

1. VLAN ( Virtual Local Area Network )

  • LAN은 공통된 목적을 가진 집단이 한 곳에 모여있는 것이다. 허나, 이 공통된 목적을 가진 집단이 먼 거리에 나누어져 있으면, ISP를 통해 LAN과 LAN을 엮어 WAN을 형성한다. 이때, 이 LAN을 가상화한 것이 VLAN이다
  • Vlan 이란 Virtual Local Area Network 의 약자로 물리적 배치와 상관없이 논리적으로 LAN을 구성할 수 있는 기술로 L2 SWITCH에서 제공되는 가상의 LAN을 구성하는 기능을 제공한다

  • VLAN은 L2( 데이터링크, FRAME, MAC ) 구간에서 동작하는 논리적인 네트워크다. 하나의 물리적인 네트워크에 있는 VLAN과 다른 물리적인 네트워크에 있는 VLAN은 서로 관계가 없다
  • 이는 라우터에서 L2 HEADER를 분리하므로, 해당 VLAN이 다른 네트워크의 VLAN과 어떤 관계인지 알 수 없기 때문이다
  • VLAN을 사용시 FRAME HEADER에 MAC 뒤에 TAG로 VLAN ID를 넣을 수 있다
  • CLOUD에서는 VXLAN을 사용하여, 터널링을 통해 서로 다른 네트워크의 VXLAN끼리 통신하게 할 수 있다
  • 스위치에서는 하나의 인터페이스가 하나의 네트워크가 아닌 라우터와 연결된 스위치 전체가 하나의 네트워크인데, 이를 VLAN을 통해 서로 고립된 독립적인 하나의 네트워크를 구성할 수 있다

    • Router - 1 interface - 1 network - 1 Broadcast Domain
    • Switch - 1 vlan - 1 network(subnet) - 1 Broadcast Domain
  • 여러개의 VLAN을 만들어 사용할 수 있으며, 하나의 스위치에 여러개의 네트워크가 동시에 존재할 수 있다

  • 스위치는 VLAN을 통해 네트워크를 논리적으로 구분할 수 있지만, 서로 다른 VLAN 끼리 직접 통신이 되도록 할 수는 없다. 이때는 서로 다른 패킷에 대한 해석이 가능한 라우터 기능( 라우팅 )이 필요하다

  • 스위치에서는 VLAN이라는 개념을 인지못하며, VLAN을 직접 연결된 것으로 인지한다. 즉, VLAN이 두 개가 있다면, 하나의 스위치가 두 개의 스위치로 나눠진 것으로 인지한다

2. VLAN을 사용하는 이유

  • 하나의 네트워크를 사용하게 되면 불필요한 브로드캐스트가 확산 될 수 있으며, 보안상 결함이 발생한다. 이때, VLAN을 사용하면 해결 가능하다
    1. 필요한 만큼 논리적으로 네트워크 구분하므로, ARP PROTOCAL과 같은 BROADCAST PROTOCAL시 불필요한 트래픽을 줄일 수 있으며, 불필요한 정보 공유를 막을수 있다
    2. 논리적이므로 필요에 따라 VLAN에 포함되었다가 VLAN을 바꿔서 다른 해당 네트워크로 옮길 수 있는 유연성을 지닌다
    3. 물리적으로 떨어진 장비들을 논리적으로 묶을 수 있으며, 물리적으로 같이 있는 장비들을 논리적으로 격리시킬수 있다

3. VLAN ID

  • VLAN은 스위치 안의 독립된 방과 같으며, 이 방의 번호는 VLAN ID이다. 스위치에서는 L2에서 동작하기에 IP는 판단하지 않으며, VLAN을 보고 서로 다른 네트워크라고 판단한다
  • 스위치에 연결된 모든 인터페이스는 기본적으로 VLAN 1에 포함된다. 이 VLAN 1에 대해서는 모든 회사의 스위치가 다 똑같다
  • 필요시 추가적인 VLAN을 생성할 수 있으며, VLAN은 12BIT를 활용하여 VLAN ID를 부여할 수 있다. 이 ID는 0~4095까지 가능하다
  • vlan id는 frame에 tag로 표시된다
  • VLAN을 디자인하는 2가지 방법

    1. END TO END VLAN : 물리적으로 떨어져 있는 구간을 하나의 VLAN으로 연결하는 방법으로, 보통 각 층에 있는 동일 업무를 하는 사람들의 PC를 그룹화 하는 것
    2. LOCAL VLAN : 한 지역에 있는 PC들을 하나의 VLAN으로 그룹화 하는 것. 주로 LOCAL VLAN을 사용한다

4. VLAN 실습

  • 두 가지 라우터를 그룹으로 설정한다. NM-16ESW는 16개의 PORT가 존재하는 스위치 모듈이다
  • 모양을 바꿔준다
  • 이제 연결을 해주는데, 0번 모듈을 사용하면 안된다. 이는 라우터 모듈이므로, 이번 실습에서는 스위치를 사용해야되기에 1번 모듈만 사용한다
  • vlan 설정을 위해 vlan database에 접속
  • Vlan을 생성하면 자동으로 이름이 부여된다. 예를 들어 vlan10을 생성하면 vlan0010처럼 자동으로 생성되며, 이는 위와 같이 생성될때 임의로 바꿀 수 있다. vlan 10,20을 생성하며, 생성과 동시에 이름을 바꾼다
  • exit를 통해 빠져나오면 적용이 된다
  • 스위치 ( sw )의 vlan 정보를 br ( 간단하게 )로 출력한다. 위 사진을 보면, 앞서 말했듯이 모든 포트는 default로 vlan 1에 포함되어있다. 우리는 이를 새로 생성한 vlan에 넣어줘야한다
  • 설정에 들어가서, 포트 1/1과 1/2를 vlan 10에 넣어준다
  • 여기서 sw mode access란 아래에서도 말하겠지만, 'ACCESS PORT'는 주로 PC, 프린터, 서버와 같은 END-DEVICE가 연결된 곳에 설정하는 것으로, 현재 스위치에 vpcs를 연결해야하므로 해당 port를 accesc port로 설정한 것이다
  • 마찬가지로 fa1/3은 vlan 20에 넣어주며, 만약 잘못 설정했을시, 다시 설정하면 설정이 덮어씌워진다
  • 확인해보면 잘 설정됬다
  • sw2에 연결된 vpcs들에 ip를 넣어준다
  • 각 ip만 놓고 보면 같은 네트워크 대역이지만, sw에서는 이 ip를 구분할 수 없다. sw에서는 vlan만을 보고, 구분하므로 pc3 , pc4는 pc5랑 통신이 불가능하다
  • arp를 확인해보면 통신이 가능한 pc에 대해서만 mac 주소가 있다. 그러면 이 pc5를 pc3 , pc4랑 통신이 가능하게 할려면, pc5를 vlan 10으로 옮기면 된다
  • vlan 10으로 옮겨주자
  • 통신이 된다
  • 그러면 위에서 sw access는 무슨 의미일까?

5. SWITCH의 PORT

  • 'ACCESS PORT'는 주로 PC, 프린터, 서버와 같은 END-DEVICE가 연결된 곳에 설정

  • 두 스위치를 연결했을때, 이 연결된 PORT는 기본적으로 VLAN 1이다. 그러므로 이를 통해서 다른 VLAN이 통신이 안된다. 이를 해결하기 위해 각 VLAN마다 따로 연결해준다. 허나, 이 방법은 포트 낭비가 심하다
    • 따로 연결하는 것이 아닌, 물리적인 INTERFACE를 논리적인 INTERFACE로 나누어 한 개의 포트로 모든 VLAN이 지나갈 수 있게 한다. 이를 'TRUNK PORT'라고 한다. 이는 주로, 스위치와 스위치 사이에 연결할 떄 사용한다

  • 우리는 위에서 SWITCH에 PC를 연결한 것이므로, PORT의 MODE를 ACCESS로 설정해서 ACCESS PORT로 설정한 것이다

6. Trunk Port 실습

  • sw1과 연결된 1/10 포트에 들어가서 sw mode를 trunk로 설정해준다
  • sw1에 vlan 2개를 생성해서 적용하고, sw2와 연결된 1/10 포트를 trunk로 설정한다
  • 1/1 port를 vlan 10으로 설정한다
  • sw2의 같은 vlan 대역의 vpcs와 통신이 잘 된다
  • 동일한 sw의 동일 vlan 대역 vpcs끼리 통신시 기존 frame을 사용해도 문제 없지만, 다른 sw의 동일 vlan 대역 vpcs끼리 통신시 기존 frame을 사용하면 문제가 있다
  • 다른 sw의 동일 vlan 통신시 frame에 vlan에 대한 정보가 들어간다
  • 위와 같이 12자리로 vlan id를 표시한다
  • 이처럼 trunk port는 기본적으로 모든 vlan 통신이 가능한 인터페이스이고, 해당 trunk port를 지날 때에는 frame에 vlan id를 태깅하여 넘겨준다
    • 즉 sw에서 sw로 넘어갈때 eth와 ip 사이에 vlan을 넣어주어 frame을 재조합하고, sw에 도착하면, vlan을 확인하고 이를 제거하여 다시 원래 frame으로 재조합하여 최종 목적지에 넘겨준다. 이 방법은 IEEE 802.1q에서 지정한 방법이다. 이를 통해 물리적으로 떨어져 있는 end-device들 끼리도 정상적으로 통신이 가능하게 되는 것이다

7. Vxlan

  • L3 네트워크 기반으로 L2 연결을 확장하기 위해 터널링을 사용하여 데이터센터 연결을 제공하는 캡슐화 프로토콜입니다
  • 물리적으로 멀리 떨어진 두 가지 사설 네트워크가 있을때, Vxlan을 사용하면 VNI가 동일한 네트워크는 서로 연결이 가능하다. Vxlan을 통해 OVERLAY NETWORK를 만들어 가상 네트워크를 활성화 할 수 있다
profile
멋진 엔지니어가 될 때까지

0개의 댓글