VIP TELNET / 같은 네트워크 대역 L4 스위치의 VIP 통신 방법

2020. 12. 11. 13:51etc/etc

같은 네트워크 대역에서 client 가 L4로 구성된 VIP로 접속 시 접속이 안되고 , VIP 의 real server로는 접속이 되는 문제에 대해서 알아보자.

 

아래 그림은 client인 A1 에서 VIP인 10.30.60.10 으로 접속시 접속이 안되나 , real server 인 R1 과  R2 로 telnet 접속을 하면 접속이 된다.

 

같은네트워크 대역(모두 10.30.60.x) 을 사용하고 있고 같은 vlan 대역인 상황이다.

왜 vip로는 접속이 안되고 real server 로는 접속이되는걸까?

 


A1(client)에서 R1 또는 R2 로 telnet 접속시 아래 그림처럼(빨간색 화살표) 정상적으로 접속이 된다.

왜냐면, 같은 네트워크 대역이고 L2 스위치에 있기 때문에 L2 스위치 mac table 에 A1(client) 와 R1,R2의 mac 주소가 있기때문이다.  L2 스위치의 통신은 MAC 통신이기때문에 MAC 주소만 있으면 통신이 되기 때문이다.

 

결론부터 말하면 A1(client)은 request 한것에 대한 response만 받는다. 당연한 말이다. 하지만 VIP로 telnet

접속이 안되는 이유는 A1(client)은 request 한 대상인 VIP인 L4 로부터 response 가 아닌  R1 으로부터 response가 오기때문에 drop 시켜버린다.

 

(1). A1(client)은 VIP(10.30.60.10)으로 접속요청을 한다. (정상)

 

(2). 요청을 받은 L4는 VIP 에 대한 real 서버(여기서는 R1로 가정)로  아래와 같이 정보가 변경되어

      전달됩니다. (정상)

      ( SIP:10.30.60.100 , SMAC:B , DIP:10.30.60.11 , DMAC:C )

 

(3). 요청을 받은 R1 서버는 아래와 같이 정보를 변경하여 전달합니다.(정상)

      ( SIP:10.30.60.11, SMAC:C , DIP:10.30.60.100, DMAC:A)

 

(4). 중간에 L2 스위치가 있으므로 L4로 안가고 , A1(client)은 R1으로부터

      response를 받습니다. (이상!!!!!)

  

     * 자 , 문제는 여기서 발생합니다. A1 은 VIP로 요청을 보냈는데 , 뜬금없이 R1로부터

       response 를 받습니다. A1은 이 패킷을 Drop 시킵니다. 그래서 통신이 안되는 겁니다.

 
 

VIP로부터 response 없음



 

그럼 VIP로부터 response 를 받으려면 어떻게 해야 할까? L4 스위치에서 NAT를 걸어주면 된다.




L4 스위치에 NAT를 걸어주면 A1-->L2-->L4-->L2-->R1-->L2-->L4-->L2-->A1 순서로 되기때문에


A1(client)은 Request를 처음 보낸 L4로부터 Response를 받기 때문에 정상적으로 VIP와 통신이 된다.

 

그럼 L4스위치에서 NAT 를 걸어주면 어떤 순서로 진행되는지 보자.

 

(1). A1(client)은 VIP(10.30.60.10)으로 접속요청을 한다.

 

(2). 요청을 받은 L4는 NAT를 적용하여 , 출발지 IP주소를 10.10.10.254 , SMAC은 B 로 하고,

      도착지 IP주소를 10.30.60.11 , DMAC 은 C로 변경한다. (일단 Real 서버중에서 R1으로 간다고 가정)

      ( SIP:10.10.10.254 , SMAC:B , DIP:10.30.60.11 , DMAC:C )

 

(3). 요청을 받은 R1 서버는 아래와 같이 정보를 변경하여 전달합니다.

      ( SIP:10.30.60.11, SMAC:C , DIP:10.10.10.254, DMAC:B)

 

(4). L4 스위치에서는 A1(client)로부터 request를 받은 세션을  세션테이블에서 찾아서

      출발지IP는 처음에 A1(client)가 request한 VIP로 설정하고 , 도착지 IP는 A1(client) 주소로 변경하여

      A1(client)으로 패킷을 전달한다.

      (SIP:10.30.60.10 , SMAC:B , DIP:10.30.60.100 , DMAC:A)

 

(5). L2 스위치에서는 목적지인 A1(client)의 MAC 주소를 알고 있기때문에 A1(client)으로 패킷을 보낸다   



(5). A1(client)은 처음 VIP로 request를 보낸 L4로부터 response 가 왔기때문에 정상적으로 통신을 한다.

 


VIP로부터 response 있음


 

 



 

종합적으로 정리하면 , VIP로 접속을 할때는 L4 스위치에서 NAT를 설정하여 Real Server 와 통신이 되고,

Real Server 로 직접 접속 할때는 L2 스위치가 중간에 있기 때문에 통신이 가능하다.

 

L4 스위치에 NAT 를 설정하면 처음 Request 한 Client의 IP와 알고리즘에 의해 최종 Real Server 선택된 서버의 IP를 매칭시켜 세션테이블에 기록하여 서로 통신이 가능하도록 한다.


 

 

출처 : https://me351004.tistory.com/entry/같은-네트워크-대역-L4-스위치의-VIP로-통신-방법