리눅스에서 라우팅테이블 질문입니다.
현재 이중화작업을 하고 있습니다.
우선 리눅스머신에는 사용하는 랜카드가 2개가 있고 각각의 랜카드는 같은 네트워크의 다른 L4장비에 연결되어있습니다.
랜카드 2개를 각기 다른 L4장비에 연결한 이유는 Active상태의 L4가 죽었을때 다른 L4를 이용하여 서비스를 제공하기 위함입니다.
즉 이렇게 생겼습니다.
(아래 네트워크는 전부다 같은 네트워크상에 있습니다.)
| L4(A) | | L4(B) | |\ /| | \ / | | \ / | | \ / | | \/ | | / \ | | / \ | E1 E2 E1 E2 |리눅스머신 | |윈도우머신 |
평소에는 Active상태인 L4가 리눅스머신과 윈도우머신의 E1으로 서비스를 하지만 L4(A)가 죽었을때는 L4(B)가 각 머신의 E2와 통신을 하게됩니다.
그런데 문제는 리눅스머신의 E1이 죽었을 경우입니다. 리눅스의 E1이 죽을경우 E2로도 접속이 안되는 상황이 벌어지더군요.
그래서 routing테이블을 살펴봤습니다.
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
XX.XX.XX.XX 0.0.0.0 255.255.255.192 U 0 0 0 eth0
XX.XX.XX.XX 0.0.0.0 255.255.255.192 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 YY.YY.YY.YY 0.0.0.0 UG 0 0 0 eth0
기본게이트웨이로 가는 인터페이스가 eth0(E1)이어서 안가는것같아서 인터페이스지정을 안해주려고 했더니 방법을 못찾겠더군요.(윈도우는 기본게이트웨이의 인터페이스는 지정이 안되있네요)
여기서 질문 1. 라우팅테이블에서 기본게이트웨이로가는 인터페이스를 제거하는 방법을 알고싶습니다.(또는 여기에서 문제가 뭔지 알려주세요)
그리고 모든것이 정상일때 외부에서 E2로 접속을 하고 패킷을 캡춰해보았습니다. 라우팅테이블에 따르면 eth0(E1)의 아이피로 응답을 해야할거같았는데 eth1(E2)의 아이피로 응답이오네요.
또 질문 2. 패킷안의 소스아이피는 머신에서 마지막으로 통과한 인터페이스의 아이피가 아닌가요?
읽어주셔서 감사합니다.
댓글 달기