Некоторые приемы использования SNAT для маршрутизации пакетов
Классическая схема соединения площадок при помощи VPN-туннелей предполагает дополнительную настройку маршрутизации. Так в нашем случае (схема внизу заметки), чтобы компьютеры сети 192.168.111.0/24 получили доступ к узлам сети 192.168.222.0/24 нам нужно указать на роутере маршрут к 192.168.222.0/24 через 10.10.10.2.
В этом случае пакет будет отправлен роутером в туннель и благополучно достигнет точки назначения, а вот чтобы он мог вернуться обратно нам понадобится уже на другой стороне, также на роутере, задать маршрут к 192.168.111.0/24 через 10.10.10.1.
Это стандартная схема и предполагает, что узлы обоих сетей могут обращаться друг к другу, при необходимости разграничить доступ мы обычно используем брандмауэр.
Ситуация осложняется, если за вашим роутером находится несколько сетей, в этом случае маршруты придется прописать к каждой из них, еще хуже, если такие сети могут создаваться динамически (допустим, тестовые среды).
Еще один недостаток такого подхода – противоположная сторона видит структуру вашей сети и оригинальные адреса устройств, иногда это может быть нежелательно.
Ну и наконец – вы не контролируете роутер с той стороны и не можете добавить туда обратный маршрут, или можете, но не гарантируете его сохранность и правильность.
Как быть? Использовать SNAT или маскарадинг, если не хотите вникать в настройки. Суть сводится к тому, что для всех уходящих в туннель пакетов мы подменяем адрес источника адресом нашей стороны туннеля – т.е. 10.10.10.1.
В этом случае пакеты также достигнуть сети назначения, так как маршрут, направляющий пакеты к 192.168.222.0/24 через 10.10.10.2 у нас есть. А вот обратным адресом у таких пакетов будет числиться 10.10.10.1, что позволит роутеру с противоположной стороны просто отправить их на другой конец туннеля.
Затем уже наш роутер проведет обратное преобразование и направит пакеты их реальному источнику.
Из недостатков – на той стороне нельзя фильтровать доступ по IP, это же одновременно плюс – реальные адреса вашей сети спрятаны за NAT, что может быть предпочтительно в иных сценариях.
Post #5471
3.31K