Intereting Posts
перезагрузка с одноразовыми параметрами ядра Разница между `.sh` и` .csh` Почему я могу (или не могу) снова смонтировать подключенное устройство? Что происходит? Приложения KDE выглядят уродливыми по сравнению с ssh Как установить Moonlight в Chrome в Linux? В домашнем каталоге новых пользователей создайте подкаталог с определенной группой и разрешениями Пакетное переименование файлов из ненулевого начального индекса Как я могу перейти вверх или вниз в tmux с помощью Terminal.app? Переключитесь на макет dvorak при загрузке. (дешифрование и sddm) Почему некоторые процессы передают свое использование процессора другому процессу, когда он заканчивается? Как исправить ошибку загрузки Grub hd0 из диска RHEL Установка сообщения об ошибках при установке luks crypted filesystem при загрузке Сценарий с ошибкой «команда не найдена: ^ M» Замена нескольких слов в файле с разделителями табуляции альтернативными словами Как экспортировать переменные из файла?

Правило IPTABLES для разделения пользователей

У меня есть маршрутизатор OpenWrt 10.03 [IP: 192.168.1.1], и он имеет пул DHCP-серверов: 192.168.1.0/24 – клиенты используют его через беспроводное / проводное соединение. ОК!

Вот улов: мне нужно отделить пользователей друг от друга.

Как мне это нужно: по правилу IPTABLES [/etc/firewall.user].
ОК!
«Громкое мышление»: мне нужно правило вроде этого [на маршрутизаторе OpenWrt]:

– DROP, где ИСТОЧНИК: 192.168.1.2-192.168.1.255 и DESTINATION – 192.168.1.2-192.168.1.255

Идея такова. ОК!

Вопросов!
– Я заблокирую себя, если я применим это правило брандмауэра?
– Это безопасный метод? [Легко ли это сделать ?: привет, я клиент, и я говорю, мой IP-адрес – 192.168.1.1! – теперь он может обнюхать незашифрованный трафик! 🙁 – потому что все клиенты находятся в одной подсети!]
– Есть ли хорошие методы для поиска / аудита для дублированных IP-адресов?
– Существуют ли какие-либо хорошие методы для поиска / аудита для дублированных MAC-адресов?
– Есть ли хорошие методы для этого правила IPTALBES на Layer2 ?:
$ wget -q "http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/" -O - | grep -i ebtables $ wget -q "http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/" -O - | grep -i ebtables $

ps: Правило будет [это на хорошей цепочке?]: iptables -A FORWARD -m iprange -src-range 192.168.1.2-192.168.1.255 -dst-range 192.168.1.2-192.168.1.255 -j DROP
Спасибо!

Если вы хотите разделить беспроводных и проводных пользователей, почему они не соответствуют интерфейсам? Предполагая, что ppp0 сталкивается с Интернетом, eth0 является вашей локальной локальной сетью, а wlan0 – беспроводной:

 iptables -P FORWARD DROP # Drop everything except: iptables -A FORWARD -m state --state RELATED,ESTABLISHED # Accept already accepted connections iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT # Accept outgoing connections from local LAN iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT # Accept outgonig connnections from wlan 

Если вы используете это:

  • ничто не может быть связано с Интернетом
  • беспроводные пользователи могут подключаться только к Интернету
  • проводные пользователи могут подключаться только к Интернету
  • вы можете применять отдельные диапазоны IP, если вы добавляете --src-range

Если ваш DHCP-сервер запущен на устройстве OpenWrt, цепочка FORWARD никак не повлияет на это. Чтобы разрешить использование сервера DHCP

 iptables -P INPUT DROP # Drop everything except: iptables -A INPUT -m state --state RELATED,ESTABLISHED # Accept already accepted connections iptables -A INPUT ! -i ppp0 -p tcp --dport 22 -j ACCEPT # Don't forget SSH iptables -A INPUT ! -i ppp0 -p udp --sport 68 --dport 67 # Accept DHCP requests from any local network 

Обычно я допускаю все в OUTPUT, за исключением нескольких типов ICMP и спама. Но вы можете предпочесть более безопасный DROP по умолчанию, так что это конкретное правило:

 iptables -P OUTPUT DROP # Drop everything except: iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT ! -o ppp0 -p udp --sport 67 --dport 68 -j ACCEPT # Allow DHCP to the local network 

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

Я бы посоветовал против фильтрации MAC в моем опыте, это добавляет никакой безопасности только неудобства. Но если вы хотите увидеть:

 iptables -m mac --help 

Локальные MAC-адреса могут быть полезны, но их легко подделать. Просто добавьте -j LOG или -j NFLOG до правила ACCEPT с теми же правилами соответствия.

Поскольку вы настраиваете компьютер, доступный только из сети, вы должны быть очень осторожны, чтобы не блокировать себя. Вы не можете просто подойти к нему и удалить правила вручную. В частности, при вводе iptables -P INPUT DROP с пустой цепочкой INPUT будет убит ваш сеанс SSH. Я рекомендую использовать iptables-save и iptables-restore и записывать правила в файле конфигурации. Это также помогает, если вы можете протестировать правила на компьютере с клавиатурой и монитором, прежде чем попробовать его на маршрутизаторе.