Jump to content
Калькуляторы

Вопрос по цепочке Prerouting

Hi ALL,
версия софта 6.42.4
в /ip firewall mangle> создаю правило
chain=prerouting action=accept src-address=ХХ.ХХ.ХХ.ХХ in-interface=ether1 log=no
пакеты ловит
в /ip firewall nat> создаю аналогичное правило
chain=dstnat action=accept src-address=ХХ.ХХ.ХХ.ХХ in-interface=ether1 log=no
пакеты не ловит
подскажите где копать?
PS Пакеты направляются самому микротику.

Share this post


Link to post
Share on other sites

А выложить /export  или вы думаете здесь  форум гадалок.

Share this post


Link to post
Share on other sites

Sorry, вот export

 

# jan/02/1970 04:12:33 by RouterOS 6.42.4
# software id = B5ES-UHS8
#
# model = RouterBOARD wAP 2nD r2
# serial number = 6D820467EB2D
/interface bridge
add fast-forward=no name=br-eth
add fast-forward=no name=br-wlan
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-Ce \
    disabled=no distance=indoors frequency=auto mode=ap-bridge ssid=\
    MikroTik-Test wireless-protocol=802.11
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa2-eap mode=dynamic-keys \
    supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=flash/hotspot
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=default-dhcp disabled=no interface=br-wlan name=server1
/interface bridge port
add bridge=br-eth interface=ether1
add bridge=br-wlan interface=wlan1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf disabled=yes interface=wlan1 list=LAN
add comment=defconf disabled=yes interface=ether1 list=WAN
add disabled=yes interface=ether1 list=LAN
/ip address
add address=192.168.88.1/24 comment=defconf interface=br-wlan network=\
    192.168.88.0
add address=172.10.255.21/29 interface=br-eth network=172.10.255.16
/ip dhcp-client
add comment=defconf dhcp-options=hostname,clientid interface=ether1
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf gateway=192.168.88.1
/ip dns
set allow-remote-requests=yes servers=193.232.254.218,193.232.254.220
/ip dns static
add address=192.168.88.1 name=router.lan
/ip firewall filter
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" \
    disabled=yes 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=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related
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 mangle
add action=accept chain=prerouting in-interface=br-eth src-address=\
    10.10.10.10
/ip firewall nat
add action=accept chain=dstnat in-interface=br-eth src-address=10.10.10.10
/ip route
add distance=1 gateway=172.10.255.22
/radius
add address=10.10.10.10 secret=local_client service=wireless
/system routerboard settings
set silent-boot=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN

 

статистику по пакетам выложил картинкой

Stat NAT & Mangle.png

Share this post


Link to post
Share on other sites

Забавно, если мониторить исходящие пакеты в postrouting соответственно в mangle  и src.nat то пакеты ловит и там и там

/ip firewall mangle
add action=accept chain=postrouting dst-address=10.10.10.10 out-interface= br-eth
/ip firewall nat
add action=accept chain=srcnat dst-address=10.10.10.10 out-interface=br-eth

 

статистика картинкой.

Stat NAT & Mangle postroutin.png

Share this post


Link to post
Share on other sites

И так подытожу что получилось на сегодня, правда желаемого результата пока нет ;(

1) мониторится обмен между RADIUS-клиентом микротиком и конкретным IP RADIUS-сервера

2) исходящие пакеты от микротика к RADIUS-серверу проверяются правилами в цепочке postrouting в mangle  и src.nat - ловим пакет и там и там

3) входящие пакеты от RADIUS-сервера к микротику проверяются правилами в цепочке prerouting в mangle  и dst.nat - в mangle - ловятся в dst.nat - нет

и дополнительно проверяются в цепочке input в mangle - тут тоже пакеты ловятся

правила которые ловят пакеты абсолютно идентичные на всех точках проверки для входящего трафика и свои идентичные для исходящего трафика

 

в связи с этим ОГРОМНЫЙ вопрос: ПОЧЕМУ ПАКЕТЫ ИГНОРИРУЮТСЯ в dst.nat ???

 

Очень прошу помочь в данном вопросе.

 

PS Для наглядности картинка: кружок там где правило ловит пакет, крест - где не ловит

 

Simple-scheme.png

Share this post


Link to post
Share on other sites

Из описания действия accept:

 

accept - accept the packet. Packet is not passed to next firewall rule.

Share this post


Link to post
Share on other sites
В 21.05.2019 в 07:46, soi сказал:

Очень прошу помочь в данном вопросе.

через цепочки dstnat и srcnet проверяются только пакеты, не относящиеся к какому-либо уже открытому соединению.

Позволю себе предположить , что если вам микротик взаимодействует с неким radius-сервером ,  то исходно udp соединение порождает он сам.

Указанное соединение попадает в conntrack ( сессия udp с соответствующим dst ip и dst port )

Когда ваш радиус-сервер присылает ответ, указанный ответ механизмом conntrack соотносится с уже имеющимся открытым соединением в таблице и повода пропускать его через цепочку nat prerouting ( dstnat в нотации микротика ) - нету.

попробуйте просто прислать себе произвольный udp пакет с устройства 10.10.10.10 на микротик ( не в рамках ответа на радиус-запрос ) и вы наверняка "поймаете" его  вашим правилом.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this