Разрешение доступа по гео с iptables Устанавливаем необходимые пакеты: apt-get -y install iptables-persistent apt-get -y install ipset Для постоянности работы ipset необходимо создать службу /etc/systemd/system/ipset-persistent.service : [Unit] Description=ipset persistent configuration Before=network.target # ipset sets should be loaded before iptables # Because creating iptables rules with names of non-existent sets is not possible Before=netfilter-persistent.service Before=ufw.service ConditionFileNotEmpty=/etc/iptables/ipset [Service] Type=oneshot RemainAfterExit=yes ExecStart=/sbin/ipset restore -exist -file /etc/iptables/ipset # Uncomment to save changed sets on reboot # ExecStop=/sbin/ipset save -file /etc/iptables/ipset ExecStop=/sbin/ipset flush ExecStopPost=/sbin/ipset destroy [Install] WantedBy=multi-user.target RequiredBy=netfilter-persistent.service RequiredBy=ufw.service Включаем нашу службу: systemctl daemon-reload systemctl enable ipset-persistent.service systemctl restart ipset-persistent.service Создаем новую зону содержащую российские подсети: ipset create "RU_zone" hash:net for IP in $(wget -O - https://www.ipdeny.com/ipblocks/data/countries/ru.zone); do ipset add "RU_zone" $IP; done Проверяем, что добавились подсети в зону: ipset -L RU_zone | less Для персистентности подсетей сохраняем и подгружаем их из файла: ipset save > /etc/iptables/ipset ipset restore < /etc/iptables/ipset Сохраняем текущие правила iptables: iptables-save > /root/rules.v4 Добавляем разрешение в нужном месте (определите его самостоятельно) доступа по гео в сохраненном файле /root/rules.v4: -A INPUT -p tcp -m set --match-set RU_zone src -m tcp --dport 22000 -j ACCEPT Для персистентности правил сохраняем их: cp /root/rules.v4 /etc/iptables/rules.v4 Применение новых правил iptables: iptables-restore < /etc/iptables/rules.v4   Полезная утилита для мониторинга работы iptables - iptstate