Либо я что-то не понимаю - либо просто дропать трафик на внешнем интерфейсе (например, eth0) для внутренней сети (например, 10.0.0.0/8) в правиле mangle/PREROUTING: iptables -t mangle -I PREROUTING -i eth0 -d 10.0.0.0/8 -j DROP 17.05.19 16:14, Volodymyr Litovka пише:
Привет,
попросили помочь с одной конфигурацией, но у меня затык, может кто подскажет.
Есть микрот (другими словами - Linux), у которого есть интерфейсы LAN, Inet и несколько VPN-туннелей (over Inet). В VPN поднят OSPF и статического списка внутренних сетей нет. NAT включен на out interface Inet.
Задача - запретить выход в Интернет для некоторых хостов из LAN - решается просто добавлением списка этих хостов в исключение NAT-правила. А вот как включить фильтрацию на внешнем интерфейсе и дропать пакеты из внутренней сети (с целью избежания анализа трафика и получения информации о структуре внутренней сети) уже не получается, поскольку NAT является последним процессом в postrouting (https://www.booleanworld.com/depth-guide-iptables-linux-firewall/)
И я не нахожу приемлемого решения: - включать NAT на LAN (ну чтобы потом в postrouting запретить внутренние адреса) - нельзя, потому что есть VPN-туннели, в которых трафик должен бегать в неизменном виде - для фильтрации на LAN ("запретить всё, что не разрешено") нет критериев, потому что раутинг строится на основе OSPF и списка "разрешенных сетей" как такового нет - перенести хосты в другую подсеть: во-первых, нереально, а, во-вторых, ничего не дает по озвученным выше причинам - убрать default на хостах не рассматривается ввиду того, что выполнение этого правила сложно контролировать :)
Подскажите, пожалуйста, как в такой схеме можно: запретить доступ некоторым хостам к интернету без потери конфиденциальности.
Спасибо.