Доступ к другим сетям через впн

Обсуждение ПО и его настройки
ArtVAnt
Сообщения: 162
Зарегистрирован: 30 окт 2020, 15:00

Привет всем,
Обновил до 7.1 ради экспериментов с WG.
Имеется:
Микрот1, на котором поднят l2tp+ipsec, внутренняя 192.168.10.1, впн раздает пул 192.168.50.1
Микрот2 в другой квартире, внутренняя 192.168.11.1
VPN сервер на убунте на удаленном сервере выдает подсеть 192.168.42.1

На Микрот2 является клиентом впн Микрота1
Микрот1 является клиентом впн ВПН сервера Убунты для обхода РКН.

При этом ранее было так: при подключении с мобильного телефона к впн Микрота1 у меня были доступны (пинг) подсети Микрота1, Микрота2, впн сервера Убунты, т.е. все подсети.

После обновления до 7.1 я решил заменить соединение Микрота1 и Микрота2 вместо l2tp на WireGuard, отключил клиента Микрота2 l2tp, настроил соединение и оно даже работает. Т.е. с компьютера из сети Микрота1 192.168.10.1 я пингую подсеть Микрота2 192.168.11.1.
При этом, если я пытаюсь пропинговать прямо с микрота1 подсеть микрота2, то мне это не удается, сеть недоступна, при этом подсеть впн убунты пингуется.
А также при подключении к ВПН l2tp Микрота1 с моб. телефона, я могу пинговать подсеть 192.168.42.1 (впн убунты), а вот подсеть Микрота2 пинговать уже не удается 192.168.11.1.

Собственно вопрос, где может быть затык, что по впн недоступна подсеть 192.168.11.1?

Код: Выделить всё

# dec/13/2021 09:56:26 by RouterOS 7.1
# software id = 
#
# model = RBD52G-5HacD2HnD
# serial number = 
/interface bridge
add disabled=yes name=EoIPBridge protocol-mode=none
add igmp-snooping=yes name=bridge-1 protocol-mode=none
/interface ethernet
set [ find default-name=ether1 ] name=WAN
/interface l2tp-server
add comment=ObitVpn name=l2tp-in1 user=user
/interface wireguard
add listen-port=13231 mtu=1420 name=WG
/interface list
add name=Internet
add name=LAN
add name=VPN
/interface lte apn
set [ find default=yes ] ip-type=ipv4
/ip ipsec policy group
add name=obitgroup
/ip ipsec profile
set [ find default=yes ] lifetime=8h
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=\
    aes-256-cbc,aes-256-ctr,aes-192-cbc,aes-128-cbc,aes-128-ctr,3des
/ip pool
add name=dhcp ranges=192.168.10.100-192.168.10.200
add name=vpnsrv ranges=192.168.50.50-192.168.50.150
/ip dhcp-server
add add-arp=yes address-pool=dhcp interface=bridge-1 lease-time=1w name=\
    server1
/ppp profile
add change-tcp-mss=yes name=vpn use-compression=yes use-encryption=required
add change-tcp-mss=yes dns-server=192.168.50.1 local-address=192.168.50.1 \
    name=vpnsrv remote-address=vpnsrv
/interface l2tp-client
add allow=mschap2 comment=SkntVPN connect-to=188.***.**.**2 name=l2tp-out1 \
    profile=vpn use-ipsec=yes user=MikrotikArt
add comment=UbuntuVPN connect-to=130.***.***.*** disabled=no name=l2tp-out2 \
    profile=vpn use-ipsec=yes user=ubuntuvpnuser
/routing table
add fib name=ToSknt
add fib name=ToRkn
/user group
set full policy="local,telnet,ssh,ftp,reboot,read,write,policy,test,winbox,pas\
    sword,web,sniff,sensitive,api,romon,dude,tikapp,rest-api"
/interface bridge port
add bridge=bridge-1 ingress-filtering=no interface=ether2
add bridge=bridge-1 ingress-filtering=no interface=ether3
add bridge=bridge-1 ingress-filtering=no interface=wlan1
add bridge=bridge-1 ingress-filtering=no interface=wlan2
add bridge=bridge-1 ingress-filtering=no interface=ether5
add bridge=bridge-1 ingress-filtering=no interface=ether4
add bridge=bridge-1 ingress-filtering=no interface=GuestWiFi
/interface l2tp-server server
set authentication=mschap2 default-profile=vpnsrv enabled=yes use-ipsec=\
    required
