
Я ищу надежный метод блокировки нежелательного трафика TCP/IP.
На моей машине Linux iptables и ipset, похоже, предлагают хороший способ сделать это.
До сих пор я делал следующее:
ipset create ipsok hash:net maxelem (result of wc -l for my cidr list in a file)
ipset add <network address>
И убедился, что это единственный ipset, использующий:
service ipset status
Здесь отображается только ipset ipsok с правильным количеством записей. Я также убедился, что ipset используется после перезагрузки. Затем я добавляю ipset в правила iptables:
iptables -I INPUT -m set --match-set ipsok src -j ACCEPT
Чтобы проверить, работает ли это, я позволяю TOR предоставить мне IP-адрес и проверяю это с помощью:
ipset test ipsok <tor ip address>
Это говорит мне, что адресНЕТв наборе ipsok.
Когда я направляю браузер tor на свою машину, соединение устанавливается. Это правильно? Я думал, что соединение не будет установлено, потому что ip-адрес не найден в ipset.
Что мне нужно сделать, чтобы iptables (и ipset) блокировали трафик?НЕТисходит с любого сетевого адреса в ipset ipsok?
решение1
Политика Iptables по умолчанию — ACCEPT
. Таким образом, добавляя IP-адреса в свой список, вы ПРИНИМАЕТЕ их только дважды.
Вы iptables -L
должны показать столько же, то есть единственными правилами будут правила ПРИНЯТЬ.
Измените значение по умолчанию на DROP, а затем добавьте элементы в ACCEPT.
Попробуйте это, прежде чем устанавливать правило для сопоставления:
iptables -P INPUT DROP
Будьте осторожны — не делайте этого удаленно, иначе вы рискуете остаться без доступа к сети.