여러 게이트웨이가 있는 Linux 서버의 특정 네트워크 인터페이스에 바인딩

여러 게이트웨이가 있는 Linux 서버의 특정 네트워크 인터페이스에 바인딩

내 로컬 컴퓨터에서 서버 프로그램을 실행하려고 합니다. 인터넷으로 연결되는 경로는 2가지가 있습니다.

  • 10.0.0.1/24on은 eth0연결이 가장 빠른 인터페이스의 게이트웨이 및 서브넷입니다. 그러나 방화벽으로 인해 TCP 포트에 바인딩된 서버에 액세스할 수 없습니다.
  • 10.8.0.1/24on은 eth1느린 인터페이스의 게이트웨이와 서브넷입니다. 그러나 나는 게이트웨이 장치를 제어하고 이를 통해 성공적으로 포트 포워딩을 수행할 수 있으며 서버는 인터넷에 표시됩니다.

내 컴퓨터에는 다음과 같은 경로가 있습니다.

default via 10.0.0.1 dev eth0 src 10.0.0.x metric 203 default via 10.8.0.1 dev eth1 metric 800 10.8.0.0/24 dev eth1 proto kernel scope link src 10.8.0.y 10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.x metric 203

분명히 일반적인 상황에서는 경유 경로가 eth0우선순위를 갖습니다. 하지만 내 서버를 포트 전달하려면 인터페이스에서 기본 게이트웨이를 사용해야 합니다 eth1.없이동일한 인터페이스를 통해 다른 모든 트래픽을 리디렉션합니다.

지금까지 시도한 것은 서버를 주소에 바인딩하는 것입니다. 10.8.0.y즉, 대상이 해당 IP 주소인 연결만 허용한다는 의미입니다. 그러나 반대 방향으로 트래픽을 라우팅하는 데는 작동하지 않았습니다. tcpdump -i eth1 -p 25561인바운드 연결이 수신되고 있음을 확인했지만 둘 eth0다 모니터링할 때 eth1아웃바운드 응답이 표시되지 않습니다. 응답을 받지 못하면 원격 클라이언트에서 연결 시간이 초과됩니다.

다른 사람이 비슷한 작업을 시도했으며 설정 방법에 대한 통찰력을 제공할 수 있습니까?

관련 정보