LINUX.ORG.RU
ФорумAdmin

Share local network through mikrotik openvpn client

 , ,


0

1

Всем привет. Есть такая потребность: расшарить локальную сетку при подключении к vpn сети. Это нужно, чтобы извне иметь доступ к камерам наблюдения дома.

Что есть:

  • дроплет на DO с двумя openvpn серверами (один настроен давно и имеет несколько клиентов, потому конфиг менять не хочется, пусть подключение будет по tls, а второй специально для микрота, на нём авторизация по login/pass)
  • собственно микрот с настроенным соединением как клиент к openvpn-server-2

Оба vpn сервера настроены с такими подсетями:

  • openvpn-server-1: 10.10.10.0 255.255.255.128
  • openvpn-server-2: 10.10.10.128 255.255.255.128

Адрес микротика статический: 10.10.10.129

подключаясь с телефона, например, к vpn, могу пинговать оба сервера.

Последний этап — добавить маршруты так, чтобы любой клиент мог пинговать/подключаться к адресам внутри локальной сети 192.168.88.0/24.

Опция client-to-client добавлена, клиенты пинговать друг друга могут.

вы не про это?
1. В конфиг openvpn сервера:
1.1 route 192.168.88.0 255.255.255.0
1.2 push "route 192.168.88.0 255.255.255.0"
1.3 (если отсутствует) client-config-dir $CCD
где $CCD путь до директории, обычно создается в каталоге openvpn, типа /etc/openvpn/ccd
2. в $CCD создаем файло с названием клиента «локальной сети» в которое пишем
iroute 192.168.88.0 255.255.255.0

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

Я route в самом конфиге сервера прописал. Вот текущие настройки:

server.conf:

server 10.10.10.0 255.255.255.128

push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
route 192.168.88.0 255.255.255.0

server-mikrotik.conf:

server 10.10.10.128 255.255.255.128
route 192.168.88.0 255.255.255.0

на всякий случай добавил и сюда: /etc/openvpn/ccd/mikrotik:

ifconfig-push 10.10.10.129 255.255.255.128
iroute 192.168.88.0 255.255.255.0

в микротике стоит галочка add default route, маршруты в дроплете:

# ip r s
default via private_ip dev eth0 onlink 
10.10.10.0/25 via 10.10.10.2 dev tun0 
10.10.10.2 dev tun0 proto kernel scope link src 10.10.10.1 
10.10.10.128/25 dev tun1 proto kernel scope link src 10.10.10.129 
10.18.0.0/16 dev eth0 proto kernel scope link src 10.18.0.5 
private_subnet/18 dev eth0 proto kernel scope link src private_ip 
192.168.88.0/24 via 10.10.10.130 dev tun1 

ни с дроплета ни из сети vpn 192.168.88.1 не пингуется.

маршруты в микротике

/ip route print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADS  0.0.0.0/0                          10.2.208.1                1
 1  DS  0.0.0.0/0                          10.10.10.129              1
 2 ADC  10.2.208.0/20      10.2.219.53     ether1                    0
 3 ADC  10.10.10.128/25    10.10.10.129    ovpn-out1                 0
 4 ADS  private_ip/32                  10.2.208.1                0
 5 ADC  192.168.88.0/24    192.168.88.1    bridge                    0
conformist ★★★ ()
Последнее исправление: conformist (всего исправлений: 1)
Ответ на: комментарий от conformist

server.conf:
server-mikrotik.conf:

Я правильно понял это у вас на одном сервере? Ну тогда просто замечательно:
Адын. route 192.168.88.0 255.255.255.0
Два. route 192.168.88.0 255.255.255.0
Вы уж определитесь куда у вас роутер за которым сеть 192.168.88.0/24 подключается.
И после исправления покажите полные конфиги, а то как минимум догадываться к чему имеет отношение

на всякий случай добавил и сюда: /etc/openvpn/ccd/mikrotik:

как-то не очень получается.

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

Ок, исправил, полные листинги конфигов: /etc/openvpn/server.conf — для всех клиентов, авторизация tls:

mode server
proto tcp
dev tun0
daemon
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
client-to-client

tls-auth /etc/openvpn/ta.key
ca      /etc/openvpn/ca.crt
cert    /etc/openvpn/domain.crt
key     /etc/openvpn/domain.key
dh      /etc/openvpn/dh2048.pem

server 10.10.10.0 255.255.255.128

push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"

verb 3
log-append /var/log/openvpn.log
status /var/log/openvpn.status

/etc/openvpn/server-mikrotik.conf — конкретно для микротика, чтобы логин/пароль:

mode server
proto tcp
port 11194
dev tun1
daemon
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
topology subnet
client-to-client

client-config-dir /etc/openvpn/ccd
cipher AES-128-CBC
data-ciphers AES-256-GCM:AES-256-CBC:AES-128-GCM:AES-128-CBC:BF-CBC:AES-128-CBC

username-as-common-name
verify-client-cert optional

plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so login

ca      /etc/openvpn/ca.crt
cert    /etc/openvpn/domain.crt
key     /etc/openvpn/domain.key
dh      /etc/openvpn/dh2048.pem

server 10.10.10.128 255.255.255.128

verb 3
log-append /var/log/openvpn-mikrotik.log
status /var/log/openvpn-mikrotik.status

/etc/openvpn/ccd/mikrotik — чтобы отдельные настройки:

ifconfig-push 10.10.10.129 255.255.255.128
iroute 192.168.88.0 255.255.255.0
conformist ★★★ ()
Ответ на: комментарий от conformist

Даже не знаю, смеяться или плакать. Я же вам написал:

Вы уж определитесь куда у вас роутер за которым сеть 192.168.88.0/24 подключается.

Это означает, что в одном из конфигов эту строчку таки надо было оставить :)

anc ★★★★★ ()