카테고리 없음

alteon 5208 DSR cong

백봉 2024. 12. 19. 16:13

같은 VLAN 내에서 로드밸런싱을 프록시모드로 맞춰놓으니 

리얼서버에서 클라이언트 아이피를 구분을 못한다. 그래서 DSR로 변경하려고 한참을 헤맸는데 
아래 세팅으로 했더니 된다. 

세팅은 로드밸런서 보다는 윈도우 리얼서버의 설정에서 어려움이 많았다. 

 

VIP를 어떻게 핸들링하냐는 크게 두 가지 방법이있는듯한데 

 

1. 루프백 주소에 VIP 할당

2. 입력 포트에 포워딩

 

다음은 그 중 1번에 대한 설정이다.

 

먼저 프록시 설정으로 LB 되게끔 설정하고

 

윈도우 서버 cmd 설정

1. VIP를 테이블에서 지워준다. 

arp -d <VIP>

2. LB VIP가 연결된 인터페이스를 찾는다. 

netsh interface ipv4 show interfaces

3. 찾은 인터페이스에서 VIP에 대한 ARP 응답을 차단한다. 

netsh interface ipv4 set neighbors interface="<인터페이스이름>" address=<VIP> neighbor="00-00-00-00-00-00"

설정 확인방법

netsh interface ipv4 show neighbors 후

VIP가 물린 인터페이스에서 VIP가 있고, VIP의 맥이 00-00-00-00-00-00이면 된다. 

4. 찾은 인터페이스에서 weakhostreceive를 설정한다

netsh interface ipv4 set interface "<인터페이스이름>" weakhostreceive=enabled

5. win+R -> hdwwiz.exe 로 루프백 어댑터를 설치한다. (설치방법은 웹 참조)

6. 루프백 어댑터 이름을 loopback으로 변경한다. (선택)

7. 루프백 어댑터 주소를 VIP/32로 변경한다. (win+R -> ncpa.cpl)

8. 루프백 인터페이스에 대해 weakhostreceive, send를 설정한다. 

netsh interface ipv4 set interface "loopback" weakhostreceive=enabled

netsh interface ipv4 set interface "loopback" weakhostsend=enabled

 

로드밸런서에서 (4번 가상서버, 9220 서비스 가정)

1. 해당 가상 서버의 서비스에 들어가서 ProxyIP(클라이언트NAT 모드)를 비활성화 한다. 

 /cfg/slb/virt 4/service 9220/pip/mode d

2. 직접서버리턴 기능을 활성화한다. 

 /cfg/slb/virt 4/service 9220/nonat e

3-1. 핑 검사를 icmp로 바꿔서 down으로 보이지 않게 한다. (HA 미설정의경우)

3-2. 핑 검사를 ip+port 로 리얼서버마다 지정해서 판별하게 한다.(HA 설정의 경우)

3-3. 그런데 보통 그룹에 DSR VIP 헬스체크가 ena이므로 그냥 될듯

 

라우터에서

VIP로 들어가는 트래픽에 대해서 SNAT 하던것을 해제한다. 

 

주의사항1

윈도우에서 루프백 주소 지정할 때에 원하는 ip로 지정이 잘 안되고 169.254.~로 지정이 되는 경우가 있다. 이럴 때 

파워쉘에서 해당 아이피로 시작하는 인터페이스를 찾는다.

Get-NetIPAddress -IPAddress 169.254.* | Format-Table InterfaceAlias,IPAddress

싹 지워버린다. 

Get-NetIPAddress -IPAddress 169.254.* | Remove-NetIPAddress

사용하지않는 인터페이스는 사용안함으로 설정해놓는다.

 

주의사항 2

그래도안된다. 

대게는 주의사항 1에서 해결이 되는데 희안하게 안된다. 

아래 링크를 따라 넷쉴로 전부 초기화시킨후에 인터페이스를 전부 다시잡으니 해결이 됏다. 

https://support.microsoft.com/ko-kr/topic/netshell-%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0%EB%A5%BC-%EC%82%AC%EC%9A%A9-%ED%95%98-%EC%97%AC-tcp-ip%EB%A5%BC-%EB%8B%A4%EC%8B%9C-%EC%84%A4%EC%A0%95-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-d954430c-9b11-43f0-6081-0fc9235a8b4a

 

NetShell 유틸리티를 사용 하 여 TCP/IP를 다시 설정 하는 방법 - Microsoft 지원

다음은 IP 재설정 명령은 netsh 에 의해 생성 되는 로그 파일의 샘플을 실행 합니다. 실제 로그 파일은 컴퓨터의 구성에 따라 달라질 수 있습니다. TCP/IP 레지스트리 키가 원래 구성에서 바뀌지 않

support.microsoft.com

 

 

 

요약 (vip 가 192.168.100.100이라고 가정)

1. win+R -> hdwwiz.exe 네트워크-> microsoft 루프백 어댑터 설치

2. 루프백 어댑터의 주소 192.168.100.100/32 를 설정

3. arp -d 192.168.100.100
4. netsh interface ipv4 set neighbors interface="Embedded FlexibleLOM 1 Port 4" address=192.168.100.100 neighbor="00-00-00-00-00-00"
netsh interface ipv4 show neighbors
5. netsh interface ipv4 set interface "Embedded FlexibleLOM 1 Port 4" weakhostreceive=enabled
6. netsh interface ipv4 set interface "loopback" weakhostreceive=enabled
7. netsh interface ipv4 set interface "loopback" weakhostsend=enabled