특정 포트의 특정 인터페이스로 트래픽 라우팅

특정 포트의 특정 인터페이스로 트래픽 라우팅

아웃바운드 트래픽을 SSH 포트의 특정 인터페이스로 라우팅하고 싶습니다. 다음과 같은 라우팅 테이블이 있습니다.

default via gw_ip dev eth0
default via gw_ip dev eth1 metric 10001
10.x.y.z/23 dev eth0 proto kernel scope link src eth0_ip
10.x.y.z/23 dev eth1 proto kernel scope link src eth1_ip

보시다시피 두 인터페이스가 모두 동일한 서브넷에 있으므로 모든 아웃바운드 트래픽은 기본적으로 메트릭 값이 더 낮기 때문에 eth0_ip를 통과합니다. 내 사용 사례는 모든 인바운드 및 아웃바운드 통신에 eth1을 사용하는 것입니다. 메트릭 값을 수정하거나 eth1에 대한 기본 규칙을 정의하면 이를 달성할 수 있습니다.

그러나 문제는 SSH 포트(22)에 대한 텔넷을 통해 시스템 상태를 테스트하는 일부 자동 상태 검사가 시스템에 있다는 것입니다. 이 상태 확인은 항상 eth0에서 수행되며 기본 인터페이스를 eth1로 설정하여 IP 테이블을 수정하면 실패합니다. 이는 테스트가 eth0 IP에 연결을 시도하지만 응답은 eth1 IP에서 나오기 때문이라고 생각합니다.

해결 방법으로 포트 22에 대해서만 아웃바운드 트래픽을 eth0으로 설정할 수 있는지 궁금합니다. 따라서 상태 확인이 포트 22에서 eth0에 연결을 시도하면 eth0에서만 응답을 받습니다.

관련 정보