kinglostov
@kinglostov
просто lostov

Как в iptables фильтровать INPUT и OUTPUT по IP лист (White List)?

Есть линукс (убунту) сервер, в сервере надо фильтровать запрос по ИП лист (iplist.txt) точнее пропускать все исходящий и входящий трафик по iplist.txt (IP лист ) а остальных заблокировать! Заранее спасибо! В интернете что-то нашёл, как-то переделал но только не был((
Вроде этой но наоборот, тут баш скрипт для чёрный список а нам белый список
_input=/root/firewall/badips.db
_pub_if="eth1"
IPT=/sbin/iptables
 
[ ! -f "$_input" ] && { echo "$0: File $_input not found."; exit 1; }
 
$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 -A OUTPUT -o ${_pub_if} -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i ${_pub_if} -m state --state ESTABLISHED,RELATED -j ACCEPT
 
 
$IPT -N droplist
 
egrep -v "^#|^$" x | while IFS= read -r ip
do
	$IPT -A droplist -i ${_pub_if} -s $ip -j LOG --log-prefix " Drop Bad IP List "
	$IPT -A droplist -i ${_pub_if} -s $ip -j DROP
done <"${_input}"
 
$IPT -I INPUT -j droplist
$IPT -I OUTPUT -j droplist
$IPT -I FORWARD -j droplist

$IPT -A INPUT -m limit --limit 5/m --limit-burst 7 -j LOG
$IPT -A INPUT -j DROP

  • Вопрос задан
  • 604 просмотра
Решения вопроса 1
martin74ua
@martin74ua Куратор тега Linux
Linux administrator
создаете в ipset белый список

устанавливаем политику по умолчанию для цепочек - запретить все

iptables -P INPUT -j DROP
iptables -P OUTPUT -j DROP

разрешаем на вход и на выход по белому списку

iptables -A INPUT --src-list WHITE_LIST -j ALLOW
iptables -A OUTPUT --dst-list WHITE_LIST -j ALLOW

писал прям тут, стоит сначала проверить по документации ;)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы