Запустите реестр Docker за iptables

Я пытаюсь запустить частный реестр докеров на своем CentOS 7 VPS, на котором работают httpd apache и iptables.

Когда я запускаю контейнер, docker run -it -p 5017:5000 --name registry registryя пытаюсь бежать curl http://localhost:5017/v2 и я получаю следующую ошибку через 5 минут (до этого никаких выходных данных не было):

curl: (56) Recv failure: Connection reset by peer

Я понял, что если я отключу свои iptables, я смогу нормально подключиться к своему контейнеру докеров. Я смотрел свои правила iptable и заметил, что если я закомментирую одно из них, все работает нормально. Правило, которое я комментирую, -A OUTPUT -j DROP. Но я действительно не хочу разрешать весь исходящий трафик. Все хорошо? Или есть определенный порт, который я должен открыть?

Я попытался добавить все следующие правила, и ни одно из них не помогло.

-A INPUT -p tcp --dport 5000 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport 5000 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p tcp --dport 5017 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport 5017 -m state --state ESTABLISHED -j ACCEPT

-A INPUT -p tcp -m tcp --dport 5000 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 5000 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 5000 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 5017 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 5017 -m state --state ESTABLISHED -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 5017 -j ACCEPT

iptables докер Centos7 docker-compose докер-реестр

1 ответ
1

Отбрасывание всего трафика в OUTPUT Правило не позволит вам получить доступ к каким-либо контейнерам на вашем хосте: с точки зрения вашей системы, контейнер имеет адрес «где-то еще в сети», как и все, что доступно через ваше соединение Ethernet или Wi-Fi.

Если вы хотите заблокировать «весь трафик, исходящий от вашего основного интерфейса», вы можете написать что-то вроде:

iptables -A OUTPUT -o eth0 -j DROP

Это повлияет только на трафик, выходящий на eth0 (но поскольку это помешает работе таких вещей, как DNS, вероятно, вам понадобится более тонкий набор правил).

жаворонки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *