От этой статьи много пользы не будет, так как таких миллион по Тырнету. Но я для себя свой вариант законспектирую. Все удобнее, чем у других по крупицам собирать.
Обзор сети
Например у нас есть подсеть 10.0.1.0/24, в которой находятся серверы внутри офиса компании.
Есть сервер gate.nodesquad.com со следующими адресами:
eth0 10.0.1.1 - этим интерфейсом он соединен с офисной подсетью.
eth1 123.45.67.89 - этим интерфейсом он соединен с Интернетом.
tun0 10.0.2.1 - этого интерфейса пока нет. Но он будет смотреть в сторону VPN-клиентов.
И есть клиенты извне, которые будут подцепляться через Интернет к адресу 123.45.67.89 и получать адрес из новой подсети 10.0.2.1/24. Их трафик внутрь сети будет идти таким образом:
Пакет выходит с их внутрннего интерфейса (например 10.0.2.123), идти на VPN-сервер 10.0.2.1, затем раутиться на 10.0.1.1 и уже дальше доходить до любого узла внутри офисной сети.
Тут нужно знать разницу между TUN и TAP. TUN используется для раутинга (а мы как раз планируем раутинг сделать соответственно схеме в предыдущем абзаце), а TAP нам не понадобится, потому что он для вариантов с бриджами.
Предварительная подготовка
Для начала проверим, установлены ли у нас виртуальные драйверы TUN/TAP:
Проверяем установлен ли у нас LZO:
Первое, что требует сделать - поставить пакеты. Пакет самого OpenVPN, пакет его модуля для авторизации в LDAP и пакет, конвертирующий регулярные выражения в C/C++ :
Обзор сети
Например у нас есть подсеть 10.0.1.0/24, в которой находятся серверы внутри офиса компании.
Есть сервер gate.nodesquad.com со следующими адресами:
eth0 10.0.1.1 - этим интерфейсом он соединен с офисной подсетью.
eth1 123.45.67.89 - этим интерфейсом он соединен с Интернетом.
tun0 10.0.2.1 - этого интерфейса пока нет. Но он будет смотреть в сторону VPN-клиентов.
И есть клиенты извне, которые будут подцепляться через Интернет к адресу 123.45.67.89 и получать адрес из новой подсети 10.0.2.1/24. Их трафик внутрь сети будет идти таким образом:
Пакет выходит с их внутрннего интерфейса (например 10.0.2.123), идти на VPN-сервер 10.0.2.1, затем раутиться на 10.0.1.1 и уже дальше доходить до любого узла внутри офисной сети.
Тут нужно знать разницу между TUN и TAP. TUN используется для раутинга (а мы как раз планируем раутинг сделать соответственно схеме в предыдущем абзаце), а TAP нам не понадобится, потому что он для вариантов с бриджами.
Предварительная подготовка
Для начала проверим, установлены ли у нас виртуальные драйверы TUN/TAP:
modprobe tun; lsmod | grep tun
Проверяем установлен ли у нас LZO:
dpkg -l | grep lzo
Первое, что требует сделать - поставить пакеты. Пакет самого OpenVPN, пакет его модуля для авторизации в LDAP и пакет, конвертирующий регулярные выражения в C/C++ :
aptitude install openvpn openvpn-auth-ldap re2c