NAT внутри локальной сети. Маршрутизация между VLAN

Базовая функциональность RouterOS
Ответить
lexsed
Сообщения: 5
Зарегистрирован: 27 апр 2023, 10:50

NAT внутри локальной сети. Маршрутизация между VLAN

Сообщение lexsed »

Коллеги, добрый день!

Есть подсеть 192.168.20.0/23, в качестве роутера выступает pfsense c 2-мя сетевыми картами (LAN 192.168.20.254) и WAN, маршрутизация настроена на нем.
В этой подсети 192.168.20.0/23 есть RouterBoard 1100 AHx4 (192.168.20.1), на нем нарезаны VLANы с подсетями 192.168.10.0/24, 192.168.30.0/24-192.168.70.0/24, для каждой подсети есть DHCP, со шлюзами соответственно 192.168.10.1, 192.168.30.1-192.168.70.1. Пинги во все подсети ходят.
Настраивал, к сожалению, не я, пытаюсь разобраться.
Проблема в том, что сервера находящиеся в сети 192.168.20.0/23 видят компы за NAT, то есть, например, комп 192.168.50.100, видят сервера как 192.168.50.1 ( шлюз подсети). Пробовал отключить NAT на RouterBoard 1100, сеть виснет, в интернет перестают выходить эти VLAN. Может надо переключить NAT в другой режим, пробовал, тоже ничего не получается.
И еще, происходит потеря или затухание пакетов между 192.168.20.0/23 и всеми VLAN, хотя пинги во всех подсетях ходят.
Подскажите, как правильно перенастроить VLANы и убрать NAT, чтобы все пакеты ходили без потерь во все подсети и все друг друга видели по своим реальным ip адресам , а не за NAT?
Прилагаю конфигурацию ниже.

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

/interface bridge

add name=bridge10
add name=bridge20
add name=bridge30
add name=bridge40
add name=bridge50
add name=bridge60
add name=bridge70

/interface ethernet
set [ find default-name=ether8 ] disabled=yes
set [ find default-name=ether9 ] disabled=yes
set [ find default-name=ether10 ] disabled=yes
set [ find default-name=ether11 ] disabled=yes
set [ find default-name=ether12 ] disabled=yes
set [ find default-name=ether13 ] disabled=yes
/interface vlan

add interface=ether1 name=vlan10-1 vlan-id=10
add interface=ether2 name=vlan10-2 vlan-id=10
add interface=ether3 name=vlan10-3 vlan-id=10
add interface=ether4 name=vlan10-4 vlan-id=10
add interface=ether5 name=vlan10-5 vlan-id=10
add interface=ether6 name=vlan10-6 vlan-id=10
add interface=ether7 name=vlan10-7 vlan-id=10
add interface=bridge20 name=vlan20 vlan-id=20
add interface=bridge30 name=vlan30 vlan-id=30
add interface=bridge40 name=vlan40 vlan-id=40
add interface=bridge50 name=vlan50 vlan-id=50
add interface=bridge60 name=vlan60 vlan-id=60
add interface=bridge70 name=vlan70 vlan-id=70

/interface ethernet switch port
set 0 default-vlan-id=0
set 1 default-vlan-id=0
set 2 default-vlan-id=0
set 3 default-vlan-id=0
set 4 default-vlan-id=0
set 5 default-vlan-id=0
set 6 default-vlan-id=0
set 7 default-vlan-id=0
set 8 default-vlan-id=0
set 9 default-vlan-id=0
set 13 default-vlan-id=0
set 14 default-vlan-id=0
/interface list
add name=WAN
add name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=dhcp_pool30 ranges=192.168.30.100-192.168.30.254
add name=dhcp_pool40 ranges=192.168.40.100-192.168.40.254
add name=dhcp_pool50 ranges=192.168.50.100-192.168.50.254
add name=dhcp_pool60 ranges=192.168.60.100-192.168.60.254
add name=dhcp_pool70 ranges=192.168.70.100-192.168.70.254
/ip dhcp-server
add address-pool=dhcp_pool30 disabled=no interface=bridge30 lease-time=1d name=\
dhcp30 relay=192.168.21.3
add address-pool=dhcp_pool40 disabled=no interface=bridge40 lease-time=1d name=\
dhcp40 relay=192.168.21.3
add address-pool=dhcp_pool60 disabled=no interface=bridge60 lease-time=1d name=\
dhcp60 relay=192.168.21.3
add address-pool=dhcp_pool70 disabled=no interface=bridge70 lease-time=1d name=\
dhcp70 relay=192.168.21.3
add address-pool=dhcp_pool50 disabled=no interface=bridge50 lease-time=1d name=\
dhcp50 relay=192.168.21.3
/queue simple
add max-limit=64k/64k name=queue1 target=192.168.50.101/32
add max-limit=5M/5M name=queue2 target=192.168.50.105/32
/user group
set full policy="local,telnet,ssh,ftp,reboot,read,write,policy,test,winbox,passw\
ord,web,sniff,sensitive,api,romon,dude,tikapp"
/dude
set data-directory=/M2/dude enabled=yes
/interface bridge port
add bridge=bridge20 interface=ether1
add bridge=bridge30 interface=ether2
add bridge=bridge40 interface=ether3
add bridge=bridge50 interface=ether4
add bridge=bridge60 interface=ether5
add bridge=bridge70 interface=ether6
add bridge=bridge10 interface=vlan10-1
add bridge=bridge10 interface=vlan10-2
add bridge=bridge10 interface=vlan10-3
add bridge=bridge10 interface=vlan10-4
add bridge=bridge10 interface=vlan10-5
add bridge=bridge10 interface=vlan10-6
add bridge=bridge10 interface=vlan10-7


