Comments 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 например)
Sign up to leave a comment.
Пользовательские правила iptables для docker на примере zabbix