Рейтинг:1

Проблема с iptables для рабочего стола Ubuntu-20.04.3

флаг in

Я хочу проверить некоторые правила 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 (на другой виртуальной машине) и попытался сбросить несколько пакетов, но это не сработало.
пакеты регистрируются, но не отбрасываются.
Я не знаю, связаны эти случаи или нет.

Рейтинг:0
флаг gn

Ваш вопрос действительно хороший. Сообщений об ошибках нет, и все выглядит правильно с помощью различных инструментов запроса iptables.

Однако вам необходимо разрешить трафик к/от локального петлевого интерфейса, вот. Так что вам нужно еще одно правило. Кстати, вам не нужно -т фильтр часть. Итак, я изменил сетевой интерфейс моего тестового компьютера, и я использую tcpdump вместо wireshark, и у меня есть два запущенных экземпляра, один на lo и один на моем сетевом адаптере:

sudo iptables -A ВЫВОД -o lo -j ПРИНЯТЬ
sudo iptables -A ВЫВОД -p udp --dport 53 -o br0 -j ПРИНЯТЬ
sudo iptables -P ВЫХОД DROP
nslookup google.com
Сервер: 127.0.0.53 <<<<<<< ПРИМЕЧАНИЕ:
Адрес: 127.0.0.53#53

Неавторитетный ответ:
Название: google.ru
Адрес: 142.251.33.78
Название: google.ru
Адрес: 2607:f8b0:400a:806::200e

и:

doug@s19:~/iptables/tmp$ cat c06.txt
2021-11-21 09:41:07.851723 IP 192.168.111.136.37847 > 192.168.111.1.53: 52661+ [1au] А? google.com. (39)
2021-11-21 09:41:07.879409 IP 192.168.111.1.53 > 192.168.111.136.37847: 52661 1/0/1 А 142.251.33.78 (55)
2021-11-21 09:41:07.884300 IP 192.168.111.136.52279 > 192.168.111.1.53: 58740+ [1au] AAAA? google.com. (39)
2021-11-21 09:41:07.899157 IP 192.168.111.1.53 > 192.168.111.136.52279: 58740 1/0/1 AAAA 2607:f8b0:400a:806::200e (67)

и:

doug@s19:~/iptables/tmp$ cat l01.txt
2021-11-21 09:41:07.850815 IP 127.0.0.1.51470 > 127.0.0.1.51470: UDP, длина 1
2021-11-21 09:41:07.851625 IP 127.0.0.1.46738 > 127.0.0.53.53: 31736+ А? google.com. (28)
2021-11-21 09:41:07.879486 IP 127.0.0.53.53 > 127.0.0.1.46738: 31736 1/0/0 А 142.251.33.78 (44)
21.11.2021 09:41:07.884223 IP 127.0.0.1.35841 > 127.0.0.53.53: 58878+ AAAA? google.com. (28)
2021-11-21 09:41:07.899259 IP 127.0.0.53.53 > 127.0.0.1.35841: 58878 1/0/0 AAAA 2607:f8b0:400a:806::200e (56)

Так почему сервер кажется локальным? По умолчанию Ubuntu запускает локальный резолвер для буферизации DNS-записей и тому подобного:

doug@s19:~$ sudo ss -tulpn | группа ":53"
Состояние Netid Recv-Q Send-Q Локальный адрес: порт Одноранговый адрес: процесс порта
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:* пользователи:(("systemd-resolve",pid=834,fd=12))
tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* пользователи:(("systemd-resolve",pid=834,fd=13))

см. также результаты статус sudo systemctl systemd-resolved и связанные справочные страницы.

keroles gamal avatar
флаг in
Большое тебе спасибо я сделал как ты сказал и все заработало но ответное сообщение nslookup не то, что я ожидал не могли бы вы объяснить, почему в ответном сообщении nslookup говорится, что сервер является моей петлей «127.0.0.53»? Я ожидал 8.8.8.8 Я перепробовал много доменов, и все равно сервер мой loopback "127.0.0.53" что происходит за кадром?
Doug Smythies avatar
флаг gn
ответ отредактирован с ответом на ваш комментарий.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.