Некоторые из сервисов, которые мы запускаем на наших серверах с Docker, пытаемся подключиться к частным IP-адресам (10.0.0.0/8, 192.0.0.0/16, 172.16.0.0/12 , 100,64,0,0/10).Блокировать исходящие соединения с частными IP-адресами из контейнеров Docker
Это обычное поведение, но наш сервер-провайдер обнаруживает этот трафик и отправляет нам оповещения.
Мы хотели бы остановить только исходящий трафик, а не входящий с iptables.
Это наша текущая настройка:
-A OUTPUT -d 192.168.0.0/16 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 100.64.0.0/10 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 172.16.0.0/12 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 10.0.0.0/8 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
Однако это, кажется, не работает, потому что Docker создает следующие правила:
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-ISOLATION all -- anywhere anywhere
DOCKER all -- anywhere anywhere
За услуги:
Chain DOCKER (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:1234
ACCEPT tcp -- anywhere 172.17.0.4 tcp dpt:1234
Наконец:
Chain DOCKER-ISOLATION (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Любая обратная связь приветствуется.
Я не эксперт iptables, но вы можете остановить Docker, изменяя ваши iptables, передав '--iptables = false' в качестве флага для демона при его запуске. – johnharris85
Спасибо за совет, но мы хотим, чтобы Docker добавил свои собственные правила брандмауэра. –
Все или ничего атм afaik. – johnharris85