LINUX.ORG.RU
решено ФорумAdmin

Помогите с iptables. почемуто работает dhcp хотя не должен

 ,


0

1

Помогите с iptables. почемуто работает dhcp развернутый на этом сервере. Хотя разрешающих правил нет и в лог пишется что

Iptables: --OUT--BLOCKIN= OUT=eth2 SRC=192.168.203.3 DST=192.168.203.201 LEN=328 TOS=0x00 PREC=0x00 TTL=64 ID=40111 DF PROTO=UDP SPT=67 DPT=68 LEN=308 А клиент все равно получает ip 192.168.203.201 а в блокируемом трафике нет входящего запроса от клиента (он же тоже должен быть upd d67-s68 ?)

$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Запрещаем все, что не разрешено
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT


#### тестим пакеты на правильность, и  сбрасываем + логируем неправильные
$IPT -N tcp_check #цепочка для тестов
$IPT -F tcp_check
$IPT -A INPUT -j tcp_check
$IPT -A FORWARD -j tcp_check

# Отбрасываем неопознанные пакеты  ##-m limit --limit 3/minute - для отсеевения кучи пакетов
$IPT -A tcp_check -m state --state INVALID -j LOG --log-prefix "Iptables: check: --invalid"
$IPT -A tcp_check -m state --state INVALID -j DROP
#$IPT -A FORWARD -m state --state INVALID -j DROP
$IPT -A tcp_check -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "Iptables: check: --flags_nul"
$IPT -A tcp_check -p tcp --tcp-flags ALL NONE -j DROP
#блокирует нулевые пакеты
$IPT -A tcp_check -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "Iptables: check: --XMAS"
$IPT -A tcp_check -p tcp --tcp-flags ALL ALL -j DROP
#сброс пакетов XMAS
$IPT -A tcp_check -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "Iptables: check: --syn-fluud"
$IPT -A tcp_check -p tcp ! --syn -m state --state NEW -j DROP
#защита от syn-flood

###### основные правила

#разрешаем установленные подключения (иначе придется форвард ssh почти всем давать)
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT


# разрешаем пинг К узлу и сквозь
$IPT -A FORWARD -p icmp --icmp-type 0 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type 8 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type 8 -j ACCEPT
$IPT -A OUTPUT -p icmp -j ACCEPT
#DNS и ntp
$IPT -A OUTPUT -p udp -m multiport --dport 53,ntp -j ACCEPT
$IPT -A INPUT -p udp -m multiport --dport 53 -j ACCEPT
$IPT -A INPUT -i $LAN_2170 -p TCP --dport 22 -j ACCEPT
$IPT -A FORWARD -p TCP --dport 22 -j ACCEPT ###############а правильно ли это?
### это надо переделать или под нат или еще как

#Разрешаем ftp (обновление + хранилка)

$IPT -A OUTPUT -o $LAN_2170 -d 192.168.160.3 -p TCP -m multiport --dport 20,21,50100:50400 -j ACCEPT #50000:50400



# Включаем логирование  раскоментом логов лежит в /var/log/iptables.log
# все что не попало под правила  сбрасываем
$IPT -N block_in
$IPT -N block_out
$IPT -N block_fw
$IPT -A INPUT -j block_in #все что не прошло по таблицам ранньше будет сброшено сдесь
$IPT -A OUTPUT -j block_out
$IPT -A FORWARD -j block_fw
$IPT -A block_in -j LOG --log-level info --log-prefix "Iptables: --IN--BLOCK"
$IPT -A block_in -j DROP
$IPT -A block_out -j LOG --log-level info --log-prefix "Iptables: --OUT--BLOCK"
$IPT -A block_out -j DROP
$IPT -A block_fw -j LOG --log-level info --log-prefix "Iptables: --FW--BLOCK"
$IPT -A block_fw -j DROP

# Сохраняем правила
/sbin/iptables-save  >  /etc/iptables/rules.v4



Последнее исправление: lergus (всего исправлений: 1)

а погуглить.

потому что работает ниже нетфильтра, на втором уровне. а вот отдачу опций по udp уже блокирует.

anonymous
()

Насколько помню -p RAW отвечает за dhcp, и фильтрация по UDP на него не должна действовать. Смотрите еще напримре вот эту ветку: dhcp и iptables .

Infra_HDC ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.