Пятиминутный затык на внешнем интерфейсе - РЕШЕНО

Обсуждение оборудования и его настройки
gmx
Модератор
Сообщения: 3290
Зарегистрирован: 01 окт 2012, 14:48

Скорее всего софтовая. И все-таки.
Сделайте сброс конфига и настройте минимум!!!
Только WAN, DHCP, и NAT. ну и port mapping.
Я бы еще у провайдера MAC перерегистрировал, чтобы никакого клонирования.

Никаких правил фаерволла, никакого снифера и так далее.

Уверен, все будет работать.

У меня есть места, где микротик держит по 25000 и больше входящих соединений. И хоть бы хны. Но у меня только минимум, никаких лишних правил. Мне важнее стабильность.


michaeldreamway
Сообщения: 11
Зарегистрирован: 28 июл 2014, 12:56

gmx писал(а):Скорее всего софтовая. И все-таки.
Сделайте сброс конфига и настройте минимум!!!
Только WAN, DHCP, и NAT. ну и port mapping.
Я бы еще у провайдера MAC перерегистрировал, чтобы никакого клонирования.

Никаких правил фаерволла, никакого снифера и так далее.

Уверен, все будет работать.

У меня есть места, где микротик держит по 25000 и больше входящих соединений. И хоть бы хны. Но у меня только минимум, никаких лишних правил. Мне важнее стабильность.


сбросил на заводские настройки, запустил скрипт настроек по умолчанию с маскарадингом, таже ситуация. отключил все блокирующие правила на сколько понимаю для цепочки форвард политика по умолчанию принимать соединения, таже ситуация.

сдается мне что верно первое же предположение в теме блокировка провайдером. скоро раздобуду тик 750, испытаю на нем, что должно с высокой долей вероятности подтвердить либо опровергнуть.

ПС есть еще третий вариант лыжи не едут, это первый мой микротик


gmx
Модератор
Сообщения: 3290
Зарегистрирован: 01 окт 2012, 14:48

Опять какой-то скрипт?

Все вручную после сброса надо настраивать. И пока никаких правил фаерволла вообще быть не должно. Вообще ничего. В идеале: бридж, WAN и бесконечный пинг в терминале.


michaeldreamway
Сообщения: 11
Зарегистрирован: 28 июл 2014, 12:56

по порядку:
    1 переназначили мак на оборудовании провайдера - не помогло
    2 сбросил на заводские, выполнил минимум настроек (адрес ван, дхцп, бридж) добавил в нат снат без единого правила на фаеволе - не помогло

снова вернулся к старым настройкам, потому как если сброс настроек не попмогает незачем тратить время, но:
    а) убрал статическую арп запись для шлюза провайдера
    б) к политике по умолчанию сбрасывать все пакеты для всех цепочек добавил правила дропать инвалидов и выставил их выше остальных правил
    в) разрешил в цепочке форвард исходящие и входящие на внешний интерфейс без условия что источником пакета является локальная сеть!
    г) поменял маскарад на снат и прочие мелочи

заработало!

я представлял себе настройку нат таким образом:
    1) включаем ip firewall nat, пакеты с внешнего интерфейса отправляются в нат таблицу,
    2) все исходящие из локали в цепочке форвард принимаем фаером ip firewall filter,
    3) входящие в локаль пакеты будут пропускаться фаером только по состоянию established, related
    для иницирования входящих извне создаются правила днат и соответствующие правило фаера

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

 нат "будь проще"
/ip firewall nat
add action=src-nat chain=srcnat comment=snat out-interface=eth1-wan to-addresses=$my_ext_wip

и
 новые правила
/ip firewall filter
add action=drop chain=forward comment="forward drop invalid" \
connection-state=invalid
add chain=forward comment="forward established" connection-state=established
add chain=forward comment="forward related" connection-state=related
add chain=forward comment="forward new out" connection-state=new \
out-interface=eth1-wan
add chain=forward comment="forward new in" connection-state=new in-interface=\
eth1-wan
add action=drop chain=forward comment="forward drop all"