/interface list member
add interface=WAN list=Internet
add interface=l2tp-out1 list=VPN
add interface=bridge-1 list=LAN
add interface=l2tp-out2 list=VPN
add interface=l2tp-in1 list=VPN
add interface=WG list=VPN
/interface wireguard peers
add allowed-address=\
    10.78.1.0/24,192.168.42.0/24,192.168.10.0/24,192.168.11.0/24 \
    endpoint-address=188.***.***.*** endpoint-port=13231 interface=WG \
    public-key="**************************************s="
/ip address
add address=192.168.10.1/24 interface=bridge-1 network=192.168.10.0
add address=95.****.***.**/29 interface=WAN network=95.***.***.**
add address=10.78.1.1 interface=WG network=10.78.1.0
/ip dhcp-server network
add address=192.168.10.0/24 dns-server=192.168.10.1 gateway=192.168.10.1 \
    netmask=24 ntp-server=192.168.10.1
/ip dns
set allow-remote-requests=yes cache-max-ttl=3d use-doh-server=\
    https://1.0.0.2/dns-query verify-doh-cert=yes

/ip firewall address-list
add address=sknt.ru list=Sknt
add address=rutracker.org list=Rkn
/ip firewall filter
add action=fasttrack-connection chain=forward connection-mark=no-mark \
    connection-state=established,related hw-offload=yes protocol=udp
add action=fasttrack-connection chain=forward connection-mark=no-mark \
    connection-state=established,related hw-offload=yes protocol=tcp
add action=accept chain=forward comment="Accept Forward established related" \
    connection-state=established,related
add action=drop chain=forward comment="Drop invalid Forward" \
    connection-state=invalid
add action=drop chain=forward comment="drop all packets for lan, no nat" \
    connection-nat-state=!dstnat connection-state=new in-interface-list=\
    Internet
add action=accept chain=input comment="Accept Input established related" \
    connection-state=established,related
add action=drop chain=input comment="Drop Invalid Input" connection-state=\
    invalid
add action=drop chain=input dst-port=53,5353,1253 in-interface-list=Internet \
    protocol=udp
add action=drop chain=input dst-port=53,5353,1253 in-interface-list=Internet \
    protocol=tcp
add action=jump chain=input comment="Protected - WinBox, ssh, telnet chain" \
    connection-state=new dst-port=8291,22,23 in-interface-list=Internet \
    jump-target=Protected protocol=tcp
add action=accept chain=input comment=WireGuard dst-port=13231 protocol=udp
add action=accept chain=input comment=IpSec log-prefix=50ipsec-esp protocol=\
    ipsec-esp
add action=accept chain=output protocol=ipsec-esp
add action=accept chain=input comment="IKE, IPsecNAT" connection-state="" \
    dst-port=500,4500 protocol=udp
add action=accept chain=input comment=L2TP connection-state="" dst-port=1701 \
    protocol=udp
add action=accept chain=input comment="accept ICMP" protocol=icmp
add action=accept chain=input comment="Winbox MAC" dst-port=20561 protocol=\
    udp
add action=accept chain=forward comment="Accept forward dst-nat" \
    connection-nat-state=dstnat
add action=add-src-to-address-list address-list=BlackListProtected \
    address-list-timeout=3d chain=Protected comment=\
    "Protected - WinBox, ssh, telnet. Drop in RAW" connection-state="" \
    src-address-list="ListProtected Stage 2"
add action=add-src-to-address-list address-list="ListProtected Stage 2" \
    address-list-timeout=2m chain=Protected connection-state="" \
    src-address-list="ListProtected Stage 1"
add action=add-src-to-address-list address-list="ListProtected Stage 1" \
    address-list-timeout=1m chain=Protected connection-state=""
add action=accept chain=Protected
add action=drop chain=input comment="Drop All Other Input" in-interface-list=\
    Internet
add action=drop chain=forward comment="Drop All Other Forward" \
    in-interface-list=Internet
