Контейнер Docker не может выполнять DNS-запросы с запущенным FirewallD
472
ollien
Во время работы FirewallD все DNS-запросы не выполняются и блокируются брандмауэром. Запуск tcpdump -i docker0
во время работы ping google.com
в контейнере показывает мне
21:27:02.683342 IP 172.17.0.2.35118 > google-public-dns-a.google.com.domain: 54430+ AAAA? google.com. (28) 21:27:02.683399 IP 172.17.0.1 > 172.17.0.2: ICMP host google-public-dns-a.google.com unreachable - admin prohibited filter, length 64
Pinging, 8.8.8.8
например, или любой другой абсолютный IP, работает нормально.
Если я явно добавлю docker0
или 172.17.0.0/16
в trusted
зону, запросы пройдут. Тем не менее, другой из моих машин в том же дистрибутиве (openSUSE Tumbleweed) работает нормально.
Я порвал через мою конфигурацию FirewallD, и там не упоминается ни об этой подсети, ни об docker0
интерфейсе. Я действительно не уверен, что происходит и где искать. Вы можете найти мои действующие правила FirewallD ниже.
sudo firewall-cmd --get-active-zones public sudo firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: wlp4s0 sources: services: dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Вы смотрели на [это] (https://opsech.io/posts/2017/May/23/docker-dns-with-firewalld-on-fedora.html) или [это] (https: //unix.stackexchange .com / вопросы / 199966 / как конфигурируемые-CentOS-7-firewalld к Allow-докеров-контейнеры свободного доступа к-й)?
JakeGould 5 лет назад
0
Да. Они оба предлагают добавить интерфейс к доверенному, который, как я сказал, будет работать в OP, но я пытаюсь выяснить основную причину, а не просто добавить его в качестве доверенного интерфейса. Моя другая машина работает без этого, поэтому я, конечно, озадачен.
ollien 5 лет назад
0
Затем вы должны сравнить конфигурацию между двумя машинами. Вы написали здесь активную зону («Активные зоны - это зоны, которые имеют привязку к интерфейсу или источнику»), это не означает, что в других зонах нет других правил, действующих на порту 53, или добавлено взаимодействие с iptables докера. правила
A.B 5 лет назад
0
Я сравнил их столько, сколько я могу, но я не могу ничего найти. Есть ли что-то конкретное, что может быть полезным? Я искал высоко и низко безрезультатно.
ollien 5 лет назад
0
вы все равно можете сбросить результаты iptables "низкого уровня" с помощью `iptables-save -c` на обоих и вручную попытаться найти различия. Но и firewalld, и Docker, вероятно, добавляют много цепочек и правил (возможно, с мостами, имеющими разные встроенные идентификаторы в названии), что затрудняет это. Я не думаю о более простом методе (который все еще может быть найден)
A.B 5 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
5
Поделитесь XP сетевым подключением без перезагрузки?
-
1
Переключить настройки DNS для каждого пользователя Windows?
-
-
5
Как мне сказать Windows использовать 802.11 вместо 3G?
-
4
Есть ли способ поделиться сканером многофункционального принтера?
-
3
Есть ли способ соединить два компьютера через USB?
-
3
Как сохранить несколько подключений к интернету?
-
4
iPod-Touch для воспроизведения фильмов с ПК на PS3?
-
2
Mac не присоединится к рабочей группе Windows
-
1
Как я могу повысить безопасность своего портала?