осталось невыясненным верно ли мое понимание нат, соответствовал ли конфиг теории, будут ли корректно работать приложения при "моих" настройках нат и в чем все же причина 5 минутного затыка, связано ли это с тем как отслеживаются состояния пакета в микротике

прошу меня поправить если я не прав.

 включение нат "по моему©"
/ip firewall nat
add action=masquerade chain=srcnat comment=snat out-interface=eth1-wan src-address-list=LOCAL to-addresses=$my-ext-ip
add action=dst-nat chain=dstnat comment="torrent 38791 tcp" dst-port=38791 in-interface=eth1-wan protocol=tcp to-addresses=192.168.88.253 to-ports=38791


 правило исходящие из локали "по моему©"
/ip firewall filter
add chain=forward comment="forward new out eth1-wan from LOCAL" connection-state=new out-interface=eth1-wan src-address-list=LOCAL
add chain=forward comment="uTorrent - forward new con from eth1-wan 38791" connection-state=new dst-address=192.168.88.253 dst-port=38791 protocol=tcp


 новый конфиг
/interface ethernet
set [ find default-name=ether1 ] comment=wan name=eth1-wan
set [ find default-name=ether2 ] comment=lan name=eth2
set [ find default-name=ether3 ] master-port=eth2 name=eth3
set [ find default-name=ether4 ] master-port=eth2 name=eth4
set [ find default-name=ether5 ] master-port=eth2 name=eth5
/interface bridge
add admin-mac=D4:CA:6D:BB:97:D7 auto-mac=no l2mtu=1598 name=bridge-local
/interface wireless
set [ find default-name=wlan1 ] adaptive-noise-immunity=ap-and-client-mode \
band=2ghz-b/g/n channel-width=20/40mhz-ht-above comment=wifi country=\
russia disabled=no disconnect-timeout=9s distance=indoors frequency=2472 \
ht-rxchains=0 ht-txchains=0 l2mtu=2290 mode=ap-bridge mtu=1492 ssid=ssid \
tx-power=8 tx-power-mode=all-rates-fixed wireless-protocol=802.11
/interface wireless nstreme
set wlan1 comment=wifi
/interface wireless manual-tx-power-table
set wlan1 comment=wifi
/ip neighbor discovery
set eth1-wan comment=wan discover=no
set eth2 comment=lan
set wlan1 comment=wifi
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" \
group-key-update=15m mode=dynamic-keys supplicant-identity=MikroTik \
wpa-pre-shared-key=12312312 wpa2-pre-shared-key=$my_pass_verystrong
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=3des
/ip pool
add name=dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add add-arp=yes address-pool=dhcp disabled=no interface=bridge-local \
lease-time=10h name=default
/system logging action
set 0 memory-lines=100
set 1 disk-lines-per-file=100
/interface bridge port
add bridge=bridge-local interface=eth2
add bridge=bridge-local interface=wlan1
/ip address
add address=192.168.88.1/24 comment="default configuration" interface=eth2 \
network=192.168.88.0
add address=$my_ext_wip/30 interface=eth1-wan network=$my_net
/ip dhcp-server lease
add address=192.168.88.251 client-id=1:0:5:5d:6b:bd:8a comment=pc \
mac-address=00:05:5D:6B:BD:8A server=default
add address=192.168.88.250 client-id=1:0:ee:bd:63:7e:48 comment=htc \
mac-address=00:EE:BD:63:7E:48 server=default
add address=192.168.88.252 client-id=1:60:fe:c5:ce:aa:89 comment=ipad \
mac-address=60:FE:C5:CE:AA:89 server=default
add address=192.168.88.249 comment=asus mac-address=74:D0:2B:A7:8D:9C server=\
default
add address=192.168.88.248 client-id=1:20:10:7a:9d:eb:81 comment=philips \
mac-address=20:10:7A:9D:EB:81 server=default
add address=192.168.88.23 client-id=1:18:e2:c2:e5:b:d4 comment=samsung \
mac-address=18:E2:C2:E5:0B:D4 server=default
/ip dhcp-server network
add address=192.168.88.0/24 comment=lan dns-server=192.168.88.1 gateway=\
192.168.88.1
/ip dns
set allow-remote-requests=yes servers=80.65.16.1,80.65.20.1
/ip dns static
add address=192.168.88.1 name=router
add address=192.168.88.253 name=$my_router
/ip firewall address-list
add address=127.0.0.0/8 list=LOOP
add address=192.168.88.0/24 list=LOCAL
add address=$my_work_ip list=work
add address=$my_gateway list=gw
/ip firewall filter
add action=drop chain=forward comment="forward drop invalid" \
connection-state=invalid
add chain=forward comment="forward established" connection-state=established
add chain=forward comment="forward related" connection-state=related
add chain=forward comment="forward new out" connection-state=new \
out-interface=eth1-wan
add chain=forward comment="forward new in" connection-state=new in-interface=\
eth1-wan
add action=drop chain=forward comment="forward drop all"
add action=drop chain=input comment="input drop invalid" connection-state=\
invalid in-interface=eth1-wan
add chain=input comment="input local new eth" connection-state=new \
in-interface=eth2
add chain=input comment="input new wlan" connection-state=new in-interface=\
wlan1
add chain=input comment="input icmp" connection-state=new protocol=icmp
add chain=input comment="input work" connection-state=new src-address-list=\
work
add chain=input comment="input gw" connection-state=new src-address-list=gw \
src-mac-address=C8:4C:75:E9:29:BF
add chain=input comment="input established" connection-state=established
add chain=input comment="input related" connection-state=related
add action=log chain=input comment="input log unknown input wan" \
in-interface=eth1-wan log-prefix="input unknown: "
add action=drop chain=input comment="input drop all wan" in-interface=\
eth1-wan
add action=drop chain=output comment="output drop invalid" connection-state=\
invalid
add chain=output comment="output local" out-interface=!eth1-wan
add chain=output comment="output wan" out-interface=eth1-wan
add action=drop chain=output comment="output drop all"
/ip firewall nat
add action=src-nat chain=srcnat comment=snat out-interface=eth1-wan \
to-addresses=$my_ext_wip
add action=dst-nat chain=dstnat comment="torrent 38791 tcp" dst-port=38791 \
in-interface=eth1-wan protocol=tcp to-addresses=192.168.88.251 to-ports=\
38791
add action=dst-nat chain=dstnat comment="torrent 38791 udp" dst-port=38791 \
in-interface=eth1-wan protocol=udp to-addresses=192.168.88.251 to-ports=\
38791
add action=dst-nat chain=dstnat comment="flylink dc 30100 tcp" dst-port=30100 \
protocol=tcp to-addresses=192.168.88.251 to-ports=30100
add action=dst-nat chain=dstnat comment="flylink dc 30200 udp" dst-port=30200 \
protocol=udp to-addresses=192.168.88.251 to-ports=30200
add action=dst-nat chain=dstnat comment="flylink dc 30300 dht" dst-port=30300 \
protocol=udp to-addresses=192.168.88.251 to-ports=30300
add action=dst-nat chain=dstnat comment="filezilla 65420 tcp" dst-port=65420 \
in-interface=eth1-wan protocol=tcp to-addresses=192.168.88.251 to-ports=\
65420
add action=dst-nat chain=dstnat comment="filezilla 65421 tcp" dst-port=65421 \
in-interface=eth1-wan protocol=tcp to-addresses=192.168.88.251 to-ports=\
65421
add action=dst-nat chain=dstnat comment="filezilla 14147 tcp" dst-port=14147 \
in-interface=eth1-wan protocol=tcp to-addresses=192.168.88.251 to-ports=\
14147
add action=jump chain=dstnat comment=upnp disabled=yes jump-target=natupmp \
to-addresses=192.168.88.253
/ip firewall service-port
set ftp disabled=yes
set tftp disabled=yes
set irc disabled=yes
set h323 disabled=yes
set sip disabled=yes
set pptp disabled=yes
/ip ipsec policy
add template=yes
add template=yes
/ip proxy
set parent-proxy=0.0.0.0
/ip route
add distance=1 gateway=$my_gateway
/ip service
set telnet address=$my_work_ip/32
set ftp disabled=yes
set www address=192.168.88.0/24
set ssh disabled=yes
set api address=192.168.88.0/24 disabled=yes
set winbox address=192.168.88.0/24
set api-ssl disabled=yes
/ip smb
set allow-guests=no interfaces=bridge-local
/ip upnp
set allow-disable-external-interface=no
/ip upnp interfaces
add interface=bridge-local type=internal
add interface=eth1-wan type=external
add interface=eth5 type=internal
add interface=eth4 type=internal
add interface=eth3 type=internal
add interface=eth2 type=internal
/system clock manual
set time-zone=+08:00
/system identity
set name=$my_router
/system leds
set 0 interface=wlan1
/system logging
add topics=critical
add action=echo topics=error
add action=echo topics=warning
add topics=interface
add topics=firewall
add topics=wireless
add prefix=diag topics=route,event,packet,rsvp,sstp,state
/system ntp client
set enabled=yes primary-ntp=193.27.209.1 secondary-ntp=193.27.209.211
/system routerboard settings
set cpu-frequency=700MHz
/system scheduler
add disabled=yes interval=1d name=WiFiOff on-event="/interface disable wlan1" \
policy=reboot,read,write,policy,test,password,sniff,sensitive start-date=\
jan/01/1970 start-time=00:45:00
add disabled=yes interval=1d name=WiFiOn on-event="/interface enable wlan1" \
policy=\
ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
start-date=jan/01/1970 start-time=06:45:00
/tool bandwidth-server
set authenticate=no
/tool graphing resource
add store-on-disk=no
/tool mac-server
set [ find default=yes ] disabled=yes
add interface=eth2
add interface=eth3
add interface=eth4
add interface=eth5
add interface=wlan1
add interface=bridge-local
/tool mac-server mac-winbox
set [ find default=yes ] disabled=yes
add interface=eth2
add interface=eth3
add interface=eth4
add interface=eth5
add interface=wlan1
add interface=bridge-local
/tool netwatch
add comment=gw down-script=":log warning \"### NetWatch - Gate $my_gateway\
\_Down ###\";\r\
\n:log warning \"CPU: \$[/system resource get cpu-load]%\";\r\
\n:log warning \"RAM: \$(([/system resource get total-memory]-[/system res\
ource get free-memory])/1024)/\$([/system resource get total-memory]/1024)\
M\";\r\
\n:log warning \"CON: \$[/ip firewall connection tracking get total-entrie\
s]\";\r\
\n:beep;" host=$my_gateway interval=1s timeout=500ms up-script=\
":log warning \"### NetWatch - Gate Up ###\";\r\
\n:beep;"


