@Drno

Как правильно запретить выход на "серые" сети через eth0?

Доброго дня. Подскажите, как правильно дропнуть iptables любые исходящие на rfc1918 (серые подсети) ?
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Вводные по сереру - ubuntu 20, iptables, на сервере docker + lxc контейнеры. Локально они должны продолжать общаться.
Правильно ли я понимаю, что сделать надо вот так?
enp0s31f6 - интерфейс WAN
iptables -A FORWARD -o enp0s31f6 -d 192.168.0.0/16 -j REJECT
iptables -A FORWARD -o enp0s31f6 -d 172.16.0.0/12 -j REJECT
iptables -A FORWARD -o enp0s31f6 -d 10.0.0.0/8 -j REJECT


И правильно ли я понимаю, что надо делать это вконце моего скрипта фаерволла? он при старте системы загружает нужные правила
там сверху вниз -
Accept
проброс портов
masquerade

и в самый низ я пихаю эти 3 правила, мы же дропаем FORWARD этих пакетов ? или их надо пихать до правила masquerade ?
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
hint000
@hint000
у админа три руки
там сверху вниз -
Accept
проброс портов
masquerade
проброс портов и masquerade в таблице NAT, а цепочка FORWARD в таблице FILTER. Нет никакой разницы, заполните вы сперва NAT, затем FILTER или сперва FILTER, затем NAT.
Имеет значение только порядок правил в пределах каждой цепочки.
Таргет Accept доступен в любых цепочках таблицы FILTER и в любых цепочках таблицы NAT, так что совершенно бесполезна информация о том, что у вас сначала Accept - это никак не помогает определить, к чему относится ваш Accept.

Но можно с уверенностью ответить на последний вопрос:
и в самый низ я пихаю эти 3 правила, мы же дропаем FORWARD этих пакетов ? или их надо пихать до правила masquerade ?
Никакой разницы между этими вариантами не будет, они эквивалентны. Либо оба эти варианта будут работать, либо оба варианта работать не будут. Зависит от того, что у вас раньше в цепочке FORWARD.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ValdikSS
@ValdikSS
На уровне маршрутизации:
ip rule add to 10.0.0.0/8 oif enp0s31f6 prohibit
ip rule add to 192.168.0.0/16 oif enp0s31f6 prohibit
ip rule add to 172.16.0.0/12 oif enp0s31f6 prohibit
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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