add action=accept chain=input comment=EoIP disabled=yes protocol=gre
/ip firewall mangle
add action=change-mss chain=forward comment="Change MTU" disabled=yes \
    in-interface=bridge-1 new-mss=1360 passthrough=yes protocol=tcp \
    tcp-flags=syn tcp-mss=1453-65535
add action=mark-routing chain=prerouting comment="Mark To VPS Server" \
    dst-address-list=Rkn new-routing-mark=ToRkn passthrough=no
add action=mark-routing chain=prerouting comment="Mark to SkyNet" \
    dst-address-list=Sknt new-routing-mark=ToSknt passthrough=no
add action=mark-routing chain=prerouting comment=Main new-routing-mark=main \
    passthrough=no src-address=192.168.10.0/24
add action=mark-connection chain=input comment="Mark IPSec" ipsec-policy=\
    in,ipsec new-connection-mark=ipsec passthrough=no
add action=mark-connection chain=output comment="Mark IPSec" connection-mark=\
    ipsec ipsec-policy=out,ipsec new-connection-mark=ipsec passthrough=no
/ip firewall nat
add action=dst-nat chain=dstnat comment=IpCam disabled=yes dst-port=\
    10554,1080,8091 in-interface-list=VPN protocol=tcp to-addresses=\
    192.168.10.122
add action=masquerade chain=srcnat dst-address-list=Sknt log-prefix=\
    "\EC\E0\F1\EA\E0\F0\E0\E4\F1\EA\ED\F2" out-interface=WG
add action=masquerade chain=srcnat dst-address-list=Rkn out-interface=\
    l2tp-out2
add action=redirect chain=dstnat dst-port=53,5353,1253 in-interface-list=VPN \
    protocol=udp to-ports=53
add action=redirect chain=dstnat dst-port=53,5353,1253 in-interface-list=VPN \
    protocol=tcp to-ports=53
add action=redirect chain=dstnat disabled=yes dst-port=53,5353,1253 \
    out-interface-list=Internet protocol=udp to-ports=53
add action=redirect chain=dstnat disabled=yes dst-port=53,5353,1253 \
    out-interface-list=Internet protocol=tcp to-ports=53
add action=masquerade chain=srcnat out-interface-list=Internet
add action=masquerade chain=srcnat comment=\
    "Allow acees to other subnets for ObitVpn" src-address=192.168.50.0/24
/ip firewall raw
add action=drop chain=prerouting in-interface-list=Internet src-address-list=\
    BlackListProtected
/ip proxy
set serialize-connections=yes src-address=192.168.10.1
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=95.***.***.***
add disabled=yes dst-address=0.0.0.0/0 gateway=10.9.8.1
add comment=SKNT disabled=no distance=1 dst-address=192.168.11.0/24 gateway=\
    l2tp-out1 pref-src="" routing-table=main scope=30 suppress-hw-offload=no \
    target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=l2tp-out1 pref-src=\
    "" routing-table=ToSknt scope=30 suppress-hw-offload=no target-scope=10
add disabled=no dst-address=0.0.0.0/0 gateway=l2tp-out2 routing-table=ToRkn
add comment=SKNT disabled=no distance=1 dst-address=192.168.11.0/24 gateway=\
    WG pref-src="" routing-table=main scope=30 suppress-hw-offload=no \
    target-scope=10
/ppp secret
add name=user profile=vpnsrv service=l2tp



ArtVAnt
Сообщения: 162
Зарегистрирован: 30 окт 2020, 15:00

набросал для наглядности, при подключении к ВПН по l2tp к микроту1 должны быть доступны все остальные подсети, сейчас недоступна 192.168.11.1 и 10.78.1.2 тоже не пингуется.
При этом с компа из подсети 192.168.10.1 доступна подсеть 192.168.11.1.
С микрота1 192.168.10.1 не пингуется 192.168.11.1 почему-то
Изображение


ArtVAnt
Сообщения: 162
Зарегистрирован: 30 окт 2020, 15:00

для этих целей у меня ранее было добавлено правило
add action=masquerade chain=srcnat comment=\
"Allow acees to other subnets for ObitVpn" src-address=192.168.50.0/24

т.е. клиенты впн микрота1 с адресами из сети 192.168.50.0/24 должны иметь доступ ко всем другим подсетям, но почему-то оно теперь работает только с подсетью 192.168.42.1


