Спасибо за ответ, LdB. Я не до конца понял, что ты имел в виду. Мне казалось, что нужно добавить в правила маскарадинга, чтобы IP-адреса из списка, совпадающего с пулом для адресов L2TP, не транслировались. Я так сделал, но, к сожалению, безуспешно. Вторую часть про «обратное для ВМ» я вообще не понял.
Тем не менее, мне удалось добиться нужного результата. Я создал новый PPP-профиль и в нём задал пул удалённых адресов в другом диапазоне, отличном от внутренней сети (которая у меня на VLAN, если это важно). Теперь я могу подключаться к ВМ без того, чтобы в правилах входящего трафика был разрешён доступ к роутеру.
В итоге работает, но мне хотелось бы понять, почему изначально это не сработало — исправлять что-то, не понимая как, на будущее бесполезно. В Wireshark я увидел, что ACK-ы дублировались: один ACK шёл с адреса интерфейса L2TP, другой — с роутера. Потом были какие-то странные ретрансляции, и в итоге соединение установилось через роутер. Что это значит?
Это было записано при активном правиле loopback. Второй захват Wireshark — без loopback, там пакеты просто ретранслировались или отбрасывались. Я подозревал, что проблема связана с MTU или MSS, так как в IP-заголовке стояла опция «не фрагментировать», но дело оказалось не в этом. Также заметил появление VLAN-заголовков, хотя их там не должно быть, да?
Обе записи сделаны с помощью сниффера пакетов на роутере, а не на конечном устройстве.