Як зв’язати два офіси в єдину локальну мережу

  • Linux
  • VPN
  • Мережеве адміністрування

Питання не оригінальний, але рішення я знайти не зміг.
Є дві частини локальної мережі в різних містах, з інтернетом (різні провайдери, так що VLAN скасовується). У локальній мережі міста 1 працюють сервера DHCP, DNS, сервер контролера домену, файловий сервер, поштовий сервер, VPN-сервер (Windows) і робочі місця. У місті 2 робочі місця просто з'єднані в локальну мережу і присутній комп'ютер з двома мережевими картами під керуванням Debian Wheesy (підключений до інтернету через зовнішній роутер).

У місті 2 мені вдалося налаштувати VPN-тунель (через утиліту pptp-linux) на машині з Debian і отримати доступ до всіх ресурсів локальної мережі міста 1. Власне питання в тому, як створити мережевий міст між другою мережевою картою і VPN-тунелем, щоб всі інші машини міста 2 стали частиною локальної мережі міста 1?

Спробував об'єднати другу мережеву карту і VPN-з'єднання за допомогою bridge-utils, але, мабуть, це був в корені не вірний підхід.
Спробував створити мережевий міст за допомогою iptables:

Чи не спрацювало. Мабуть через те, що машини в місті 2 не мають своєї мережі, а повинні отримати настройки з міста 1.

Знайшов рішення цієї проблеми за допомогою OpenVPN, але встановити OpenVPN-сервер в місті 1 не представляється можливим.

На машині з Debian мережева карта eth1 отримує настройки через DHCP від ​​роутера, мережева карта eth0 не має налаштувань, VPN-з'єднання - ppp0.

Знань з цього питання катастрофічно не вистачає, підкажіть хоча б в який бік рухатися?

Пишу цікаве в теллеграмм каналі @cooladmin

Велике спасибі. Я так зрозумів IPSec можна реалізувати за допомогою VPN, а ось про EoIP я знайшов тільки різноманітні настройки Mikrotik. Це не те ж саме, що IP-over-IP або IP-тунель?

За EoIP є відмінна дока ось тут habrahabr.ru/post/227859

IPSec це окремий від VPN механізм, що працює трохи за іншими законами ніж VPN. Ну тобто у випадку з VPN (так само як і EoIP) ви просто говорите "ось між цими двома IP-адреси у мене тунель" і далі маршрутізіруете туди трафік, то для IPSec вам не просто потрібно вказати "кінці" але і в самих же налаштуваннях IPSec сказати для якого трафіку служба повинна сама піднімати тунель (тобто порядок побудови тунелю зворотний - спочатку трафік потім мережу).

Гарна демонстрація як це працює в ядрі є в документації до мікротіку (вона може бути застосована і для більшості Лінукс) wiki.mikrotik.com/wiki/Manual:Packet_Flow останні дві діаграми.