LINUX.ORG.RU
ФорумAdmin

Сервер OpenVPN не видит сеть за микротиком. Что не так?

 , , , ,


0

2

Приветствую! Знаю, что тема заезжена - но перечитав множество мануалов решение не было найдено. Удаленно поднят ovpn сервер

port 1194
proto tcp
dev tun
user ovpn
group ovpn
cd /etc/ovpn
persist-key
persist-tun
dh /etc/ovpn/dh1024.pem
ca /etc/ovpn/ca.crt
cert /etc/ovpn/vpn.crt
key /etc/ovpn/vpn.key
server 192.168.1.0 255.255.255.0
client-config-dir /etc/ovpn/ccd
auth SHA1
cipher AES-256-CBC
client-to-client
topology subnet
max-clients 5
push "dhcp-option DNS 8.8.8.8"
push "redirect-gateway def1"
route 192.168.1.0 255.255.255.0
route 192.168.2.0 255.255.255.0
keepalive 10 120
status /var/log/ovpn/openvpn-status.log 1
status-version 3
log-append /var/log/ovpn/openvpn-server.log
verb 3
mute 20
# iptables -L -t nat --line-numbers
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination
# sysctl -p
net.ipv4.ip_forward = 1
На микротике поднят ovpn клиент. Подключение есть, пинги из сети за микротиком (192.168.2.0 255.255.255.0) до ovpn серевера идут. Но вот с cервера сеть за микротиком не видно.
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                          45.44.46.1                1
 1 ADC  45.44.46.0/22      45.44.46.72     ether1-gateway            0
 2 ADC  192.168.1.1/32     192.168.1.2     ovpn-out1                 0
 3 ADC  192.168.2.0/24     192.168.2.1    bridge-local               0
ip firewall filter  print   
Flags: X - disabled, I - invalid, D - dynamic 
 0  D ;;; special dummy rule to show fasttrack counters
      chain=forward 

 1    ;;; default configuration
      chain=input action=accept protocol=icmp log=no log-prefix="" 

 2    ;;; default configuration
      chain=input action=accept connection-state=established,related log=no 
      log-prefix="" 

 3    ;;; default configuration
      chain=input action=drop in-interface=ether1-gateway log=no log-prefix="" 

 4    ;;; default configuration
      chain=forward action=fasttrack-connection 
      connection-state=established,related log=no log-prefix="" 

 5    ;;; default configuration
      chain=forward action=accept connection-state=established,related log=no 
      log-prefix="" 

 6    ;;; default configuration
      chain=forward action=drop connection-state=invalid log=no log-prefix="" 

 7    ;;; default configuration
      chain=forward action=drop connection-state=new 
      connection-nat-state=!dstnat in-interface=ether1-gateway log=no 
      log-prefix="" 

 8    ;;; Deny invalid connections
      chain=input action=drop connection-state=invalid log=no log-prefix="" 

Не знаю что такое «миктотик» :) Но могу предположить, что у него полиси для форварда по умолчанию дроп. tcpdump (если он там есть) на нем что говорит? Да и на сервере тоже не мешает посмотреть. Ну и как обычно не виндовые ли машины (с fw антивирями и т.д.) которые недоступны?

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

Но могу предположить, что у него полиси для форварда по умолчанию дроп

Разрешено же.

5    ;;; default configuration
      chain=forward action=accept connection-state=established,related log=no 
      log-prefix=""
Или о другом правиле речь?

Ну и как обычно не виндовые ли машины (с fw антивирями и т.д.) которые недоступны?

Не виндовые.

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

Здесь есть «established,related» но про новые соединения ничего не сказано. Т.е. если полиси по умолчанию подразумевает drop то конечно работать не будет. Незнаю насколько понятно вам будет, но на примере ipables есть «policy ACCEPT» который вы видите в выхлопе, а есть правила, так вот например если policy DROP но при этом нет разрешающего правила, то работать не будет.
Могу предположить что вам нужны правила типа:

chain=forward action=accept in-interface=ovpn-out1 log=no log-prefix=""
chain=forward action=accept out-interface=ovpn-out1 log=no log-prefix=""
Но все на уровне предположений исходя из прочитанных «надписей», «микротиков» нэма.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 1 )

