2014-09-10 3 views
0

그래서 나는 상대적으로 iptable 라우팅에 익숙하지 않다. 그러나 내가하려는 것은 쉬운 일이어야한다.나는 iptable 지옥에있어

특정 IP 블록에서 트래픽을 유도하려고하는데, inetsim이라는 프로그램을 사용하고 있으며 IP 주소를 바인드 주소로 사용하면 라우터와 유사 해집니다. 설정 지시 사항에 따라 192.168.444.1을 게이트웨이와 DNS 서버로 사용하고 있습니다. 하단에 라우팅 옵션을 사용할 수 있지만 아직 친숙하지 않습니다. eth0 및 eth1이라는 2 개의 eth 포트가 있는데, 각각의 IP 주소는 10.10.10.123 및 192.168.444.1입니다. 10.10.10.250에보고 서버가 있습니다. 192.168.444.2 windows7sp1 192.168.444.1 + 10.10.10.123 데비안 서버

보고 서버는보고 서버에 대한 대상 컴퓨터에서 연결을 설정하는 프로그램을 가지고 다음과 같이

기계는 있습니다. 정상적인 환경에서는 이것이 문제없이 작동하지만 inetsim은 알 수없는 서비스를 포함하여 모든 트래픽을 모조품으로 라우팅하는 iptables를 만드는 일종의 인터넷 블랙홀이며 더미 포트 1에 연결됩니다.

10.10.10.250:48002로 예정된 패킷을 192.168.444.2 [192.168.444.1에 연결]에서 10.10.10.123까지 [더 쉬운 방법이없는 한] 전달합니다. 나는 snat과 dnat를 시도했지만 서버가 패킷을 거부 할 때 패킷이 다르게 나오는 곳으로 패킷을 망가 뜨리는 것처럼 보입니다. 윈도우 머신은 연결 상태를 가지고 있다고 말하지만, 패킷 검사를 통해 말한 것처럼이 패킷들은 마음에 들지 않습니다.

내가하고 싶은 방식은 실제 패킷을 전혀 수정하지 않거나 가능한 한 적게 수정하는 것입니다. 내가 만든 iptables에 대한 내 규칙이나 inetsim에서 출력하는 규칙이 필요한 경우 게시 할 수 있습니다.

도움을 주시면 감사하겠습니다. 고마워요!

[편집 : 나는 다른 규칙을 이미 시도했지만, 나는 다른 사람이 나를 위해 그것을하기를 원하기 때문에 묻고있는 것이 아니다. 나는 이것을 몇주 동안 해왔고 한 번 작동 시켰습니다. 그런 다음 복제하려고 시도했지만 무언가가 고장났습니다.]

+0

'route -n'과'iptables -L'의 결과를 첨부하십시오. – Yoel

+0

커널 IP 라우팅 테이블 대상 게이트웨이 Genmask 플래그 메트릭 참조 Iface 사용 0.0.0.10 10.10.10.1 0.0.0.0 UG 0 0 0 eth0 10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.10.10.125 0.0. 0.0 255.255.255.255 UH 0 0 0 eth1를 192.168.444.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1를 의 iptables -L은 전혀 보이지 않는다 http://pastebin.com/FnRF47MK되는 페이스트 inetsim 규칙 inetsim.conf 파일의 출력. – Zorak

+0

[''ip forwarding' enabled] (http://www.ducea.com/2006/08/01/how-to-enable-ip-forwarding-in-linux/)이 있습니까? 각 ip 테이블 체인의 기본 정책은 무엇입니까? 나는'ip 테이블 -L'이'inetsim'이 그것을 수정한다는 주장을 고려해 보지 않는다. – Yoel

답변

0

관련된 모든 호스트가 기본 경로로 세그먼트에있는 데비안 IP를 갖고 있다면 iptables가 전혀 필요하지 않으며/etc/netstat에서 net.ipv4.ip_forward를 활성화하십시오. sysctl.conf와 iptables를 활성화 상태로 유지해야한다면 FORWARD 테이블의 기본 정책이 ACCEPT인지 확인하십시오. 단지 192.168.444.2 기계 경로로 0.1 IP를 가지고 있지만 경우

당신이 무도회 대상해야합니다 (당신이 SYN_RECV로 대기보고 서버에 연결을 볼 수 있습니다)하지 않는보고 서버 :

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
0

나는 pastebin link을 검사했습니다, 그리고 이러한 규칙은 문제의 원인이 보인다 :

-A PREROUTING -j INetSim_DNAT_12257 
-A POSTROUTING -j INetSim_SNAT_12257 
-A INetSim_DNAT_12257 -s 192.168.444.4/32 -d 10.10.10.250/32 -p tcp -m tcp --dport 48002 -j DNAT --to-destination 192.168.444.4:48002 
-A INetSim_SNAT_12257 -s 192.168.444.4/32 -d 192.168.444.4/32 -p tcp -m tcp --dport 48002 -j SNAT --to-source 10.10.10.125 

당신이 그들과 관련 체인을 삭제하고 문제가 해결되었는지 확인하시기 바랍니다 수 있습니까?

편집 : 문제가 될 수있는 다른 규칙이 있음을 발견했습니다. 그것을 삭제하고 다시 시도하십시오 :

-A INetSim_12257 -s 192.168.444.4/32 -d 10.10.10.250/32 -p tcp -m tcp --dport 48002 -j MARK --set-xmark 0x1/0xffffffff 
+0

나는 두 번째 두 삭제할 수 있지만 다른 것들을 삭제하면이 사용하여 전체 지점은 사라질 것입니다. 나는 멀웨어 분석을 위해 이것을 필요로하므로, 대부분의 트래픽을 포트 1로 보내지 만, 나머지는 1 초 안에 제거 할 것입니다. 몇 가지 결과가 나쁘다. 리디렉션 규칙을 완전히 제거하고 권장 사항이있는 경우 일반 iptables에서 수행 할 수도 있습니다. 한 달 넘게 이런 일을 해왔습니다 ..... ( – Zorak

+0

나는 이것들을 없애 버렸습니다. 그리고 제가 이것을하기 전에 연결을 설정하고 있지만 목적지 서버 (10.10.10.250)는 패킷을받지 못했습니다. :( – Zorak

+0

@ user3878299, 다른 제안으로 내 답변을 편집했습니다. 작동하지 않는 경우 이전 메모를 고려하면 대상 서버에 문제가있는 것으로 보입니다. 실제로 어떤 패킷이 수신됩니까? 'iptables -t nat -Z'와'iptables -t mangle -Z'를 통해 패킷 수를 0으로 만들고 패킷을 보내고'iptables -t nat -L '을 통해 업데이트 된 수를 봅니다. v -n'과'iptables -t mangle -L -v -n'을 사용한다. – Yoel