Как заблокировать доступ к определенному 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, см. этот ответ .