LINUX.ORG.RU
ФорумAdmin

OpenVPN маршрутизация

 


0

1

Понимаю что тема замусоленная до соплей, но сетях слабоват, поэтому прошу сильно не указывать в сторону ведра и швабры…=)

Есть задача соединить 3 офиса. Выбран OpenVPN. Не уговаривайте юзать микроики, циски, зуксели и т.п.

Сервер развёрнут в ЦОД’е, есть белый IP. -> конфиг сервера -< и -> конфиг клиента <-. Пробую подключить клиента тоже по белому IP + сеть за натом. Подключение проходит на ура, в логах сервера показывает -> вот что <- (IP затёр звёздочками), клиенты получают IP из выделенной сервером сети, но пинг внутри сети есть только до tun0 на сервере (15.10.2.1). Другие адреса внутри этой сети не пингуются. Вот -> ifconfig и iptables <-, а -> вот <- таблица маршрутизации клиента. Подскажите что куда добавить, чтоб клиенты внутри сети OpenVPN не только пинговались, но и могли использовать корпоративные ресурсы.

Извини с утра несколько не в форме, но конфиги лучше прямо здесь и без фоток.
А если по тому что замечено:
1.

server 15.10.2.0 255.255.255.0

Эта подсеть с реальными адресами - для частного vpn она не предназначена. Бери из https://ru.wikipedia.org/wiki/Частный_IP-адрес.

2.
могу предложить использовать topology subnet, чтобы не городить несколько интерфейсов tun для каждого клиента.

# в конфиг сервера
topology subnet
# тоже в серверном конфиге, но это отправится клиентам
push "topology subnet"

3.
надеюсь сертификаты у каждого филиала будут свои?
тогда внеси в серверный конфиг
client-config-dir /etc/openvpn-client-settings/vpnserver_tunvpn
и в этом каталоге файлики с именами соответствующими «common name» указанному в сертификатах клиентов-филиалов.
А уже в этих файликах будут конкретные настройки для отдельных клиентов. Пример:
# файл с именем "filial-1"
ifconfig-push IP_КЛИНЕТА_В_OPENVPN 255.255.255.0
# сеть к которой нужно иметь доступ через VPN(центральная контора, к примеру)
push "route 10.0.0.0 255.255.0.0 IP_VPN_за_которым_сеть_10.0.0.0/16_находится"
# этих сетей может быть несколько
push "route 10.10.0.0 255.255.0.0 IP_VPN_за_которым_сеть_10.10.0.0/16_находится"

Т.е. суть - надо чтобы клиент знал свои IP/MASK в сети VPN, а так же знал за каким VPN_IP находится какая подсеть.
Т.е. по сути тем самым ты расписываешь маршруты в своей VPN сети!

4.
Последним пунктом по идее может идти проверка файерволов на клиентах.

Atlant ★★★★★ ()
Ответ на: комментарий от Atlant

Блин, чел, тебе +100500 в карму за подробное объяснение.

Указал в пушах «сеть подсеть» всё взлетело…! Дальше буду уже допиливать и вешать рюшки.

С меня пиво и рыбка…!

Shprot ()
Ответ на: комментарий от Atlant

Блин, я снова залип на сетях. Ну не растут они у меня.

По пути client-config-dir, который указал в настройках server.conf, я создал файлик, с именем клиента, в который пишу:

ifconfig-push 10.0.0.4 255.255.255.0
push "route 10.0.0.0 255.255.255.0 10.0.0.3 172.16.32.0/24"

Где сеть VPN у меня 10.0.0.0/24
Присваиваемый адрес клиенту (сотруднику из дома) 10.0.0.4
VPN адрес, за которым локалка (он же шлюз в офисе) 10.0.0.3
Сама локалка 172.16.32.0/24

А на шлюз в офисе получается тоже нужно прокинуть маршруты. Открыть локалку…

Shprot ()