sync86 블로그

[Linux] CentOS VLAN IP 할당하기 본문

인프라

[Linux] CentOS VLAN IP 할당하기

sync86 2024. 10. 26. 21:41
728x90

0. 들어가면서

PC에서 자료를 보다가 오래전에 시스템 엔지니어로 일할 때 시절에 개인적으로 만들었던 문서를 발견하게 되었다. 가끔씩 필요할 때마다 작성한 문서라 두서가 없는 것이 흠이긴 하지만, 이 문서들을 보면서 분명 이대로 묵혀두면 실수로라도 하드 디스크의 데이터를 날리면서 다 날릴 수 있을 것 같았다. 그래서 과거 오래전 내용이지만 보이는 문서는 이렇게 블로그에 남겨보기로 한다.


1. 준비

이 테스트를 하기 위해 총 3대의 VM이 필요하다. 첫번째 VM은 DHCP 서버로 각각의 VLAN(여기서는 VLAN 50과 60을 사용)에 IP를 서비스할 목적의 서버이고 나머지 VM들은 각각의 VLAN을 할당하여 DHCP 서버에서 IP를 할당 받는 서버이다. 즉 하나의 VM은 DHCP 서버이고, 나머지 두개의 VM은 DHCP 클라이언트이다.


1.1. DHCP 서버

DHCP 서버를 실행할 Virtual Machine Settings → 인터페이스 추가 (또는 인터페이스 수정) → VMnet2 (내부 네트워크)

<그림 1> VMware에서 첫번째 VM의 네트워크 설정 화면

  • VMnet1은 패키지 설치를 위해서 외부 인터넷과 연결된 인터페이스
  • VMnet2는 내부 네트워크에 연결된 호스트들에 IP를 할당할 용도로 사용됨 (DHCP 서비스를 제공할 용도)

1.2. DHCP 클라이언트 (VLAN 50)

DHCP 서버를 실행할 Virtual Machine Settings → 인터페이스 추가 (또는 인터페이스 수정) → VMnet2 (내부 네트워크)

<그림 2> VMware에서 두번째 VM의 네트워크 설정 화면

 

  • VMnet2는 내부 네트워크에 위치한 DHCP 서버에서 IP를 할당 받을 용도로 사용됨

1.3. DHCP 클라이언트 (VLAN 60)

DHCP 서버를 실행할 Virtual Machine Settings → 인터페이스 추가 (또는 인터페이스 수정) → VMnet2 (내부 네트워크)

<그림 3> VMware에서 세번째 VM의 네트워크 설정 화면

  • VMnet2는 내부 네트워크에 위치한 DHCP 서버에서 IP를 할당 받을 용도로 사용됨

1.4. 802.1Q 모듈 로딩

<그림 4> 802.1Q 커널 모듈 로딩

  • VLAN을 사용할 모든 호스트에 802.1Q 커널 모듈을 로딩

1.5. 네트워크 구성

테스트로 구성할 DHCP 네트워크 정보

VLAN CIDR GATEWAY RANGE
50 10.0.50.0/24 10.0.50.1
(ens36.50 인터페이스 IP)
10.0.50.10~254
60 10.0.60.0/24 10.0.60.1
(ens36.60 인터페이스 IP)
10.0.60.10~254
  • 10.0.50.1과 10.0.60.1은 모두 DHCP 서버에 장착된 인터페이스에 할당된 IP
  • 가상의 VLAN 인터페이스 각각 50, 60태그가 할당됨

1.6. DHCP 서버 설정 정보

1.6.1. DHCP 서버 네트워크 인터페이스 설정 정보

<그림 5> ifcfg-ens36.50과 ifcfg-ens36.60 인터페이스 설정 파일 확인

  • 서버는 필요한 인터페이스 설정 정보와 VLAN (50과 60) 설정 정보만 남기고 나머지 설정 파일들은 삭제를 권장함

<그림 6> DHCP 서버의 ifcfg-ens36.50 파일 본문
<그림 7> DHCP 서버의 ifcfg-ens36.60 파일 본문


1.6.2. VLAN 인터페이스 설정 확인 (VLAN 50과 60 둘다 확인)

<그림 8> ens36.50@ens36과 ens36.60@ens36 인터페이스 활성화 확인

  • # systemctl restart network.service 명령으로 네트워크 서비스 재시작 (또는 재부팅) 후 확인 가능

1.6.3. DHCP 서버 dhcpd.conf 설정

<그림 9> /etc/dhcp/dhcpd.conf 파일 본문


1.7. DHCP VLAN 50 호스트 설정 정보

1.7.1. 네트워크 인터페이스 설정

<그림 10> ifcfg-ens36.50 인터페이스 설정 파일 확인

  • 해당 호스트 서버는 해당 VLAN 설정(VLAN 50) 설정 정보만 남기고 나머지 설정 파일들은 삭제하거나 백업 후 삭제를 권장함

<그림 11> ifcfg-ens36.50 파일 본문

1.7.2. VLAN 인터페이스 설정 확인 (VLAN 50과 할당된 IP 확인)

<그림 12> ens36.50 인터페이스 활성화 확인

  • # systemctl restart network.service 명령으로 네트워크 서비스 재시작 (또는 재부팅) 후 확인 가능

1.8. DHCP VLAN 60 호스트 설정 정보

1.8.1. 네트워크 인터페이스 설정

<그림 13> ifcfg-ens36.60 인터페이스 설정 파일 확인

  • 해당 호스트 서버는 해당 VLAN 설정(VLAN 50) 설정 정보만 남기고 나머지 설정 파일들은 삭제하거나 백업 후 삭제를 권장함

<그림 14> ifcfg-ens36.60 파일 본문

1.8.2. VLAN 인터페이스 설정 확인 (VLAN 60 확인)

<그림 15> ens36.60 인터페이스 활성화 확인

  • # systemctl restart network.service 명령으로 네트워크 서비스 재시작 (또는 재부팅) 후 확인 가능

2. 테스트

2.1. VLAN 50 → 60 할당 테스트

1. ifcfg-ens36.60 인터페이스 추가

아래의 이미지를 확인하면 ifcfg-ens36.50는 10.0.50.10번으로 VLAN 50에서 지정된 IP를 할당 받았다. 여기서 인터페이스를 추가하여 VLAN 60에서 할당될 수 있는 10.0.60.x의 IP가 할당 가능한지 확인하기 위함이다.

<그림 16> vlan50이 할당된 호스트에서 ens36.50을 삭제

  • dhcp 서버로 IP를 할당 받게 되면 디폴트 게이트웨이가 2개의 경로가 생기는 문제가 발생함. 따라서 이번 테스트에서는 2개중 하나의 인터페이스만 활성화 하여 테스트 진행
  • 2개의 인터페이스를 동시에 사용하려면 두개의 인터페이스 중 하나를 static 설정으로 변경하거나, 멀티 게이트웨이 설정을 해야 함.

2. 네트워크 재시작 및 IP 할당 확인

<그림 17> vlan50이 할당된 호스트에서 ens36.50을 삭제 ens36.60 할당 확인

  • 네트워크 재시작을 하기 전에 이전에 할당된 VLAN 50을 삭제하는 작업이 필요할 수 있음. 삭제하지 않고 그냥 진행하면, 할당된 인터페이스가 유지됨.
  • 위 테스트 스크린샷에서 확인한 바와 같이 네트워크 재시작 후 VLAN 60에서 할당되어야 할 IP가 정상적으로 할당되는 것을 볼 수 있음.
728x90