убунтой, чтобы :
1) оно работало с докером и желательно с кубернетесом (и чтобы при перезапуске файрвола и/или докера крышу никому не сносило)
2) оно настраивалось через ansible
пробовал и ufw, и firewalld - не зашло по причине (1) и по скудному функционалу (например, если на сервере несколько ip адресов, я не могу через нативные правила сделать форвард ip1:443 на один внутренний IP, а ip2:443 на другой)
склоняюсь к простому iptables, но не нашёл правильного способа рулить им из ансибла. Неужели придётся велосипед делать?
Не надо так делать. Что бы куб корректно работал, он должен сам управлять iptables
Это та область, куда можно соваться, но только если знаешь как :) Если заюзать cilium, то там вообще всё ebpf и никаких iptables (всё никак не попробую).
У нас iptables + ferm + saltstack работает, но это не суть важно, это может быть и ansible. Cni разные в разных кластерах: flannel, weave, calico. Если вам очень нужно, то почитайте что ваш cni делает с iptables и от этого отталкиваетесь.
Ну вот если человек спрашивает как, то наверное пока рано:)
sudo iptables -N internal-services; sudo iptables -N external-services; sudo iptables -A internal-services -p tcp —dport 80 -m state —state NEW -j ACCEPT; sudo iptables -A internal-services -j RETURN; sudo iptables -A external-services -p tcp —dport 22 -m state —state NEW -j ACCEPT; sudo iptables -I INPUT -I lo -j ACCEPT sudo iptables -I INPUT 2 -m state —state ESTABLISHED, RELATED -j ACCEPT sudo iptables -I INPUT 3 -j internal-services sudo iptables -I INPUT 4 -j external-services sudo iptables -P INPUT DROP sudo iptables -I DOCKER-USER -j internal-services sudo iptables -I DOCKER-USER -j external-services
Обсуждают сегодня