/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/interface list member
add 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=ether6 list=LAN
add interface=ether7 list=LAN
add interface=ether8 list=LAN
add interface=ether9 list=LAN
add interface=ether10 list=LAN
add interface=ether11 list=LAN
add interface=ether12 list=LAN
add interface=ether13 list=LAN
/ip address
add address=192.168.10.1/24 interface=bridge10 network=192.168.10.0
add address=192.168.20.1/23 interface=bridge20 network=192.168.20.0
add address=192.168.30.1/24 interface=bridge30 network=192.168.30.0
add address=192.168.40.1/24 interface=bridge40 network=192.168.40.0
add address=192.168.50.1/24 interface=bridge50 network=192.168.50.0
add address=192.168.60.1/24 interface=bridge60 network=192.168.60.0
add address=192.168.70.1/24 interface=bridge70 network=192.168.70.0
/ip dhcp-relay
add add-relay-info=yes dhcp-server=192.168.21.3 disabled=no interface=bridge30 \
local-address=192.168.30.1 name=relay30 relay-info-remote-id=relay30
add add-relay-info=yes dhcp-server=192.168.21.3 disabled=no interface=bridge60 \
local-address=192.168.60.1 name=relay60 relay-info-remote-id=relay60
add add-relay-info=yes dhcp-server=192.168.21.3 disabled=no interface=bridge40 \
local-address=192.168.40.1 name=relay40 relay-info-remote-id=relay40
add add-relay-info=yes dhcp-server=192.168.21.3 disabled=no interface=bridge50 \
local-address=192.168.50.1 name=relay50 relay-info-remote-id=relay50
add add-relay-info=yes dhcp-server=192.168.21.3 disabled=no interface=bridge70 \
local-address=192.168.70.1 name=relay70 relay-info-remote-id=relay70
add add-relay-info=yes dhcp-server=192.168.21.3 interface=bridge80 \
local-address=192.168.80.1 name=relay80 relay-info-remote-id=relay80
/ip dhcp-server network
add address=192.168.30.0/24 dns-server=192.168.20.2,192.168.21.3 domain=\
intranet.local gateway=192.168.30.1 ntp-server=\
192.168.21.3,192.168.20.2 wins-server=192.168.21.3
add address=192.168.40.0/24 dns-server=192.168.20.2,192.168.21.3 domain=\
intranet.local gateway=192.168.40.1 ntp-server=\
192.168.21.3,192.168.20.2 wins-server=192.168.21.3
add address=192.168.50.0/24 dns-server=192.168.20.2,192.168.21.3 domain=\
intranet.local gateway=192.168.50.1 ntp-server=\
192.168.21.3,192.168.20.2 wins-server=192.168.21.3
add address=192.168.60.0/24 dns-server=192.168.20.2,192.168.21.3 domain=\
intranet.local gateway=192.168.60.1 ntp-server=\
192.168.21.3,192.168.20.2 wins-server=192.168.21.3
add address=192.168.70.0/24 dns-server=192.168.20.2,192.168.21.3 domain=\
intranet.local gateway=192.168.70.1 ntp-server=\
192.168.21.3,192.168.20.2 wins-server=192.168.21.3
/ip dns
set servers=192.168.21.3,192.168.20.2
/ip dns static