1. Файервол настройте, а если не в состоянии - сбросьте в default-accept
2. Объясните openvpn серверу, что за клиентом скрывается сеть с помощью директивы iroute

zgen ★★★★★ ()

сервер

echo 'iroute 192.168.2.0 255.255.255.0' > /etc/ovpn/ccd/$Имя_клиента
терминал микротик
/ip firewall filter add place-before=7 chain=forward action=accept in-interface=ovpn-out1 log=no log-prefix=""

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

echo 'iroute 192.168.2.0 255.255.255.0' > /etc/ovpn/ccd/$Имя_клиента

Вы советов в таком виде виде не давайте плиз. «Плохой» это совет, в этом файле кроме того что уже могло быть это прописано исходя из «Подключение есть, пинги из сети за микротиком (192.168.2.0 255.255.255.0) до ovpn серевера идут. » так в нем еще много чего могло быть.

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

Впн сервер будет доступен и без iroute. Но, согласен с вам, стоило сделать инкремент.

echo 'iroute 192.168.2.0 255.255.255.0' >> /etc/ovpn/ccd/$Имя_клиента

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

Впн сервер будет доступен и без iroute.

С какой это радости? У него телепатия проснулась кому пакеты для 192.168.2.0 слать?

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

Ошибся. Признаю. НАТ был для всех PPP настроен, потому работало.

dzirtt ()
Ответ на: комментарий от delphin

показывай после изменений $Имя_клиента < должно совпадать с имение клиента овпн, оно совпадает?)

/etc/ovpn/ccd/$Имя_клиента 

ip firewall filter print
ip firewall nat print

dzirtt ()
Ответ на: комментарий от delphin

Я бы для теста еще и out добавил если такой там есть и на первое место поставил. А там потом разбираться.
ЗЫ И про tcpdump вы забыли, проверьте на каждом узле сервер-микротик-клиент, может станет понятнее кто виноват.
И выхлопы сюда если все еще не будет работать.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 2 )
Ответ на: комментарий от dzirtt

должно совпадать с имение клиента овпн, оно совпадает?)

совпадает.

ip firewall nat print                                 
Flags: X - disabled, I - invalid, D - dynamic 
 0    ;;; default configuration
      chain=srcnat action=masquerade out-interface=ether1-gateway log=no log-prefix="" 
# cat /etc/ovpn/ccd/vpnclient
iroute 192.168.2.0 255.255.255.0
 ip firewall filter print
Flags: X - disabled, I - invalid, D - dynamic 
 0  D ;;; special dummy rule to show fasttrack counters
      chain=forward 

 1    ;;; default configuration
      chain=input action=accept protocol=icmp log=no log-prefix="" 

 2    ;;; default configuration
      chain=input action=accept connection-state=established,related log=no log-prefix="" 

 3    ;;; default configuration
      chain=input action=drop in-interface=ether1-gateway log=no log-prefix="" 

 4    ;;; default configuration
      chain=forward action=fasttrack-connection connection-state=established,related log=no log-prefix="" 

 5    ;;; default configuration
      chain=forward action=accept connection-state=established,related log=no log-prefix="" 

 6    ;;; default configuration
      chain=forward action=drop connection-state=invalid log=no log-prefix="" 

 7    chain=forward action=accept in-interface=ovpn-out1 log=no log-prefix="" 

 8    ;;; default configuration
      chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=ether1-gateway log=no log-prefix="" 

 9    ;;; Deny invalid connections
      chain=input action=drop connection-state=invalid log=no log-prefix="" 

delphin ()
Ответ на: комментарий от dzirtt

Плохой вариант, вы предлагаете костыль маскарад, вместо решения проблемы.
ТС я предлагал, но видимо не был услышан, добавь первым правилом + out тоже.
и выхлопы tcpdump мы так и не увидели.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 1 )
Ответ на: комментарий от anc

И про tcpdump вы забыли, проверьте на каждом узле сервер-микротик-клиент, может станет понятнее кто виноват.

Не забыл я. Просто ничего интересного в дампе не было. Частично решил проблему добавлением на клиенте

