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

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
Ответить
Аватара пользователя
VGorbatov
Сообщения: 24
Зарегистрирован: 15 авг 2018, 10:26

Уважаемые повелители Микротиков! Прошу помидорами не забрасывать, т.к. специалист из меня пока так себе...

Краткую суть проблемы начну описывать издалека.

В нашем здании располагаются две компании, родственные по профилю. Изначально админы запихали всех сотрудников в сеть 10.10.20.X, а для разделения у сотрудников компании А стоит шлюз 10.10.20.1, у сотрудников компании Р - шлюз 10.10.20.32, при этом используется единый файл-сервер с адресом 10.10.20.5

После Нового года, в качестве усовершенствования, роль шлюза 10.10.20.1, который выполняла Win7, была переделана на Mikrotik RB750Gr3 (спасибо vqd за подсказки, которые помогли убедить начальника решиться на этот шаг). Также на этом микротике сделаны дополнительные спец.настройки для доступа сторонней обслуживающей организации. Шлюз 10.10.20.32 поднят тоже на микротике, но к нему доступа у меня нет.

Сейчас назрела пора, организовать канал связи с нашим филиалом компании А в другом городе. Для этих целей в качестве сервера решил использовать имеющийся микротик-шлюз 10.10.20.1, а в качестве второго устройства аналогичный Mikrotik RB750Gr3. (Раньше эксперименты смело мог проводить, теперь же есть проблемы с тем, что один из микротиков используется в боевом режиме)

Начитавшись различных мануалов и проведя пару месяцев в экспериментах, которые начал еще до НГ. Эксперименты остались в конфигах, т.к. в основном, когда не получалось, делал все комментариями... Изначально планировал запустить ipsec/l2tp, но в феврале поднял OpenVPN и вот тут мои знания дают такую слабину, что без помощи уже ни как...

Схему прикладываю, там у меня боевое и тестовое подключение, при этом, когда тестовое подключение, с клиентской стороны я через VPN пингую шлюз Р 10.10.20.32 и файл-сервер 10.10.20.5, но не пингую шлюз А 10.10.20.1, хотя связь идет ч/з него. Со стороны филиала я подключен к шлюзу Р 10.10.20.32, подключался к шлюзу 10.10.20.1, но пинги от меня за канал VPN не проходят. Запускал tracert, но дальше моей сетевой карты не идет.
Изображение
Вчера пытался отработать боевое подключение, но закончилось только поднятием OpenVPN. Сидел на клиентской стороне, пинги в филиал не проходили.

В принципе вопрос только один, что не сделал или сделал не так, что маршрутизация не работает?
Готов ответить на любые наводящие вопросы, если хватит знаний... :smu:sche_nie:
 Конфигурация в филиале