/ip firewall filter
add action=drop chain=forward dst-address=192.168.50.101 src-address=\
192.168.50.101
add action=drop chain=input dst-address=192.168.50.101 src-address=\
192.168.50.101
add action=drop chain=output dst-address=192.168.50.101 src-address=\
192.168.50.101
/ip firewall nat
add action=masquerade chain=srcnat src-address=192.168.10.0/24
add action=masquerade chain=srcnat src-address=192.168.20.0/23
add action=masquerade chain=srcnat src-address=192.168.30.0/24
add action=masquerade chain=srcnat src-address=192.168.40.0/24
add action=masquerade chain=srcnat src-address=192.168.50.0/24
add action=masquerade chain=srcnat src-address=192.168.60.0/24
add action=masquerade chain=srcnat src-address=192.168.70.0/24
/ip route
add distance=1 gateway=192.168.20.254
/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
/ip ssh
set allow-none-crypto=yes forwarding-enabled=remote
/snmp
set enabled=yes location=servernaya trap-version=2
/system clock
set time-zone-name=Asia/Krasnoyarsk
/system identity
set name=MT1100core
/system logging
add disabled=yes topics=dhcp,debug
/tool sniffer
set filter-ip-protocol=icmp
На pfsense прописаны маршруты
Вложения
маршруты на pfsense
маршруты на pfsense
маршруты.png (32.1 КБ) 4364 просмотра
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: NAT внутри локальной сети. Маршрутизация между VLAN

Сообщение Chupaka »

Приветствую
lexsed писал(а): 27 апр 2023, 11:07 Пробовал отключить NAT на RouterBoard 1100
Так и надо делать
lexsed писал(а): 27 апр 2023, 11:07 сеть виснет, в интернет перестают выходить эти VLAN.
Вот это странно. Проверяйте не пингами, а трассировкой. С обеих сторон навстречу друг другу. По DNS-именам и IP. Проблема не может быть с DNS? Кто такие 192.168.20.2,192.168.21.3? В описании их нет. Они из других подсетей запросы принимают нормально? Брандмауэры никакие ничего не блокируют на них, например?

На pfsense в фильтрах файрвола ничего криминального?
lexsed писал(а): 27 апр 2023, 11:07 И еще, происходит потеря или затухание пакетов между 192.168.20.0/23 и всеми VLAN, хотя пинги во всех подсетях ходят.
Расскажите, что такое "затухание пакетов". Уже два десятка лет работаю с сетями, но такого термина ещё не встречал...
lexsed
Сообщения: 5
Зарегистрирован: 27 апр 2023, 10:50

Re: NAT внутри локальной сети. Маршрутизация между VLAN

Сообщение lexsed »

Chupaka писал(а): 28 апр 2023, 21:38 Приветствую
lexsed писал(а): 27 апр 2023, 11:07 Пробовал отключить NAT на RouterBoard 1100
Так и надо делать

КАК правильно отключить NAT? Потому что при отключении , например, правила
add action=masquerade chain=srcnat src-address=192.168.30.0/24
Пинги идут странно в направлении от 192.168.30.0/24 в 192.168.20.0/23 выборочно, мой комп не пингуется (192.168.30.201), сервер 1С пингуется и даже запускается только долго. С моей стороны (192.168.20.0/23) в 192.168.30.0/24 пингуется.
Сеть 192.168.30.0/24 перестает ходить в интернет. Трассировка перестает работать со стороны 192.168.30.0/24, а в обратном работает.
lexsed писал(а): 27 апр 2023, 11:07 сеть виснет, в интернет перестают выходить эти VLAN.
Вот это странно. Проверяйте не пингами, а трассировкой. С обеих сторон навстречу друг другу. По DNS-именам и IP. Проблема не может быть с DNS? Кто такие 192.168.20.2,192.168.21.3? В описании их нет. Они из других подсетей запросы принимают нормально? Брандмауэры никакие ничего не блокируют на них, например?

Трассировка в обе стороны показывает странные результаты. В направлении 30 VLAN 3 прыжка, 2 шлюза перепрыгивает, а в направлении 20 подсети 2 прыжка, перепрыгивает только 1 шлюз. Посмотрите во вложении.


