Подключение удаленных офисов к локальной сети

05 июня 2014

Задача:

Необходимо подключить несколько небольших офисов (до 4-х компьютеров) к локальной сети предприятия с минимальными настройками клиентов в удаленных офисах и максимальной интеграцией их в локальную сеть предприятия.

Решение:

 Использование маршрутизаторов Mikrotik   и VPN-сервера на базе Linux/OpenVPN OpenVPN

Подробнее:

Данное решение может быть использовано небольшими компаниями дл я организации доступного подключения нескольких небольших удаленных офисов к существующей сети, особенно если в организации уже используются сервера под управлением Linux для организации доступа к сети Интернет.

Текущая сеть предприятия

VPN-сервер предлагается разворчивать на базе операционной системы Debian GNU/Linux и с использованием открытого программного обеспечения OpenVPN. К достоинствам такого решения можно отнести:

  • открытость;
  • гибкость;
  • бесплатрность;
  • относительную простоту решения.

Сервер OpenVPN умеет работать в нескольких режимах, один из которых, (subnet)  идеально подходит для реализации требований.

В режиме subnet сервер OpenVPN организовывает виртуальный ethernet-подобный интерфейс, который с легкостью можно объеденить с физическим ethernet-ом в интерфейс типа "мост". И в дальнейшем все клиенты подключающиеся к VPN-серверу OpenVPN получают прозрачное соединение с локальной сетью предприятия.

Конфигурация сервера

mode server

server-bridge 10.11.12.0 255.255.255.0 10.11.12.100 10.11.12.199
ifconfig 10.11.12.1 255.255.255.0

proto tcp
port 1194
dev tap0
multihome
max-clients 100
persist-key
persist-tun
persist-local-ip
persist-remote-ip
user proxy
group proxy
fast-io
client-to-client
keepalive 60 180
passtos

ca /etc/openvpn/server/pki/keys/ca.crt
cert /etc/openvpn/server/pki/keys/server.crt
key /etc/openvpn/server/pki/keys/server.key
dh /etc/openvpn/server/pki/keys/dh1024.pem
crl-verify /etc/openvpn/server/crl.pem

ifconfig-pool-persist /etc/openvpn/server/ipp-server.txt

script-security 2
up      /etc/openvpn/server/server-up.sh

Содержимое файла /etc/openvpn/server/server-up.sh

#!/bin/sh

# Добавляем интерфейс в мост
/sbin/ifconfig $1 up
/sbin/brctl addif br0 $1

exit 0

Для подключения удаленных офисов рекомендуется использовать шлюзы производства компании MikroTik, которые умеют организовывать подключение к серверу OpenVPN с ограничем по протоколу (только TCP), и по возможностям (нельзя использовать сжатие comp-lzo)

Настройки маршрутизатора MikroTik

  • Производим базовую настройку Интернет подключения на маршрутизаторе и проверяем доступность;
  • Создаем интерфейс типа "мост" и настраиваем адрес локальной сети на данный интерфейс;
  • Добаляем сертификаты на маршрутизатор MikroTik;
  • Создаем дополнительный клиентский OpenVPN-интерфейс типа "ethernet" с записанными ключами;
  • Добавляем полученный интерфейс в созданный ранее интерфейс типа "мост".

Данная настройка рекомендуется для небольших филиало, не более 4-х компьютеров. IP-адреса на рабочих станциях лучше настраивать статически в качестве шлюза указывая интерфейс локального роутера.

К достоинствам такого метода объединения сетей можно отнести:

  • Использование существующий сервер на Linux (который может выполнять роль почты/шлюза и т.д.);
  • Прозрачность для широковещательных пакетов;
  • Использование аппаратных маршрутизаторов для организации доступа с легкой возможностью резервирования/восстановления конфигурации в случае сбоя.

К недостаткам можно отнести:

  • Повышенные требования к каналам связи (для передачи широковещательных пакетов);
  • Отсутствие сжатия передаваемого трафика.