благодарю за Ваше желание помочь и практические советы. если столкнетесь с подобным затыком или будет интерес понять точную причину столь странного поведения, пишите.

ПС при новом конфиге от чего то много пакетов дропается на цепочке input, по количеству IP адресов понятно что это "хвосты" торрентов, но не понятно что то им не дает попасть в forward

ПС2 количество одновременных соединений выросло с 300 до 800-900, затыка нет


gmx
Модератор
Сообщения: 3290
Зарегистрирован: 01 окт 2012, 14:48

Да проще все можно

вот мое правило NAT

chain=srcnat action=masquerade src-address=192.168.77.0/24

Все! Если у вас DHCP клиент, то нужно еще указать физический интерфейс, на котором он работает.

И все!!!

Подозреваю, что с вашими настройками провайдеру на оборудование уходило больше одного MAC адреса, вот он блочил интерфейс.


michaeldreamway
Сообщения: 11
Зарегистрирован: 28 июл 2014, 12:56

да вот тоже посмотрел на свой конфиг на свежую голову и не пойму чего же я такого изменил и не нашел! :-)

единственное что сопоставимо на мой взгляд с интервалом в пять минут - это время жизни арп записи, но пока проблема не наблюдается. если мне нечем будет заняться, я начну менять маки обратно :-)