Inner
Сообщения: 248
Зарегистрирован: 01 июл 2020, 16:02

ArtVAnt писал(а): 13 дек 2021, 11:07 для этих целей у меня ранее было добавлено правило
add action=masquerade chain=srcnat comment=\
"Allow acees to other subnets for ObitVpn" src-address=192.168.50.0/24

т.е. клиенты впн микрота1 с адресами из сети 192.168.50.0/24 должны иметь доступ ко всем другим подсетям, но почему-то оно теперь работает только с подсетью 192.168.42.1
Это однозначно проблемы маршрутизации. Где-то отсутствует правило на маршрут или правило на маскарад. (Если честно, то очень лень вычитывать где оно именно у Вас отсутсвует :nez-nayu: ). В моей ситуации я себе сделал маскарад на управляющую сеть

Код: Выделить всё

add action=masquerade chain=srcnat out-interface=eoip-tunnel
А дальше ospf на всех остальных микротах

Код: Выделить всё

/routing ospf instance
set [ find default=yes ] router-id=10.100.1.1
/routing ospf network
add area=backbone network=10.100.1.0/28
add area=backbone network=172.16.4.0/30
add area=backbone network=192.168.102.0/29
add area=backbone network=10.71.0.0/24
192.168.102.0/29 - подсеть для управления всеми микротами.
Всё остальное - внутренние сети за другими микротами.
По аналогии и другие, кроме своего админского. На нём просто статичных маршрутов вполне хватает.
Суть идеи была как раз избежать проблем как у Вас. То есть, при расширении сети мне больше не нужно писать кучу маршрутов. Достаточно просто поднять OSPF, а дальше он сам всё сделает.


ArtVAnt
Сообщения: 162
Зарегистрирован: 30 окт 2020, 15:00

Inner писал(а): 13 дек 2021, 11:23
ArtVAnt писал(а): 13 дек 2021, 11:07 для этих целей у меня ранее было добавлено правило
add action=masquerade chain=srcnat comment=\
"Allow acees to other subnets for ObitVpn" src-address=192.168.50.0/24

т.е. клиенты впн микрота1 с адресами из сети 192.168.50.0/24 должны иметь доступ ко всем другим подсетям, но почему-то оно теперь работает только с подсетью 192.168.42.1
Это однозначно проблемы маршрутизации. Где-то отсутствует правило на маршрут или правило на маскарад. (Если честно, то очень лень вычитывать где оно именно у Вас отсутсвует :nez-nayu: ). В моей ситуации я себе сделал маскарад на управляющую сеть

Код: Выделить всё

add action=masquerade chain=srcnat out-interface=eoip-tunnel
А дальше ospf на всех остальных микротах

Код: Выделить всё

/routing ospf instance
set [ find default=yes ] router-id=10.100.1.1
/routing ospf network
add area=backbone network=10.100.1.0/28
add area=backbone network=172.16.4.0/30
add area=backbone network=192.168.102.0/29
add area=backbone network=10.71.0.0/24
192.168.102.0/29 - подсеть для управления всеми микротами.
Всё остальное - внутренние сети за другими микротами.
По аналогии и другие, кроме своего админского. На нём просто статичных маршрутов вполне хватает.
Суть идеи была как раз избежать проблем как у Вас. То есть, при расширении сети мне больше не нужно писать кучу маршрутов. Достаточно просто поднять OSPF, а дальше он сам всё сделает.
так, это интересное предложение.
Поясните, пожалуйста, маскарад я должен сделать на управляющем микроте или на других?
оспф я должен прописать только на других микротах или на основном тоже?


ArtVAnt
Сообщения: 162
Зарегистрирован: 30 окт 2020, 15:00

а еще в версии 7.1 нет вкладки Networks в ospf...
Изображение


Inner
Сообщения: 248
Зарегистрирован: 01 июл 2020, 16:02

ArtVAnt писал(а): 13 дек 2021, 11:46
Inner писал(а): 13 дек 2021, 11:23
ArtVAnt писал(а): 13 дек 2021, 11:07 для этих целей у меня ранее было добавлено правило
add action=masquerade chain=srcnat comment=\
"Allow acees to other subnets for ObitVpn" src-address=192.168.50.0/24

