У меня два вопроса.
1
Есть шлюз на линуксе, где проброшен порт за нат для доступа к машине, на которой крутиться сервис. На шлюзе внешний адрес соответственно постоянный. Хочу закрыть прямой доступ к сервису через 2-3 «стука» с помощью port knocking. Как сделать port knocking я нашел (в вики nftables). Но нигде не вижу описания того, каким образом в данном случае port knocking воспринимается шлюзом по каждому шагу. Т.е. первый «стук», допустим, на порт 55555. Это входящий для шлюза или транзитный? Следующий шаг, отсучались на 55555, попали в список, стучимся на 66666. Это входящий или транзит? И последний, отстучались на 55555 и 66666, дальше можем стучаться по проброшеному порту. Это входящий или транзит?
Исходя из организации правил в вики, что все три стука это входящие, но в моем случае присутствует проброс порта, поэтому, я думаю, что для меня третье правило может быть транзитом. Рисковать не хочется, шлюз удаленный. Я правильно думаю? Цепочка транзита здесь вообще никак не задействована?
2
Если я получил доступ к сервису через «стук», как я могу установить запрет для повторных соединений с такого же ip, при этом не разрывая действующую установленную сессию? Чтобы гарантировать, что если я подключился один раз (первый раз) через «стук», все остальные, у кого такой же внешний адрес после ната, т.е. у кого ip из-за совпадения с моим тоже попал в белый список, не смогут подключиться? При этом я заранее не знаю, с какого устройства я буду подключаться (мак адрес не известен).