проверено!

при подмене мака внешнего интерфейса на мак пк и запуске торрентов происходит тот самый затык.

проблема локализована!

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

ПС2 одно из самых первых предположений было что 5 минут живет арп, добавил шлюз в статику и успокоился, и подумал что тик для такой фичи как клонирование адреса сам придумает решение. подмена мака на сетевой карте пк, от чего то не давала результата


michaeldreamway
Сообщения: 11
Зарегистрирован: 28 июл 2014, 12:56

gmx писал(а):Да проще все можно

вот мое правило NAT

chain=srcnat action=masquerade src-address=192.168.77.0/24

Все! Если у вас DHCP клиент, то нужно еще указать физический интерфейс, на котором он работает.

И все!!!

Подозреваю, что с вашими настройками провайдеру на оборудование уходило больше одного MAC адреса, вот он блочил интерфейс.


перед тем как постить тему читал ветку про блокировку провайдером если на внешний интерфейс уходит более одного мака, не мой случай. в моем случае вероятно происходил сбой в "внутри" маршрутизатора. надо смоделировать чтобы понять


gmx
Модератор
Сообщения: 3290
Зарегистрирован: 01 окт 2012, 14:48

Попробуйте на бридже включить протокол STP/RSTP.
Возможно тогда микротик запишет в лог проблему.