# mar/12/2019 10:01:17 by RouterOS 6.43.7
# software id = DBDU-QJSV
#
# model = RouterBOARD 750G r3
# serial number = 8AFF0872AB66
/interface bridge
add name=bridge-lan
/interface ethernet
set [ find default-name=ether1 ] comment="WAN" name=ether1-wan
set [ find default-name=ether2 ] comment="LAN"
set [ find default-name=ether5 ] comment="Test"
/interface l2tp-client
add allow=mschap2 comment="tunnel for access to Huawei 8245 from CLPO" \
connect-to=83.X.X.X disabled=no name=l2tp-out1 password=*** \
user=l2tptest
/interface l2tp-server
add comment="Close at 2019-02-19" disabled=yes name=RemoteNSK1 user=\
RemoteNSK1
/interface ovpn-server
add disabled=yes name=ovpn-remote-1 user=ndvpn
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=flash/hotspot
/ip ipsec proposal
add disabled=yes enc-algorithms=aes-128-cbc name=my-proposal
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
add name=pool-vpn ranges=109.X.X.X
/ppp profile
add change-tcp-mss=yes name=my-remote use-compression=yes use-encryption=yes
add comment="Profiles for OpenVPN (2019-02-20)" dns-server=10.10.20.6,8.8.8.8 \
local-address=95.X.X.X name=ovpn remote-address=pool-vpn \
use-encryption=required wins-server=10.10.20.6
/interface bridge port
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether2
/ip firewall connection tracking
set tcp-established-timeout=10m
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ip settings
set allow-fast-path=no
/interface l2tp-server server
set authentication=mschap2 default-profile=my-remote enabled=yes \
ipsec-secret=****
/interface list member
add comment="LAN" disabled=yes interface=ether2 list=LAN
add interface=ether1-wan list=WAN
add interface=bridge-lan list=LAN
/interface ovpn-server server
set certificate=server.crt_0 default-profile=ovpn enabled=yes \
require-client-certificate=yes
/ip address
add address=192.168.100.10/24 comment="WAN" interface=ether1-wan \
network=192.168.100.0
add address=10.10.20.128/23 comment="LAN" disabled=yes interface=\
bridge-lan network=10.10.20.0
add address=10.10.20.1/23 interface=bridge-lan network=10.10.20.0
/ip dhcp-client
add dhcp-options=hostname,clientid interface=ether1-wan
/ip dhcp-relay
add dhcp-server=192.168.100.51 disabled=no interface=ether5 name=relay1
/ip dns
set allow-remote-requests=yes cache-max-ttl=2h servers=8.8.8.8,77.88.8.1
/ip dns static
add address=10.10.20.11 name=router.lan
/ip firewall address-list
add address=109.X.X.X list=L2TP-IPSEC
add address=83.X.X.X list=winbox-access
add address=109.X.X.X list=winbox-access
add address=195.X.X.X list=voip-access
add address=195.X.X.X list=voip-access
add address=83.X.X.X list=voip-access
add address=46.X.X.X list=L2TP-IPSEC
add address=46.X.X.X list=winbox-access
/ip firewall filter
add action=accept chain=input comment=L2TP+IPSEC dst-port=500,4500,1701 \
protocol=udp src-address-list=L2TP-IPSEC
add action=accept chain=input disabled=yes protocol=ipsec-esp
add action=accept chain=input comment="Winbox access" dst-port=8291 protocol=\
tcp src-address-list=winbox-access
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=accept chain=input comment="My test 2019-02-19" dst-port=1194 \
in-interface=ether1-wan protocol=tcp
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall nat
add action=src-nat chain=srcnat comment="defconf: masquerade" \
out-interface-list=WAN to-addresses=192.168.100.10
add action=masquerade chain=srcnat comment="2019-02-15 + all ppp" \
dst-address=172.16.1.2 out-interface=all-ppp
add action=src-nat chain=srcnat dst-address=192.168.100.1 dst-port=80 \
protocol=tcp src-address=172.16.16.1 to-addresses=192.168.100.10
add action=src-nat chain=srcnat comment="My experiment" disabled=yes \
dst-address=10.10.20.32 dst-port="" protocol=tcp src-address=172.16.1.1 \
to-addresses=10.10.20.5
add action=netmap chain=dstnat comment="Asterisk PJSIP" dst-address=\
192.168.100.10 dst-port=5160 protocol=udp src-address-list=voip-access \
to-addresses=10.10.20.2 to-ports=5160
add action=netmap chain=dstnat comment="Asterisk SIP" dst-address=\
192.168.100.10 dst-port=5161 protocol=udp src-address-list=voip-access \
to-addresses=10.10.20.2 to-ports=5161
add action=netmap chain=dstnat comment="Asterisk RTP" dst-address=\
192.168.100.10 dst-port=10000-20000 protocol=udp src-address-list=\
voip-access to-addresses=10.10.20.2
add action=netmap chain=dstnat comment="Asterisk SSH from CLPO" dst-address=\
192.168.100.10 dst-port=8322 protocol=tcp src-address=83.246.143.55 \
to-addresses=10.10.20.2 to-ports=22
add action=netmap chain=dstnat comment="Asterisk Web from CLPO" dst-address=\
192.168.100.10 dst-port=8380 protocol=tcp src-address=83.246.143.55 \
to-addresses=10.10.20.2 to-ports=80
add action=netmap chain=dstnat comment=Bitrix24 dst-address=192.168.100.10 \
dst-port=80,443,8894 protocol=tcp to-addresses=10.10.20.9
add action=netmap chain=dstnat comment="Bitrix24 SSH from CLPO" dst-address=\
192.168.100.10 dst-port=8422 protocol=tcp src-address=83.X.X.X \
to-addresses=10.10.20.9 to-ports=22
/ip firewall service-port
set sip disabled=yes
/ip ipsec peer
add address=109.X.X.X/32 disabled=yes exchange-mode=main-l2tp \
generate-policy=port-strict secret=**** send-initial-contact=no
/ip ipsec policy
set 0 disabled=yes
add disabled=yes dst-address=10.10.30.0/24 sa-dst-address=172.16.1.2 \
sa-src-address=172.16.1.1 src-address=10.10.20.0/24 tunnel=yes
/ip route
add check-gateway=ping distance=1 gateway=192.168.100.1
add disabled=yes distance=1 dst-address=10.10.20.0/24 gateway=172.16.1.2
add comment="My experiment 2019-02-19" disabled=yes distance=1 dst-address=\
10.10.20.0/24 gateway=172.16.30.2 pref-src=10.10.20.1
add comment="Routing to Nemirovicha (2019-02-20)" disabled=yes distance=1 \
dst-address=10.10.21.0/24 gateway=172.16.30.2 pref-src=10.10.20.1
add comment="New nastroy 2019-02-15" disabled=yes distance=1 dst-address=\
10.10.30.0/24 gateway=172.16.1.2 pref-src=10.10.20.1
add comment="Old nastroy 2019-02-15" disabled=yes distance=1 dst-address=\
10.10.30.0/24 gateway=172.16.1.2 pref-src=172.16.1.1
add comment="clpo softphone route" distance=1 dst-address=192.168.1.141/32 \
gateway=172.16.16.1
add comment="clpo softphone route" distance=1 dst-address=192.168.1.183/32 \
gateway=172.16.16.1
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/ppp secret
add disabled=yes local-address=172.16.1.1 name=RemoteNSK1 password=2412A18! \
profile=my-remote remote-address=172.16.1.2 service=l2tp
add disabled=yes local-address=172.16.30.1 name=ndvpn password=1!2@3q \
remote-address=172.16.30.2 service=ovpn
add comment="Nemirovicha-Danchenko (2019-02-20)" local-address=\
172.16.30.1 name=vpn-nsk-nd password="****" profile=ovpn \
remote-address=172.16.30.2 service=ovpn
/system clock
set time-zone-name=Europe/Moscow
/system identity
set name=A
/system ntp client
set enabled=yes primary-ntp=85.21.79.91 secondary-ntp=23.105.225.212
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
/tool mac-server ping
set enabled=no
 Конфигурация в ДО
