DROP или REJECT пакеты из таблицы PREROUTING NAT в iptables - PullRequest
0 голосов
/ 31 августа 2018

Цель состоит в том, чтобы разрешить только определенным сетям доступ к портовым службам / портам контейнера, работающим на моем сервере.

  1. Попытка добавления правил ПРИНЯТЬ в цепочку фильтров INPUT. Это не помогло, сети даже без правила ACCEPT все еще могли получить доступ к службе / порту докера.

  2. Попытка добавления правил ACCEPT и DROP в цепочку FORWARD, это работает. Но это имеет много недостатков, таких как: а. Правила удаляются или перемещаются при перезапуске Docker б. Правила могут стать недействительными, если контейнеры Docker будут повторно развернуты и получат разные IP-адреса во время выполнения

  3. План - ЗАБЛОКИРОВАТЬ их, даже не достигнув цепочки ВПЕРЕД.

  4. Итак, в таблицу NAT добавлена ​​новая цепочка, которая перенаправляет в цепочку DOCKER, если трафик поступает из разрешенной сети, если он из других сетей, добавляет DNAT к BLOCKHOLE IP. В PREROUTING первое правило - переходить к этой цепочке. Кажется, это работает.

    DNAT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 1234 до: 0.0.0.1

Но вместо того, чтобы перенаправить его на БЛОК, мы можем как-то ОТКЛЮЧИТЬ этот трафик, чтобы клиент знал, что он не разрешен и, следовательно, отказался.

...