@santared

Как создать whitelist на iptables если я использую cloudflare?

Всем привет. Хочу сделать вайтлист на уровне iptables, но сайт под cloudflare.
Debian, nginx.

Вроде получается заблокировать пользователя, но вот сделать вайтлист никак.

>iptables -F
>iptables -X
>iptables -A INPUT -p tcp --dport 80 -m string --string "CF-Connecting-IP: 1.1.1.1" --algo bm -j DROP
// банит только 1.1.1.1


а если делать вайт
>iptables -F
>iptables -X
>iptables -A INPUT -p tcp --dport 80 -j DROP
>iptables -A INPUT -p tcp --dport 80 -m string --string "CF-Connecting-IP: 1.1.1.1" --algo bm -j ACCEPT
//банит всех, пробовал в разном порядке указывать, порты/ипы


Подскажите в чем проблема или есть решения проще? бан нужен на уровне сервере только для порта :80
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ответы на вопрос 4
Zoominger
@Zoominger
System Engineer
Ну так правильно, у вас правило "блокировать всё на 80 порту" раньше остальных, а они выполняются по порядку, поэтому следующие правила даже не проверяются.
Ответ написан
@dronmaxman
VoIP Administrator
>iptables -F
>iptables -X
>iptables -A INPUT -p tcp --dport 80 -m string --string "CF-Connecting-IP: 1.1.1.1" --algo bm -j ACCEPT
>iptables -A INPUT -p tcp --dport 80 -j DROP

Поменяйте местами строки. Правило запрета должно быть последним.
Ответ написан
@tamogavk
@deni4ka
Вдумайтесь, вам нужно настроить IPtables по следующему принципу: все что не разрешено запрещено!
Ответ написан
SignFinder
@SignFinder
Wintel\Unix Engineer
Ключ -A добавляет правило в конец цепочки, ключ -I в начало. Оперируйте ими, чтобы добавить правило в правильное место. Если пакет подпадает под первое правило, остальными он уже не обрабатывается. Для просмотра правил используйте iptables -nL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы