iptables를 통한 미러 포트


11

많은 게스트가 설정된 전용 Linux (Debian 7.5) 루트 서버가 있습니다. 게스트는 KVM 인스턴스이며 브리지 유틸리티 (NAT, 내부 IP, 호스트를 게이트웨이로 사용)를 통해 네트워크 액세스 권한을 얻습니다.

예를 들어 하나의 KVM은 웹 서버 게스트이며 다음과 같은 방법으로 호스트 IP를 통해 액세스 할 수 있습니다.

    iptables -t nat -I PREROUTING -p tcp -d 148.251.Y.Z 
--dport 80 -j DNAT --to-destination  192.168.100.X:80 

나는 다른 서비스들과 똑같이 일을하고 있으며, 독립적이고 NAT가 있고 격리되어 있습니다.

그러나 한 명의 게스트는 네트워크 모니터 여야하며 IDS와 같은 네트워크 트래픽 검사를 수행해야합니다. 일반적으로 비가 상 설정에서는 VACL 또는 SPAN 포트를 사용하여 트래픽을 미러링합니다. (물론,이 하나의 호스트 내부에, 나는이 작업을 수행 할 수 있습니다 쉽게 나는 복잡한 가상 스위칭 방법을 사용하지 않기 때문에).

  1. iptables를 사용하여 포트 미러를 가져오고 모든 수신 및 송신 트래픽을 하나의 KVM 게스트로 리디렉션 할 수 있습니까? 모든 손님은 같은 전용 인터페이스를 가지고 있습니다 vnet1.
  2. 프로토콜을 기반으로 트래픽을 선택적으로 전달할 수 있습니까 (예 : HTTP 만 가져 오는 VACL 전달 규칙)?
  3. vnet1IP를 사용하여 관리 인터페이스 로 유지해야하는 경우 게스트에 특정 인터페이스 설정이 필요 합니까?

올바른 방향으로 향한 점이 기쁘다.

iptables         1.4.14-3.1
linux            3.2.55
bridge-utils     1.5-6

고마워요 :)

답변:


14

루트 서버 사전 라우팅 모듈 Mangle 테이블 규칙 앞에 다음과 같은 규칙을 추가하는 것은 어떻습니까?

iptables -I PREROUTING -t mangle -j ROUTE --gw 192.168.200.1 --tee

그런 다음 라우팅 후 모듈 Mangle 테이블 규칙 앞에

iptables -I POSTROUTING -t mangle -j ROUTE --gw 192.168.200.1 --tee 

여기서 192.168.200.1은 네트워크 모니터입니다.

이 규칙은 들어오고 나가는 모든 트래픽을 미러링하여 192.168.200.1로 전달합니다.

편집하다:

mangle table specific
  -j ROUTE            (explicitly route packets, valid at PREROUTING)
      options:
      --iface <iface_name>
      --ifindex <iface_idx> 

하지만 당신은 또한 같은 것을 사용할 수 있습니다

iptables -I PREROUTING –t mangle –i eth0 –j TEE –gateway 192.168.200.1

iptables -I POSTROUTING –t mangle –j TEE –gateway 192.168.200.1

어디 TEE지금에서 대상 PREROUTING즉, 같은 더 많은 옵션 소요 -i, -p, 등


최신 버전을 사용하는 NB 대 SE 독자 iptables에게는 더 이상 ROUTE목표가 없습니다 unix.stackexchange.com/a/174619/31228 에서 내 답변을 참조하십시오 .
Jonathan Ben-Avraham
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.