т.е. клиенты впн микрота1 с адресами из сети 192.168.50.0/24 должны иметь доступ ко всем другим подсетям, но почему-то оно теперь работает только с подсетью 192.168.42.1
Это однозначно проблемы маршрутизации. Где-то отсутствует правило на маршрут или правило на маскарад. (Если честно, то очень лень вычитывать где оно именно у Вас отсутсвует :nez-nayu: ). В моей ситуации я себе сделал маскарад на управляющую сеть

Код: Выделить всё

add action=masquerade chain=srcnat out-interface=eoip-tunnel
А дальше ospf на всех остальных микротах

Код: Выделить всё

/routing ospf instance
set [ find default=yes ] router-id=10.100.1.1
/routing ospf network
add area=backbone network=10.100.1.0/28
add area=backbone network=172.16.4.0/30
add area=backbone network=192.168.102.0/29
add area=backbone network=10.71.0.0/24
192.168.102.0/29 - подсеть для управления всеми микротами.
Всё остальное - внутренние сети за другими микротами.
По аналогии и другие, кроме своего админского. На нём просто статичных маршрутов вполне хватает.
Суть идеи была как раз избежать проблем как у Вас. То есть, при расширении сети мне больше не нужно писать кучу маршрутов. Достаточно просто поднять OSPF, а дальше он сам всё сделает.
так, это интересное предложение.
Поясните, пожалуйста, маскарад я должен сделать на управляющем микроте или на других?
оспф я должен прописать только на других микротах или на основном тоже?
В моём случае я рулю сетями из дома. Поэтому маскарад только у себя (на управляющем). А на других точках маскарад не нужен, так как мне необходимо чтобы все филиалы общались между собой напрямую. А точнее, маскарад замазывает всем внутренние адреса моих машин на один единственный (тот что у туннеля 192.168.102.1). А вот филиалам в этом необходимости нет, так как сервера разные везде, а доступ нужен ко всем, да и просто так как организация одна, то и смыла что-то маскировать нет. В связи с этим, OSPF поднят только между филиалами. Я привёл пример конфига только с одного микрота. В вещаемые сети на центровом роутере (к которому я подключен туннелем eoip) указана подсеть с моим ip 192.168.102.0/29 (она всем остальным и вещается). У себя же дома я просто указал статично нужные мне маршруты.


Inner
Сообщения: 248
Зарегистрирован: 01 июл 2020, 16:02

ArtVAnt писал(а): 13 дек 2021, 12:00 а еще в версии 7.1 нет вкладки Networks в ospf...
Изображение
Переехало в Interface Templates


ArtVAnt
Сообщения: 162
Зарегистрирован: 30 окт 2020, 15:00

Inner писал(а): 13 дек 2021, 12:11
ArtVAnt писал(а): 13 дек 2021, 12:00 а еще в версии 7.1 нет вкладки Networks в ospf...
Изображение
Переехало в Interface Templates
это похоже на "правильность" настройки? Это основной микрот
/routing ospf instance
add name=default-v2 router-id=192.168.10.1
/routing ospf area
add area-id=192.168.10.0 instance=default-v2 name=backbone-v2
/routing ospf interface-template
add area=backbone-v2 auth=md5 auth-id=1 auth-key=OspfMikrotik interfaces=WG \
networks=192.168.11.0/24
add area=backbone-v2 auth=md5 auth-id=1 auth-key=OspfMikrotik interfaces=\
l2tp-out2 networks=192.168.42.0/24
add area=backbone-v2 auth=md5 auth-id=1 auth-key=OspfMikrotik interfaces=LAN \
networks=192.168.10.0/24


Inner
Сообщения: 248
Зарегистрирован: 01 июл 2020, 16:02

/routing ospf area
add area-id=192.168.10.0 instance=default-v2 name=backbone-v2
Вот эта часть не нужна. Там вообще можно выключить или даже удалить.

В остальном выглядит логически верным. Единственное что, на следующих микротах не забывайте менять router id.
Если между двумя роутерами поднимется OSPF, то на вкладке Neightbors Вы увидите соседние id и сети, а в ip routes Появятся записи с флагом DAo.


Ответить