У меня есть два (виртуальных) сервера под управлением CentOS с установленным Docker.

Мы установили IPTables и все работает как положено.

Затем я адаптирую файл сервиса: /usr/lib/systemd/system/docker.service

И установите команду execute, чтобы не настраивать брандмауэр.

ExecStart=/usr/bin/dockerd --iptables=false 

Теперь, если я запускаю докер-контейнер и пытаюсь свернуть адрес, я получаю ошибку curl: (6) Не удалось разрешить хост: google.com; Неизвестная ошибка

У меня есть следующие сети:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:23:7d:e9:c3:58 brd ff:ff:ff:ff:ff:ff
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:ff:62:c5:5f brd ff:ff:ff:ff:ff:ff
7: vethc4abff6@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 02:ba:1c:a3:6d:fc brd ff:ff:ff:ff:ff:ff link-netnsid 0

И правила IPTable:

iptables -A INPUT -i docker0 -j ACCEPT
iptables -A FORWARD -i docker0 -o eth0 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

Я ожидал, что это позволит доступ в Интернет из контейнеров - и это, кажется, отлично работает на другом сервере CentOS.

Что мне не хватает?

0