Configuring Microsoft Windows Server 2012 to provide DHCP services in an eVPN Scenario (VXLAN, Cisco One Fabric, etc)
Since the introduction of Virtual Extensible LAN (VXLAN) and Cisco One Fabric (formerly Dynamic Fabric Automation (DFA)) providing DHCP services has begun
www.cisco.com
시나리오
1. 하나의 네트워크 대역(VLAN도 한 개)에 DHCP 서버를 두고 범위(scope)를 할당
2. 여러 개의 네트워크 대역(VLAN 여러개)을 같은 네트워크(동일한 L3) 구간 내에 존재하는 DHCP서버를 통해 DHCP주소 할당하기
3. 한 개의 네트워크대역을 다른 네트워크 대역에 있는 DHCP 서버를 통해 DHCP 주소 할당하기
4. 여러 개의 네트워크 대역(VLAN 여러개)에 다른 네트워크 대역에 있는 DHCP서버를 통해 DHCP 주소 할당하기
[경험으로 얻어진 필수 상식]
1. 1개의 범위 할당시, DHCP서버는 (1) 같은 VLAN대역에 있어야하고, (2) 해당 범위 내의 IP주소를 보유하고 있어야 클라이언트들이 DHCP를 정상적으로 받아간다.
2. 2개 이상의 범위 할당을 하려고 DHCP서버에 범위를 2개 이상 설정해놓아도, DHCP서버와 다른 VLAN을 가진 애들은 DHCP서버로부터 DHCP 주소를 받아가지 못한다.
3. 이 경우 같은 네트워크 (L3) 내 다른 VLAN을 가진 클라이언트들이 DHCP 주소를 받아가려면 스위치의 VLAN 설정에서 DHCP Relay설정을 해주어야 정상적으로 IP를 받아갈 수 있다.
[추가적으로 경험한 내용]
4. 이젠 다른 네트워크 대역에 존재하는, 즉 라우터 밖으로 나갔다 와야하는 경우, 타 라우터 장비에 존재하는 DHCP서버에서 IP주소를 받아가려면 DHCP Relay설정만으로는 부족하다.
문제를 해결하기위해 Wireshark로 패킷을 까보았다. 목적지 서버까지는 DHCP Discover가 도달하지만, 서버가 보내는 DHCP Offer를 클라이언트쪽으로 스위치가 전달해주지 못한다. 출발지 IP가 상대 네트워크의 Gateway IP로 세팅이 되어있다보니 회신하는 과정에서 패킷이 클라이언트쪽으로 도달하지 못한다. (네트워크 전문가가 아니어서 원인은 잘 모른다)
5. 그래서 Loopback IP를 스위치에 설정해주었다.
어떤 약속된 IP자원을 소모해서 루프백 IP 하나를 스위치에 할당하고, 이제는 그 IP 가 서로 다른 네트워크 장비 간의 통신을 중개해주는 가교 역할을 하는 것이다.
6. 하지만 이 설정만으로 서버에서 만든 DHCP Offer가 클라이언트 PC까지는 전달되었는데, 서버는 최종적으로 ACK까 아닌 NAK를 보내게 된다. 원인은 나도 모르지만 Wireshark로 패킷을 까보면 Discover가 1초에 백개 이상 발생하며, DHCP서버 입장에서는 중복된 요청이 들어오므로 NAK를 뿌리는 것이었다. 해결방법을 찾기 위해 한참을 헤맸다. 결론은 DHCP서버 설정에도 Loopback IP 대역을 할당하는 작업을 해주어야 한다.(자세한 방법은 참고 링크를 보면서 따라 하면 된다.)
7. 그런데 Loopback설정만으로 두 개 이상의 VLAN 대역을 Relay하지 못했다. VLAN1에는 192.168.1.0/24를 할당하고 VLAN2에는 192.168.2.0/24를 할당했다고 하자. VLAN2에서 DHCP를 할당하는데 192.168.1.0대역을 가져가는 것이었다. 그래서 통신이 되지 않았다. 그 원인은 각각의 VLAN은 각각의 Loopback이 필요하기 때문에 Loopback을 VLAN 개수만큼 만들어 스위치에도 넣어주고, DHCP서버에도 만들어야 했다.
8. 마지막으로 IP 할당받을 대역1과 Loopback IP대역 1을 대범위(Superscope)로 묶어 주어야 했다. 각각의 대범위를 만들지 않으면 DHCP를 못가져감을 테스트를 통해 확인했다.
9. Option82라고 해서 스위치의 인증값을 DHCP서버 정책에 넣는 방법(링크참조)에 나와있지만, 운영 환경에서는 그 설정 없이도 잘 DHCP를 가져감을 확인하였다.
10. [번외] Windows DHCP서버2대를 failover 구성하고 C클래스 대역을 범위로 설정하면, 앞의서버는 대략 11~120의 IP 중 앞번호부터 할당하여 대략 11~30번대를 받아갔고 뒤의 서버는 130~250의 IP중 130~150 번대를 받아갔다. 또한 비활성화를 해두어도 주소 임대 현황은 서로 동기화가 되었다.
[결론]
1. 라우터->라우터 이동시 DHCP Relay설정뿐 아니라 Loopback IP 설정이 반드시 필요함.
2. VLAN이 두 개 이상일 경우, 각각의 VLAN에 대해 Loopback IP가 필요하고, 서버 DHCP에 Loopback IP값을 입력하려면 Loopback IP대역으로의 입력이 필요함.(그리고 Loopback IP끼리는 네트워크 범위가 겹치면 안됨)
구성 해보니 Loopback IP 대역은 서브넷 30비트가 제일 좋았음.
예를들어 두 개의 VLAN이 필요한 경우, Loopback은
192.168.100.12/30 , 192.168.100.16/30
으로 설정 해놓고
루프백 IP를
192.168.100.13-14
192.168.100.17-18
이렇게 스위치에 할당하면 문제가 없음.
'OS > Windows' 카테고리의 다른 글
[BATCH] 특정 프로세스가 실행되는지 여부로 스크립트 조건문 분기 (0) | 2019.11.15 |
---|---|
Windows 10에서 Adobe Flash Player 업데이트 (0) | 2019.05.23 |
HKEY_USERS와 Task Scheduler 2 - GPO로 적용하기 (0) | 2019.05.23 |
HKEY_USERS와 Task Scheduler (0) | 2019.05.23 |
집구석 Win10 재설치 개삽질기 (0) | 2019.05.09 |