Как стать автором
Обновить

Комментарии 3

Каждый раз, когда меняется ip контейнера, меняем iptables правила?
Нет, правила работает для всего подсети docker_zabbix. IP адрес контейнера внутри этой подсети.
Не забываем, что после перезагрузки сервера созданные правило стираются.


check_tables.sh
#!/usr/bin/bash
ips=("1.2.3.4" "5.6.7.8" "9.10.11.12")

# проверить правило-дырку
/usr/sbin/iptables -C DOCKER-USER -j RETURN 2>> /dev/null
if [[ $? -eq 0 ]]
then /usr/sbin/iptables -D DOCKER-USER -j RETURN
fi

# проверить запрет на доступ
/usr/sbin/iptables -C DOCKER-USER -i eth0 -j DROP 2>> /dev/null
if [[ $? -eq 1 ]]
then /usr/sbin/iptables -A DOCKER-USER -i eth0 -j DROP
fi

# проверить разрешение на доступ по ip
for ip in ${ips[@]}; do
 /usr/sbin/iptables -C DOCKER-USER -s $ip/32 -i eth0 -j RETURN 2>> /dev/null
 if [[ $? -eq 1 ]]
 then /usr/sbin/iptables -I DOCKER-USER 1 -s $ip -i eth0 -j RETURN
 fi
done
exit 0

и добавляем это в cron (crontab -e например)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории