Как заблокировать доступ к определенному IP-адресу из служб Docker Swarm

Я развернул свой сервис с помощью Docker Swarm в Digital Ocean VPC.

Я хочу заблокировать доступ службы к http://169.254.169.254/metadata/v1.json , который является API метаданных, по соображениям безопасности. Кто-нибудь знает как это сделать?

Спасибо,

2 ответа

Есть 2 способа заблокировать IP:169.254.169.254

1. Заблокируйте IP на хост-машине.

      # to block:
$ route add -host 169.254.169.254 reject

# to show the current routes:
$ route

2. Заблокируйте IP-адрес для докер-контейнера только в цепочке фильтров докеров с помощью iptables

      # to block
$ iptables -I DOCKER-ISOLATION-STAGE-1 -d 169.254.169.254 -j DROP

# to show the current tables:
$ iptables -vL

Вам следует заблокировать его на своем хост-компьютере, Docker использует конфигурацию сети хост-компьютера, поэтому, если ваш хост-компьютер использует iptables, вы можете использовать эту статью , чтобы заблокировать доступ.

Также вы можете заблокировать исходящий трафик из Docker, используя те же iptables, см. этот ответ .

Другие вопросы по тегам