Я хочу проверить некоторые правила iptables
правило заключается в том, чтобы запретить весь исходящий трафик, кроме DNS.
поэтому я изменил правило OUTPUT по умолчанию для таблицы фильтров на DROP с помощью этой команды.
sudo iptables -t фильтр -P ВЫХОД DROP
затем я добавил это правило к ACCEPT DNS-трафику.
sudo iptables -t filter -A ВЫВОД -p udp --dport 53 -o ens33 -j ПРИНЯТЬ
и я запускаю эту команду, чтобы проверить политику.
nslookup google.com
и перед запуском этой команды я запускаю wireshark на своей виртуальной машине и хосте.
затем команда nslookup потратила некоторое время и выдала мне это сообщение.
время соединения истекло; нет доступа к серверам
а wireshark (на вм и на хосте) не перехватывал никакие пакеты.
поэтому я удалил это правило и добавил другое.
sudo iptables -t filter -A ВЫВОД -p udp --dport 53 -j ПРИНЯТЬ
и сделал то же самое, что и раньше.
то же сообщение появляется снова, но wireshark (на виртуальной машине и на хосте) перехватывает пакеты (запрос и ответ).
затем я удалил это правило и добавил следующее правило.
sudo iptables -t filter -A ВЫВОД -p udp -j ПРИНЯТЬ
и сделал то же самое, что и раньше.
на этот раз команда nslookup возвращает результат, и wireshark перехватывает пакеты.
Так почему это происходит?
перед этими тестами я установил snort (на другой виртуальной машине) и попытался сбросить несколько пакетов, но это не сработало.
пакеты регистрируются, но не отбрасываются.
Я не знаю, связаны эти случаи или нет.