Iptables обрабатывает трафик с разных хостов по-разному, несмотря на правила

Здесь происходит что-то странное, и я не знаю, как это исправить. Сводка: трафик, похожий на tcpdump, обрабатывается iptables по-разному. Подробности ниже.

Испытательная установка:

  • Устройство 0 – Линейная машина, сидящая на IP 192.168.0.121

  • Устройство 1 – немое устройство, которое просто отправляет пакеты на порт 4000 на 192.168.0.121. IP-адрес этого устройства устанавливается с помощью команды: sudo arp -s 192.168.0.27 MAC_ADDRESS, поскольку он не делает DHCP-запросы и не может быть сделан, чтобы делать что-либо, кроме своего задания.

  • Устройство 2 – Линейный аппарат, отправляющий пакеты на порт 4000 на 192.168.121 с помощью команды:

    Watch -n 1 "date | nc -4u -w1 -v 192.168.0.121 4000"

Tcpdump вывод ситуации:

22:00:01.845359 IP 192.168.3.30.50705 > 192.168.0.121.4000: UDP, length 1 22:00:01.845391 IP 192.168.3.30.50705 > 192.168.0.121.4000: UDP, length 29 22:00:02.022257 IP 192.168.0.27.27 > 192.168.0.121.4000: UDP, length 12 22:00:03.022797 IP 192.168.0.27.27 > 192.168.0.121.4000: UDP, length 12 ... 

В этом случае выход socat udp-l:4000,fork stdout :

      XX@ XWed Sep 2 22:02:18 PDT 2015       XX  XWed Sep 2 22:02:22 PDT 201 ... 

И выход socat udp-l:2700,fork stdout пуст.

Странный мусор от датчика, и дата указана из приведенной выше команды. Обратите внимание, что IP-адрес назначения этого трафика является тем же самым в соответствии с tcpdump. Теперь, если я пересылаю весь трафик с UDP-порта 4000 на 2700:

 sudo iptables -t nat -A PREROUTING -p udp --dst 192.168.0.121 --dport 4000 -j DNAT --to-destination 192.168.0.121:2700 

Tcpdump выглядит точно так же, но теперь выход socat udp-l:4000,fork stdout :

    @ @ @       @ @ @       @            @ @@    @    ... 

И выход socat udp-l:2700,fork stdout :

 XXXWed Sep 2 22:05:42 PDT 2015 XXXWed Sep 2 22:05:46 PDT 2015 XXXWed Sep 2 22:05:50 PDT 2015 ... 

Как вы можете видеть, трафик с устройства 1 игнорируется iptables и продолжается до хоста на порте 4000, но трафик с устройства 2 попадает в правило и отправляется на порт 2700. Я могу очистить iptables и переиздать правило все День, и он просто переключается между этими двумя состояниями.

Кто-нибудь может понять, что может произойти?

  • Ubuntu: ошибки в терминале: как показать их на английском языке?
  • Как перечислить файлы рекурсивно и отсортировать их по времени модификации?
  • Как использовать завиток, чтобы проверить, отменен ли сертификат сайта?
  • Несоответствие между df и du
  • Множественная среда Java на той же машине Linux
  • Невозможно загрузить ОС с USB-накопителя, показывая черный экран с мигающим курсором
  • Жесткий диск Seagate 3TB ST3000DM001, не распознанный Linux, вызывает зависание fdisk
  • Где я должен установить двоичные файлы, которые не являются .deb?
  • One Solution collect form web for “Iptables обрабатывает трафик с разных хостов по-разному, несмотря на правила”

    Оказывается, два устройства отправляли хост linux на 192.168.0.121 с 192.168.0.27, только с разными MAC-адресами. Очевидно, что это несовместимое поведение, и iptables нельзя ожидать, чтобы справиться с ним.

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

    Interesting Posts

    Несоответствие между процессором «top» и процентом использования процессора

    Как я могу запустить команду AppleScript или оболочки в Mac OS X при разблокировке экрана?

    Как изменить сочетание клавиш для переключения вкладок в Mac Terminal?

    Изменение маршрутизации на Mac с двумя портами Ethernet

    Excel: объединить две таблицы на основе одного столбца

    Где я могу найти файл boot.ini в Windows 7?

    Wget – сохранить все данные (изображения) из заданного каталога?

    Почему разрешение экрана 1440×900 внезапно исчезает с панели управления Intel GMA?

    В PowerPoint существует ли способ создания печатной версии анимированного слайда?

    Какой самый простой способ проверки статуса SMART для вашего жесткого диска?

    Показать метод шифрования, используемый в zip-файле в WinZip 9.0

    Могут ли диски SAS работать на материнской плате SATA

    Рекомендации по попытке получить данные с жесткого диска, помещая их в морозильник

    Требуется ли Mac OS X антивирус

    Проблемы с историей файлов, поиск альтернативы

    Давайте будем гением компьютера.