3 개의 네트워크 인터페이스가있는 데이터 센터에서 호스팅되는 컴퓨터가 있습니다.
Interface network ip address
eth0 192.168.1.0/24 192.168.1.10
eth1 192.168.2.0/24 192.168.2.10
eth2 192.168.3.0/24 192.168.3.10
내 기본 게이트웨이는 192.168.2.1로 설정되어 데이터 센터에서 제공하는 일부 서비스 (저장소, ntp 등)에 액세스 할 수 있습니다.
네트워크 192.168.1.0/24에는 192.168.1.1에 게이트웨이가있어 드래곤이 사는 외부 세계에 액세스 할 수 있습니다. 서버에서 나가야 할 때 고정 경로를 추가하기 만하면됩니다. 내 서버가 연결되는 위치를 알기 때문에이 설정이 마음에 듭니다.
이제 누구에게나 메일을 보내야하는 메일 클라이언트 (exim4)가 있습니다. 따라서 이상적으로는 기본 gw를 192.168.1.1로 설정해야합니다. 이 특정 서비스에 대한 트래픽 만 라우팅하는 방법이 있습니까? 아니면 서버에서 네트워크 구성을 변경해야합니까?
차이가 있다면 나는 데비안 8을 사용하고 있습니다.
목적지 포트, 소스 포트 또는 소유자 (작동하지 않을 수 있음, 아래 참조)의 세 가지 특성 중 하나에 따라 특정 게이트웨이로 라우팅하도록 방화벽 (iptables)을 설정할 수 있습니다.
먼저 특수 애플리케이션 (게이트웨이 192.168.1.1)에 대한 사용자 지정 라우팅 테이블을 추가하고 마스크가있는 모든 패키지 1
를이 테이블로 리디렉션하는 규칙을 만들고 패키지가 리디렉션 된 경우 소스 주소를 가장하는 iptables 규칙을 만듭니다.
ip route add 192.168.1.0/24 dev eth0 table 1
ip route add 0/0 via 192.168.1.1 table 1
ip rule add fwmark 1 table 1
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.10
패키지 마킹에는 3 가지 옵션이 있습니다.
대상 포트별로 리디렉션하고 exim에서 사용하는 서버 포트로 PORT를 충전합니다.
iptables -t mangle -A OUTPUT -p tcp --dport PORT -j MARK --set-mark 4
소스 포트별로 리디렉션하고, 하나의 소스 포트만 사용하는 경우 exim에서 로컬로 사용하는 포트로 PORT를 충전합니다.
iptables -t mangle -A OUTPUT -p tcp --sport PORT -j MARK --set-mark 4
소유자 별 리디렉션, Exim 프로세스에서 PID로 OWNER를 변경합니다 ( iptables -m owner --help
다른 옵션 은 참조 ).
iptables -t mangle -A OUTPUT -m owner --pid-owner OWNER -j MARK --set-mark 4
소유자 별 리디렉션 고려 사항 www.frozentux.net :
The pid, sid and command matching is broken in SMP kernels since they use different process lists for each processor. It might be fixed in the future however
따라서 커널에 따라이 기능을 사용할 수 없거나 손상되었습니다 (제대로 작동하지 않음).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다