2014-09-10 3 views
0

Так что я относительно новичок в iptable маршрутизации, но то, что я пытаюсь сделать, должно быть легко.Я в iptable hell

Я пытаюсь направить трафик с определенного IP-блока, я использую программу, называемую inetsim, и то, что она делает, использует IP-адрес в качестве адреса связывания и станет похожей на маршрутизатор. Я использую 192.168.444.1 в качестве моего шлюза и DNS-сервера в инструкциях по настройке. Есть варианты в нижней части, чтобы использовать для маршрутизации, но они еще должны быть дружественными. У меня есть 2 eth порта, называемые eth0 и eth1, 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 Debian есть программа, которая устанавливает соединение с целевой машины к серверу отчетов. В нормальных условиях это будет работать без заминки, однако inetsim - это интернет-черная дыра, которая создает iptables, которые маршрутизируют весь трафик на fakenet, включая неизвестные службы, они направляются в фиктивный порт 1.

Мне нужен способ пересылка пакета, предназначенного для 10.10.10.250:48002, из 192.168.444.2 [подключена к 192.168.444.1] до 10.10.10.123 [если нет более простого способа сделать это]. Я пробовал snat и dnat, но похоже, что он искажает пакеты там, где они выходят по-другому, поскольку сервер отклоняет пакеты, которые он получает. Аппарат Windows заявляет, что он имеет и установил соединение, но, как я сказал, с помощью проверки пакетов, похоже, это не похоже на эти пакеты.

Способ, которым я хотел бы, чтобы это было сделано, было бы не изменять фактический пакет вообще или, по крайней мере, как можно меньше. Если вам нужны мои правила для iptables, которые я создал, или правила, которые выводят inetsim, я могу опубликовать их.

Любая помощь приветствуется. Спасибо вам, ребята!

[EDIT: Я уже пробовал много разных правил, я не просто спрашиваю, потому что я хочу, чтобы кто-то другой сделал это для меня. Я делал это в течение нескольких недель и работал один раз. Затем я попытался воспроизвести его и что-то сломалось.]

+0

Прилагайте выходные данные 'route -n' и' iptables -L'. – Yoel

+0

Ядро IP-таблица маршрутизации назначения Шлюз Genmask Флаги Метрика Ссылка Использование Iface 0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 eth0 10.10.10.0 255.255.255.0 0.0.0.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 255.255.255.0 0.0.0.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 tables'? Я также не понимаю, как 'ip tables -L' ничего не показывает, учитывая ваше утверждение, что' inetsim' изменяет его ... – Yoel

ответ

0

Если все задействованные хосты имеют IP-адрес Debian в своем сегменте в качестве маршрута по умолчанию, вам не нужно вообще никаких iptables, просто активируйте net.ipv4.ip_forward в/etc/sysctl.conf, и если вам нужно активировать iptables, убедитесь, что политика по умолчанию для таблицы FORWARD ACCEPT.

Если только 192.168.444.2 машина имеет .1 IP в качестве маршрута, но сервер отчетов не (вы будете видеть связи в сервере отчетов организации очередей, как SYN_RECV), вы будете нуждаться в цели MASQUERADE:

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 

Можете ли вы удалить их и связанные с ними цепи и посмотреть, если проблема решена?

EDIT: Я заметил еще одно правило, которое может быть проблематичным. Пожалуйста, удалите его и повторите попытку:

-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, но я избавлюсь от остальных за секунду. плохо дать вам результаты в нескольких. Я также могу полностью избавиться от правила перенаправления и сделать это из обычного iptables, если у вас есть рекомендация. ive делал это уже более месяца ..... :( – Zorak

+0

Я избавился от них и ничего, и до этого я установил соединение, но сервер назначения (10.10.10.250) не принимал пакеты. :( – Zorak

+0

@ user3878299, я отредактировал свой ответ с другим предложением. Если это не сработает, то, принимая во внимание ваш предыдущий комментарий, кажется, что проблема может быть на целевом сервере. Какой пакет он действительно получает? Убедитесь, что он не отправил никакого ответа? Пожалуйста, обнулите количество пакетов с помощью 'iptables -t nat -Z' и' iptables -t mangle -Z', отправьте пакет и просмотрите обновленный счет через 'iptables -t nat -L - v -n' и 'iptables -t mangle -L -v -n'. – Yoel