зеркальное отражение порта iptables

Которые окружают? Пойдите для того с лучшей "простотой в употреблении" по сравнению с отношением "стычек"...

Если Вы не можете найти достаточно общих примеров и объяснений Вашей оболочки "Мазерати", то это - дополнительная производительность, может быть больше проблемы, чем премия...

Я нашел эту статью/сайт интересной; это может стоить чтения:
Различия в оболочке UNIX и как изменить Вашу оболочку

8
18.08.2012, 22:58
2 ответа

--tee флаг не является частью цепочки DNAT, это - часть МАРШРУТА. Можно только использовать его после объявления -j ROUTE. Можно получить определенную справку от iptables на предмете как это:

 $ iptables -j ROUTE help

Я смотрел на Вашу команду iptables, и она не имеет никакого смысла мне. Почему Вы пытаетесь соответствовать против исходного и исходного порта пакета, когда в Вашем вопросе Вы сказали "packegs полученный относительно порта"? Вы пытаетесь разделить входящий трафик, чтобы поразить два порта или взять вывод одного порта и связать его с входом другого?

Если первый, существует действительно два шага. Вы не можете использовать мишень, чтобы получить копию пакета И исказить пакет для изменения номеров портов одновременно. Вы могли бы попробовать это на двух шагах, сначала отправив себе дубликат пакета, затем соответствуя копии только и исказив целевой порт. ПРЕДУПРЕЖДЕНИЕ: непротестированный, рассмотрите этот псевдокод:

$ sudo iptables -A PREROUTING -t mangle -p tcp -s !127.0.0.1/32 --dport 8001 -j ROUTE --gw 127.0.0.1 --tee
$ sudo iptables -A POSTROUTING -t nat -p tcp -s 127.0.0.1/32 --dport 8001 -j DNAT --to 127.0.0.1:8002
6
27.01.2020, 20:11
  • 1
    , Предупреждающий... другого посетителя сайта, отметил, что аналогичная версия этого на самом деле приводит к бесконечному циклу! Вероятно, необходимо выяснить, как отметить дублированный пакет на том же действии, затем соответствуйте на теге. –  Caleb 17.04.2012, 21:00
  • 2
    МАРШРУТ кажется obsoleted, правильно? –  daisy 30.12.2012, 10:12
  • 3
    It'just опечатка, 172.0.0.1-> 127.0.0.1. –  Aki 06.11.2013, 19:29
  • 4
    N.B. читателям SE: ROUTE цель, используемая в вышеупомянутом ответе, является устаревшей с этой записи и не доступной в iptables на новых дистрибутивах. См. serverfault.com/questions/333155 / … –  Jonathan Ben-Avraham 16.12.2014, 15:32
  • 5
    N.B. читателям SE: ROUTE цель, используемая в вышеупомянутом ответе, является устаревшей с этой записи и не доступной в iptables на новых дистрибутивах. См. serverfault.com/questions/333155 / … –  Jonathan Ben-Avraham 16.12.2014, 15:32

Далее к Ответ Caleb Ответ, если вы работаете с новым iptables (v1.4.14), что больше не имеет маршрута , вам понадобится Что-то вроде следующее, проверено на Debian Rheezy *:

iptables -A PREROUTING -t mangle -p tcp ! -s 127.0.0.1 --dport 8001 -j TEE --gateway 127.0.0.1
iptables -A OUTPUT -t nat -p tcp -s 127.0.0.1/32 --dport 8001 -j DNAT --to 127.0.0.1:8002

Тест с использованием «NetCat» ( MAN NC ). В типе окна терминала к следующему и нажмите клавишу . Введите клавишу :

nc -l 8002

Команда будет дождаться ввода ввода, которую вы будете ввести во втором окне терминала.

В втором оконном окне S S Введите следующее и нажмите клавишу , введите клавишу :

nc 127.0.0.1 8001

Команда будет ждать дальнейшего ввода. Введите что-нибудь и нажмите кнопку введите клавишу . После нажатия введите клавишу во втором окне терминала, текст, который вы набрали во втором окне терминала, должны появляться в первом окне терминала. Нажмите Ctrl -C во втором окне, чтобы завершить сеанс.


* Этот синтаксис не , поддерживаемый в RHEL / CENTOS (6.5 или ранее) :-(, поэтому вам нужно использовать SOCAT , чтобы входящие входящие входящие входящие в исходном порту Два новых порта. Если у вас были процессы, слушающие оригинальные приемные приема, вам нужно перенастроить их, чтобы прослушать одну из портов Tee'd AS SOCAT теперь слушатель на оригинальном порту. См. Этот SE пост , например SOCAT синтаксис для клонирования порта.

6
27.01.2020, 20:11

Теги

Похожие вопросы