Есть три сети по /24. Между собой сети соединены только через интернет, LAN как таковая отсутствует (просто компьютеры — маршрутизатор — интернет). Нужно их объединить. Если я поставлю один сервер OpenVPN в одной сети, то две другие будут соединяться через тот сервер, а не напрямую, что нехорошо. Как можно сделать так, чтобы все машины оказались в одной виртуальной сети, и чтобы трафик всегда ходил по кратчайшему пути? Сделать три сервера OpenVPN, осилить IPSec или еще что-нибудь?
пусть A — сервер первой сети, который дает ей интернет и имеет реальный IP адрес; A1, A2 итд — компьютеры этой сети. B — сервер второй сети и так далее
Небезопасный вариант:
сервер A — роутинг пакетов для сети B на сервер B, для сети C на сервер C; роутинг пакетов от серверов B и С внутрь сети A. NAT
сервер B — роутинг пакетов для сети A на сервер A, для сети C на сервер C; роутинг пакетов от серверов A и С внутрь сети B. NAT
сервер C — роутинг пакетов для сети A на сервер A, для сети B на сервер B; роутинг пакетов от серверов A и B внутрь сети C. NAT
Безопасный вариант — то же самое, но OpenVPN от A к B и C, от B к А и С, от С к А и Б.
Это простейшие варианты на вскидку.
в результате если компьютер A1, 192.168.1.10 хочет отослать пакет компьютеру B1, 192.168.2.10:
— пакет попадает на A, дефолтный шлюз A1
— в соответствии с роутингом, пакет обрастает NAT и уходит к B
— B получает пакет от A, в соответствии с роутингом отправляет его B1 (не помню, будет ли на входящие NAT использоваться)
— B1 получает пакет, отвечает на него.
— ответный пакет попадает на B, дефолтный шлюз B1
— в соответствии с роутингом, ответный пакет уходит к A (здесь тоже не помню будет ли NAT использоватья)
— A получает ответный пакет от B, смотрит на свой NAT, умиляется, снимает с пакета NAT и отсылает пакет A1
примерно так