192.168.20.2,192.168.21.3 это контроллеры домена и на них DNS, DHCP сервера. Dns сервера работают нормально, резолвится все.

На pfsense в фильтрах файрвола ничего криминального?

Ниже во вложении правила файрволла. Может не так что-то там настроено?
lexsed писал(а): 27 апр 2023, 11:07 И еще, происходит потеря или затухание пакетов между 192.168.20.0/23 и всеми VLAN, хотя пинги во всех подсетях ходят.
Расскажите, что такое "затухание пакетов". Уже два десятка лет работаю с сетями, но такого термина ещё не встречал...

Ну наверное я не правильно выразился. Это проблема, которую я описал выше, при отключении правила NAT в микротике.
Вложения
правила LAN.png
правила LAN.png (179.85 КБ) 4353 просмотра
nat исходящий.png
nat исходящий.png (56.33 КБ) 4353 просмотра
Последний раз редактировалось lexsed 02 май 2023, 12:16, всего редактировалось 1 раз.
lexsed
Сообщения: 5
Зарегистрирован: 27 апр 2023, 10:50

Re: NAT внутри локальной сети. Маршрутизация между VLAN

Сообщение lexsed »

Это трассировка
Вложения
трассировка хоста 30 подсети_.png
трассировка хоста 30 подсети_.png (11.3 КБ) 4346 просмотров
трассировка хоста 20 подсети.png
трассировка хоста 20 подсети.png (4.69 КБ) 4347 просмотров
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: NAT внутри локальной сети. Маршрутизация между VLAN

Сообщение Chupaka »

lexsed писал(а): 02 май 2023, 06:20 Пинги идут странно <...> мой комп не пингуется (192.168.30.201)
Это вполне может быть локальный файрвол. Брандмауэр Windows? Он, вроде, по умолчанию запрещает подключения и пинги не из локальной подсети.
lexsed писал(а): 02 май 2023, 06:20 Сеть 192.168.30.0/24 перестает ходить в интернет. Трассировка перестает работать со стороны 192.168.30.0/24, а в обратном работает.
Ни на одном из скриншотов я не вижу неудачной трассировки.
lexsed писал(а): 02 май 2023, 06:20 Трассировка в обе стороны показывает странные результаты. В направлении 30 VLAN 3 прыжка, 2 шлюза перепрыгивает, а в направлении 20 подсети 2 прыжка, перепрыгивает только 1 шлюз. Посмотрите во вложении.
В этом нет ничего странного. У девайсов 192.168.20.0/23 шлюзом указан pfsense, поэтому они пакеты шлют ему, он пересылает микротику, тот доставляет получателю. Три прыжка. В обратную сторону микротик сразу знает, где расположены девайсы 192.168.20.0/23, поэтому шлёт им напрямую. Два прыжка.
lexsed писал(а): 02 май 2023, 06:20 Ниже во вложении правила файрволла. Может не так что-то там настроено?
Если я правильно понял, что там практически все правила фильтрации - разрешающие, то они не должны мешать.
lexsed
Сообщения: 5
Зарегистрирован: 27 апр 2023, 10:50

Re: NAT внутри локальной сети. Маршрутизация между VLAN

Сообщение lexsed »

Добрый день! Мне тут подсказали, PFsense понятия не имеет о существовании VLAN из Микротика. И что надо создавать субинтерфейсы VLAN, привязанные к сетевой карте на PF и тогда PFSense познакомится с VLAN'ами напрямую. Нужен транк из микрота с этими всеми VLAN через порт, в который воткнут PFSense!
И только после этого отключать masquerade на микротике.
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: NAT внутри локальной сети. Маршрутизация между VLAN

Сообщение Chupaka »

Так ему и не надо про них знать, они ведь за микротиком спрятаны, и это микротик с ними работает, а у PFsense точка входа - 192.168.20.1. А то, что вы описываете - превратить микротик в коммутатор, перенеся маршрутизацию с него на PFsense.
lexsed
Сообщения: 5
Зарегистрирован: 27 апр 2023, 10:50

Re: NAT внутри локальной сети. Маршрутизация между VLAN

Сообщение lexsed »

Вот примерная схема сети
Вложения
упрощенная схема.png
упрощенная схема.png (201.88 КБ) 4303 просмотра
Аватара пользователя
Chupaka
Сообщения: 3878
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: NAT внутри локальной сети. Маршрутизация между VLAN

Сообщение Chupaka »

Вроде всё так, как я и сказал...
Ответить