한 인터페이스의 모든 트래픽을 다른 IP를 사용하는 기본 게이트웨이로 라우팅합니다.

한 인터페이스의 모든 트래픽을 다른 IP를 사용하는 기본 게이트웨이로 라우팅합니다.

그 상황:

eth0 - 인터넷 액세스가 가능한 기본 네트워크 IP: 192.168.2.1 기본 게이트웨이: 192.168.2.254

eth0:1 192.168.2.2 가상 NIC, eth0과 동일하지만 IP가 다릅니다. 동일한 케이블 이 IP는 다른 인터넷 접속을 가지고 있습니다

eth1: 192.168.0.1

eth2: 192.168.1.1

eth1 및 eth2의 모든 트래픽은 192.168.2.1을 사용하여 192.168.2.254로 라우팅됩니다.

eth2에서 192.168.2.254로 들어오는 모든 트래픽을 라우팅해야 하지만 보조 IP 192.168.2.2를 사용해야 합니다.

다양한 구성을 시도했지만 성공하지 못했습니다.

답변1

원하는 것을 소스 정책 라우팅이라고 합니다. 소스 정책 라우팅 구성에 대한 지침을 찾을 수 있습니다.여기 Linux 고급 라우팅 및 트래픽 제어 HOWTO가 있습니다..

가장 중요한 점은 INET2와 같은 이름을 사용하여 시스템에 새 라우팅 테이블을 추가하려는 것입니다(이 명령은 루트로 실행해야 합니다).

에코 200 INET2 >> /etc/iproute2/rt_tables

그런 다음 기본 IP 라우팅 테이블에 소스 규칙을 추가하려고 합니다(/24 네트워크인 것으로 추측됩니다).

192.168.1.0/24 테이블 INET2에서 IP 규칙 추가

다음으로 INET2 테이블에 대한 기본 경로를 할당해야 합니다(두 번째 연결에 대한 기본 게이트웨이를 언급하지 않았으므로 여기에서 추측합니다).

ip 경로는 192.168.2.253 dev eth0:1 테이블 INET2를 통해 기본값을 추가합니다.

마지막으로 시스템에서 경로 캐시를 플러시해야 합니다.

IP 경로 플러시 캐시

이런 방식으로 생성된 규칙은 임시적이며 시스템이 다시 시작되면 사라지므로(INET2 테이블은 유지되지만) 네트워크 인터페이스의 시작 스크립트에 규칙을 넣어야 합니다. 이를 수행하는 정확한 방법은 특정 Linux 배포판에 따라 다르며 실제로는 또 다른 질문입니다.

관련 정보