# mar/12/2019 14:19:33 by RouterOS 6.43.7
# software id = VTX8-KP41
#
# model = RouterBOARD 750G r3
# serial number = 8AFF08DC9BAD
/interface bridge
add admin-mac=CC:2D:E0:74:13:A6 auto-mac=no comment=defconf disabled=yes \
name=bridge
/interface l2tp-client
add allow=mschap2 connect-to=95.X.X.X ipsec-secret=**** name=\
l2tp-to-Office password=**** user=RemoteNSK1
/interface ovpn-client
add certificate=client1.crt_0 comment=\
"Client Nemirovicha-Danchenko" connect-to=95.Х.Х.Х \
mac-address=02:DB:06:ХХ:ХХ:ХХ name=Nemirovicha-Danchenko password=\
"*********" user=vpn-nsk-nd
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip dhcp-server
add interface=ether2 lease-time=5d name=dhcp1
/ip hotspot profile
set [ find default=yes ] html-directory=flash/hotspot
/ip ipsec peer profile
add dh-group=modp1024 enc-algorithm=aes-128 name=my-default nat-traversal=no
/ip ipsec proposal
add enc-algorithms=aes-128-cbc name=my-default
/ip pool
add name=pool1 ranges=10.10.21.10-10.10.21.255
/interface bridge port
add bridge=bridge comment=defconf disabled=yes interface=ether2
add bridge=bridge disabled=yes interface=ether1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=ether1 list=WAN
add interface=ether2 list=LAN
add interface=ether3 list=LAN
add interface=ether4 list=LAN
add interface=ether5 list=LAN
add interface=bridge list=LAN
/ip address
add address=192.168.101.101/24 comment=defconf interface=ether1 network=\
192.168.101.0
add address=10.10.21.1/24 comment=LAN interface=ether2 network=10.10.21.0
/ip dhcp-client
add comment=defconf dhcp-options=hostname,clientid interface=ether1
/ip dhcp-server network
add address=10.10.21.0/24 dns-server=8.8.8.8 gateway=10.10.21.1 netmask=24
/ip dns
set allow-remote-requests=yes servers=10.10.20.6,10.10.20.5,8.8.8.8
/ip dns static
add address=10.10.21.1 name=router.lan
/ip firewall filter
add action=accept chain=input dst-port=500,4500 protocol=udp
add action=accept chain=input disabled=yes dst-port=4500 protocol=udp
add action=accept chain=input protocol=ipsec-esp
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
ipsec-policy=out,none out-interface-list=WAN
add action=masquerade chain=srcnat disabled=yes out-interface=l2tp-to-Office
add action=masquerade chain=srcnat disabled=yes dst-address=10.10.21.0/24 \
out-interface-list=WAN src-address=192.168.0.190
add action=masquerade chain=srcnat comment="close 2019-02-18" disabled=yes \
dst-address=10.10.21.1 src-address=172.16.30.2
/ip ipsec peer
add address=172.16.1.1/32 disabled=yes exchange-mode=main-l2tp profile=\
my-default secret=*****
/ip ipsec policy
add disabled=yes dst-address=10.10.20.0/24 proposal=my-default \
sa-dst-address=172.16.1.1 sa-src-address=172.16.1.2 src-address=\
10.10.30.0/24 tunnel=yes
/ip route
add distance=1 gateway=192.168.101.1
add comment="My experiment 2019-02-19" disabled=yes distance=1 gateway=\
Nemirovicha-Danchenko pref-src=172.16.30.2
add disabled=yes distance=1 dst-address=10.10.20.0/23 gateway=172.16.30.1 \
pref-src=192.168.0.190
add disabled=yes distance=1 dst-address=10.10.20.0/24 gateway=172.16.30.1 \
pref-src=10.10.21.1
add comment="Routing to filial (2019-02-20)" disabled=yes distance=1 \
dst-address=10.10.20.0/24 gateway=10.10.21.1 pref-src=172.16.30.1
add comment="Experiment 2019-02-15" disabled=yes distance=1 dst-address=\
10.10.21.0/24 gateway=172.16.30.2 pref-src=95.X.X.X scope=10
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=Asia/Barnaul
/system ntp client
set enabled=yes primary-ntp=85.21.78.91 secondary-ntp=23.105.225.212
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN


