Вот результат моего iptables-save
команда. Последнее правило и политика по умолчанию - отбрасывать любые пакеты, которые ни с чем не совпадают.
Generated by iptables-save v1.4.9 on Wed Aug 3 21:00:05 2011
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [76:6239]
-A INPUT -p -m tcp --dport 8080 -j ACCEPT
-A INPUT -p -m tcp --dport 2222 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -j DROP
Но что удивительно, DHCP и любой другой трафик проходят ... Посоветуйте, пожалуйста, как разрешить соединения только на портах 8080 и 2222 и отказаться от всего остального.
Правила iptables устанавливаются на FedoraRouter
Машина. И это FedoraRouter
машина работает под управлением Apache и SSH на портах 8080 и 2222 соответственно.
Клиенты FedoraClient
и WinXP-Client
необходимо иметь доступ только к этим услугам. Я не могу заблокировать их по IP, потому что в будущем я буду добавлять больше компьютеров, все, кроме HTTP и SSH-трафика, нужно вообще исключить.
На основе текущей настройки - он разрешает пакеты DHCP к маршрутизатору, маршрутизатор фактически работает с DHCP, и мне нужно его заблокировать.
Спасибо!
ISC dhcpd, для различные довольно досадные причины использует сырые сокеты для выполнения сетевого ввода-вывода. Для другие технические причины, необработанные сокеты обходятся iptables
обработка (в том числе неправильно названные raw
table), что делает iptables неэффективным для фильтрации трафика DHCP-сервера, когда брандмауэр и хост находятся на одном компьютере.
Вы можете прочитать о сырых сокетах здесь http://www.linuxchix.org/content/courses/security/raw_sockets.
Трафик DHCP все равно транслируется, и заблокировать его для каждого клиента непросто. Так почему бы вам просто не выключить демон dhcpd?