michaeldreamway
Сообщения: 11
Зарегистрирован: 28 июл 2014, 12:56

gmx писал(а):Попробуйте на бридже включить протокол STP/RSTP.
Возможно тогда микротик запишет в лог проблему.


возможно, попробую. но я добавлял в логирование все события маршрутизации, думаю rstp должен был сказать о коллизии, о перестроении маршрута или интерфейс должен был бы перейти в down, чего замечено не было. пока для меня микротик как черный ящик.

допустим деятельность rstp не отражалась в логах, протокол не вырубал внешний интерфейс, вполне, пакеты для внешнего интерфейса шли в локаль, но от чего же тогда nethop определялся без пробюлем? nexthop может не иметь мака?

ПС в технической поддержке "верят" в то что проблема возможно была поправлена в новой прошивке, хотя и сильно смахивает на стандартный ответ не разработчика

"you have been using version of 6.17. I believe that this issue might be
fixed in one of our release candidate versions. At least there is fix for arp list
which is affected by changing mac address"

ПС показалось отключить рстп, рстп был включен


gmx
Модератор
Сообщения: 3290
Зарегистрирован: 01 окт 2012, 14:48

Я не знаю, настолько глубоко я не вникаю в процессы. В моем понятии все просто - я видел просто пароноидальное поведение протоколов RSTP/STP на коммутаторах. И у себя и у других провайдеров. Причем отказ в обслуживании может произойти ну просто совсем по непонятным причинам. На любой чих, переткнул случайно кабель, несколько раз быстро (типа плохой контакт) - все отказ в обслуживании. Как там у провайдера настроено, мы можем только гадать.

Именно поэтому я в самом начале рекомендовал привести MAC в сети к уникальному состоянию. Это просто на опыте основано и не только с микротиками. И на работе тоже у меня четкий принцип, никаких повторяющихся MAC, даже если сети не пересекаются. Через год-два, случайно переткнут железку в другую стойку и потом проблему можно искать неделю. Были случаи, производители экономили на MAC - это просто задница.


Ответить