ip route add 192.168.2.0/24 dev tun0

сеть за микротиком пингуется. Но при остановке клиента - отваливается маршрут. Как можно автоматизировать процесс чтобы при подключении к OVPN автоматом добавлялся маршрут?

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

Но вот с cервера сеть за микротиком не видно.

Вы пинговали другим клиентом подсеть? Ибо задачу вы ставили иную

Частично

Что то ещё не работает? Можете, попробовать, убрать правило маскарада, которое добавили в нат.

В конфиг сервера.

push "route 192.168.2.0 255.255.255.0"
По моему клиенты по умолчанию обрабатывают маршруты.

P.s. настройте фаерволл, дабы прикрыть сервисы микротик, они сейчас все наружу. 53 80 порт winbox

dzirtt ()
Ответ на: комментарий от delphin

Не забыл я. Просто ничего интересного в дампе не было.

Ну так написали бы здесь, что в случае пинга с сервера до клиента в сети пинг останавливается «там-то» (на сервере, на микротике, на клиенте).

Частично решил проблему добавлением на клиенте
ip route add 192.168.2.0/24 dev tun0

Или вы что-то не так описали тут до этого или я ничего не понимаю уже.
Вот это 192.168.2.0/24 на клиенте у вас висит на локальном интерфейсе

 3 ADC  192.168.2.0/24     192.168.2.1    bridge-local               0
и причем тут добавление этой подсетки на другой! интерфейс не понято никак. Т.е. вы написали на клиенте отправлять пакеты для локальной сети вообще не другой интерфейс.
Может перепутали с 192.168.1.0/24 ? Если да то как уже здесь написали добавьте в конфиг сервера
push "route 192.168.1.0 255.255.255.0"
Кстати только что обратил внимание что на микторике не отрабатывает
 push "redirect-gateway def1"
но это отдельная история, все равно не понятно почему в одну сторону пинги проходят а в другую нет.

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

Или вы что-то не так описали тут до этого или я ничего не понимаю уже.

Перемудрил я с описанием задачи. Мне нужно чтобы подключившись к ВПН серверу из любой точки мира был доступ к локальной сети за микротиком, который также подключен к ВПН. Сеть за микротиком 192.168.2.0/24 OVPN сеть 192.168.1.0/24

|-----------|                    |--------|              |--------|           
| Mikrotik  |                    |   ВПН  |              |        |
|192.168.2.0|<-----------------> | сервер |<------------>|Клиенты |
|    /24    |     ВПН туннель    |        |ВПН туннель   |        |
|-----------|    192.168.1.0/24  |--------|192.168.1.0/24|--------|

Клиенты сеть 192.168.2.0/24 не видят до тех пор пока на клиенте не добавишь маршрут

ip route add 192.168.2.0/24 dev tun0
Маршрут приходится добавлять постоянно, поскольку он удаляется при остановке клиента.

P.s. настройте фаерволл, дабы прикрыть сервисы микротик, они сейчас все наружу. 53 80 порт winbox

А изменение стандартных портов и разрешение на доступ только из локальной сети разве не достаточная мера безопасности?

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

Изменить порты и поставить пароль недостаточно. Ибо то к чему доступ снаружи ненужен - наружу светить не должно. Настройте фаерволл. Закройте все порты и откройте нужные. Гайдов для микротика полно.

Клиенты сеть 192.168.2.0/24 не видят до тех пор пока на клиенте не добавишь маршрут

push "route 192.168.2.0 255.255.255.0"

В конфиг сервера.

Проверьте что к вас наружу торчит

nmap $внешний_ip -Pn -n

Или через сервис, коих в нете туча

dzirtt ()
Ответ на: комментарий от delphin

Если клиенты во множественном числе. То должно было хоть у кого-то отработать push «redirect-gateway def1», исключение если только у них самих есть в таблице роутинга сеть 192.168.2.0/24, но опять-таки я сомневаюсь что у всех такое. И еще как вариант, не все клиенты могут redirect-gateway понимать.
Именно по ваше задаче dzirtt уже отписал.
Почему не работает push «redirect-gateway def1» смотрите логи openvpn у клиентов.

anc ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.