iptables -A INPUT -p tcp --dport 2222 -m conntrack --ctstate NEW -m recent --name BLOCK --rcheck --seconds 600 -j DROP // если хост уже есть в таблице - дропiptables -A INPUT -p tcp --dport 2222 -m conntrack --ctstate NEW -m hashlimit --hashlimit-name BLOCK --hashlimit-mode srcip --hashlimit-above 2/m --hashlimit-burst 2 -m recent --name BLOCK --set -j DROP // если ещё нету, но ломится больше 2 попыток в минуту - попадает в таблицу. дроп.iptables -A INPUT -p tcp --syn --dport 2222 -j ACCEPT //Если нет в таблице и не ломится - пропускаем. iptables -t nat -A FORWARD -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.15:22 \\ Редирект на внутренний хост
Остались вопросы:
- IP клиентам назначаются вручную? Автоматом никак?
- Если у меня клиенты - это Роутеры, как достучаться до компьютеров за ними?
- Как достучаться по имени пк? (идеальный вариант).
Тоесть я так понимаю, мне где-то надо будет хранить таблицу с маршрутами и таблицу с именами ПК. Но что-то затрудняюсь в понимании как это реализовать.
Мне надо чтоб мой ПК послал запрос на \\Otec-PC , Следовательно мой роутер должен послать запрос через свой клиентский интерфейс Wireguard на сервер Wireguard (который на VPS), Который должен знать за каким клиентским интерфейсом находится \\Otec-PC и перенаправить запрос на тот роурет, а он уже на сам ноутбук \\Otec-PC.
Короче я хочу чтобы Wireguard настраивать только на роутере, без настройки самих конечных устройств.
В принцыпе можно было бы везде прописать статические маршруты и всем устройствам выдать старические IP, но это костыли.