Каков наилучший способ ограничить IP-адреса, которые могут быть доступны из контейнера докеров?

У меня есть ответ, который ограничит контейнеры докеров, чтобы иметь доступ только к одному IP-адресу за пределами хоста. Используя это правило iptables на хосте:

Iptables -I FORWARD -i docker0! -d 8.8.8.8 -j DROP

Означает, что изнутри любых контейнеров докеров можно получить доступ только к IP-адресу 8.8.8.8.

Это довольно радикально – в основном, если пункт назначения НЕ 8.8.8.8, то снимите пакет.

Каким образом я могу настроить правила, которые позволили бы мне ограничить контейнеры определенным количеством IP-адресов?

Мне нужно было убедиться, что авторская копия веб-сайта, находящегося в контейнере докера, не сможет получить доступ к каким-либо живым ресурсам – Paypal, различным API и т. Д. Код на веб-сайте был устаревшим, а многие вещи / URL-адреса были жестко закодированы.

То, как я достиг этого, было иметь что-то подобное в скрипте сборки:

echo echo "Setting up firewall rules for all docker containers..." sudo ipset create dockerdests hash:ip -exist sudo ipset add dockerdests xxxx -exist sudo ipset add dockerdests yyyy -exist sudo ipset add dockerdests 8.8.8.8 -exist sudo ipset add dockerdests 8.8.4.4 -exist sudo iptables -I FORWARD 1 -i docker0 -m set --match-set dockerdests dst -j ACCEPT sudo iptables -I FORWARD 2 -i docker0 -j DROP 

Где xxxx и yyyy являются ресурсами dev.

  • Маршрутизация политики для сервера и клиента OpenVPN на одном маршрутизаторе?
  • Почему я не могу заблокировать https?
  • Какие правила iptables разрешают ntp?
  • Тот же IP-адрес на двух сетевых адаптерах?
  • Ubuntu IPTables позволяет разрешить только 1 страну
  • Предел пропускной способности по порту на iptables
  • DD-WRT - Переадресация на основе хоста
  • Маршрутизация трафика ЛВС через eth0, а не tun0, в точке доступа к VPN
  • Не знаю, что слушает порт 80 в OS X
  • Как перенаправить определенный трафик через OpenVPN?
  • Сценарий Linux iptables для блокировки всего доступа в Интернет, за исключением желаемых приложений
  • Давайте будем гением компьютера.