문제를 오해하고 있습니다. 모든 패킷이 응답 인 것은 아니며 모든 패킷이 다른 패킷과 일치 할 수있는 것은 아니며 "같은 네트워크 인터페이스"가 의미가 있습니다. 소스 IP 주소를 기반으로 패킷의 게이트웨이를 선택하면됩니다.
이것을 소스 기반 라우팅 또는 정책 라우팅이라고합니다. 간단한 iptables
규칙으로 할 수 있지만 가장 좋은 방법은 각 공개 소스 주소마다 하나씩 두 개의 라우팅 테이블을 설정하는 것입니다.
먼저, 두 개의 테이블을 작성하십시오 (<NAME1> 및 <NAME2>을 IP1, DEV1 등과 같은 두 제공자에 대한 적절한 이름으로 바꾸십시오).
echo 200 <NAME1> >> /etc/iproute2/rt_tables
echo 201 <NAME2> >> /etc/iproute2/rt_tables
각 라우팅 테이블에 게이트웨이를 추가하십시오 (필요한 경우).
ip route add <NET1> dev <DEV1> src <SRC1> table <NAME1>
ip route add <NET2> dev <DEV2> src <SRC2> table <NAME2>
그런 다음 기본 경로 :
ip route add default via <IP1> table <NAME1>
ip route add default via <IP2> table <NAME2>
그런 다음 소스 주소를 기반으로 라우팅 테이블을 선택하는 규칙 :
ip rule add from <IP1> table <NAME1>
ip rule add from <IP2> table <NAME2>
자세한 내용 은 여러 업 링크 / 제공자 라우팅을 참조 하십시오.