Аватара пользователя
VGorbatov
Сообщения: 24
Зарегистрирован: 15 авг 2018, 10:26

Добавил еще пару маршрутов. Теперь с микротика ДО пинги идут во все места, и с компьютера ДО тоже самое - пингую все и подключаю все что нужно.
Остался затык с тем, что не могу с компьютера Филиала пинговать компьютер ДО. С микротика Филиала пингую и микротик ДО и компьютер ДО.


Аватара пользователя
VGorbatov
Сообщения: 24
Зарегистрирован: 15 авг 2018, 10:26

Блэт-блэт-блэт :wo_ol:
На моем компе стояла маска 23, вернул на 24 и пинги побежали...


Sertik
Сообщения: 1601
Зарегистрирован: 15 сен 2017, 09:03

Молодец, сам справился со всем !

Добрый человек, можете выложить сюда выбранные куски конфигов, поднимающие OPEN-VPN на обоих сторонах (за клиента и сервера) ?

Как сертификаты делали ?

У меня как раз Ваши RB 750Gr3 ... А может просто сдеру конфиги Ваши и выкину всё лишнее ... И без геморроя будет у меня OPEN-VPN тоннель настроенный ...


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Аватара пользователя
VGorbatov
Сообщения: 24
Зарегистрирован: 15 авг 2018, 10:26

В принципе, если у вас такие же железки, то берите мои конфиги и под себя их подстройте. С поднятием канала вообще проблем нет.
Сертификаты делал по этой статье "Настройка OpenVPN сервера и клиента на Mikrotik". В гугле или в яндексе в первых трех ссылках довольно подробно расписано.

Сейчас другая полупроблемка, пока мысль сформирую и ниже напишу.


Аватара пользователя
VGorbatov
Сообщения: 24
Зарегистрирован: 15 авг 2018, 10:26

Как уже писал чуть выше, у нас в здании расположены две организации. По прихоти предыдущих админов, все компьютеры имеют адреса в диапазоне сети 10.10.20.Х, но при этом у организации А основной шлюз 10.10.20.1, а у организации Р основной шлюз 10.10.20.32 (к нему доступа нет)
На стороне ДО теперь поднята сеть 10.10.45.Х. Туннель поднимал и все настройки я делал на Mikrotik с адресом 10.10.20.1, соответственно я имею доступ ко всем компьютерам, которые подключены к шлюзу 10.10.20.1
Также у нас есть три сервера, которые подключены к шлюзу 10.10.20.32, вот тут и вопрос, как к ним грамотно и правильно сделать доступ, чтобы лишних сетевых пакетов не плодить?
Я пока вижу выход такой - на этих серверах прописать маршрут route add 10.10.45.0 mask 255.255.255.0 10.10.20.1 и тогда все должно работать.
Но решил уточнить у специалистов, есть ли другие способы маршрутизации?
Изображение


Ответить