Я пытаюсь запустить частный реестр докеров на своем 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 ответ
Отбрасывание всего трафика в OUTPUT
Правило не позволит вам получить доступ к каким-либо контейнерам на вашем хосте: с точки зрения вашей системы, контейнер имеет адрес «где-то еще в сети», как и все, что доступно через ваше соединение Ethernet или Wi-Fi.
Если вы хотите заблокировать «весь трафик, исходящий от вашего основного интерфейса», вы можете написать что-то вроде:
iptables -A OUTPUT -o eth0 -j DROP
Это повлияет только на трафик, выходящий на eth0
(но поскольку это помешает работе таких вещей, как DNS, вероятно, вам понадобится более тонкий набор правил).
жаворонки