LINUX.ORG.RU

Увидел правила IPTABLES, зачем так делают?

 ,


2

1

Подскажите для общего развития. Прошивка для роутера «FreshTomato»

Есть правила в цепочке INPUT

iptables -A INPUT -j ACCEPT -m state --state NEW  
iptables -A INPUT -d wan-ip -j DROP  
iptables -A INPUT -j DROP -m state --state INVALID  
iptables -A INPUT -j ACCEPT -m state --state RELATED,ESTABLISHED  
...  
...  

Первому пакету с флагом SYN присваивается статус NEW.
Но, второй пакет SYN\ASK уничтожается. доступ к интерфейсу закрыт.

Вопрос в первых двух правилах.
Для чего так сделано?
Обычно, пропускают соединение RELATED,ESTABLISHED
Все остальное, кроме нужного закрыто…

Первое правило пропускает все пакеты со стейтом NEW. Второе правило дропает все пакеты на интерфейс wan_ip. То есть получается, пропускается отовсюду кроме wan_ip.

turtle_bazon ★★★★★
()
Последнее исправление: turtle_bazon (всего исправлений: 1)
Ответ на: комментарий от turtle_bazon

Что правила делают, я в курсе. )))
Зачем так сделано, нет…

Это обычный домашний роутер с одним внешним интерфейсом.

AndrK189100
() автор топика
Ответ на: комментарий от targitaj

Как оно работает я представляю.
Подумал, что, может, это, какой-то хитрый ход, который я не знаю)

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

Похоже на стандартный запрет доступа к сервисам роутера, не из локалки (например, по 443, 22, 21).

Если на роутере будет поднят VPN-сервер, то такой DROP вверху списка, будет мешать.

NDfan
()
Ответ на: комментарий от AndrK189100

Зачем так сделано, нет…

Ну обычно наружку наглухо закрывают на всех роутерах.

turtle_bazon ★★★★★
()

Сделана какая-то фигня. Разве что для udp/icmp что-то даст. Типа первый пакет всегда пропускаем — dns-запрос, первый пинг...

Но, стиль написания правил разный, возможно второе правило вписал кто-то другой, не особо задумываясь.

mky ★★★★★
()

индусы-отсорсеры за 3 копейки и не такое напишут

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

По идее более корректно надо писать следующее

#### Первее всех - следующие два(если логиировать, то три) правила. 
#   Нулевое - если нужно логирование
iptables -A INPUT -j LOG --log-prefix "INVALID: " -m state --state INVALID 
#   Первое - сброс поврежденных
iptables -A INPUT -j DROP -m state --state INVALID 
#   Второе - разрешаем последующие/зависимые пакеты с ранее разрешенных соединений
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED 

#### а вот дальше уже творим что хотим с трафиком.
# блокируем всё что пришло на "внешний" адрес "wan-ip"
iptables -A INPUT -d wan-ip -j DROP  
# и только потом, разрешаем все входящие к роутеру
iptables -A INPUT -j ACCEPT -m state --state NEW  

Atlant ★★★★★
()
Последнее исправление: Atlant (всего исправлений: 1)
Ответ на: комментарий от Atlant

у вас тоже какая-то простыня. вот как должно быть:

iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $lan_interface -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Rost ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.