3 следа »
След оставил Scr | 2 марта 2021
именно то что и у меня и это помогло.
След оставил 6yHTapb | 21 июля 2021
Ох, спасибище Вам огромное! сегодня вы спасли несколько IT-шных задниц!
След оставил ааааа | 30 сентября 2021
сегодня чуть мозг не сломал… спасибо огромное
Оказалось нужно изменить размер пакета, иначе в него не помещалась служебная информация и он терялся. В консоли микротика нужно выполнить следующую команду:
/ ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn tcp-mss=1453-65535 action=change-mss new-mss=1360 disabled=no
Взято на Mikrotik.by
1. Как ходит трафик в Микротик?
Это нужно знать наизусть. Иначе можно многое напутать…
Представьте компьютер с двумя сетевыми картами. Будем называть его ШЛЮЗ.
В одну карту входит интернет. Со второй выходит к свитчу.
А к свитчу подключены другие компы.
За этими компьютерами люди в интернете выходят.
Так вот. Трафик идущий от людей в интернет и обратно – это для шлюза транзитный-проходящий трафик FORWARD
Это левая диаграмма. Как раз наш случай с Микротик.
А если на самом шлюзе запускаются браузер, почта и пр.
То это уже Входящий и Исходящий трафик для шлюза. Не транзитный. INPUT и OUTPUT.
Т.к. конечная точка всех пакетов – это сам шлюз, а не компы за шлюзом.
Это левая и правая диаграмма, только без центрального блока FORWARD.
В Микротике правая практически никогда не задействована.
Так что про INPUT-OUTPUT забудьте.
Только для блокировки входящих пакетов.
Filter – разрешает-запрещает пакеты, совпадающие по условию записи в Filter.NAT – это чаще всего правило SrcNat-Masquerade – чтоб люди могли ходить в интернет.И DstNat-DstNat – чтоб с интернета можно было добраться до компьютеров и роутеров в вашей сети.Mangle – продвинутый маркировщик пакетов.
Предположим клиент вашей сети имеет адрес локальный 192.168.0.2, а IP Микротика 80.80.80.1 – это интернет адрес.Когда клиент запрашивает веб-страницу, к нему идут пакеты.Но не на его адрес, а на адрес Микротика. Потому как адрес 192.168.0.2 локальный, и само собой напрямую на этот адрес прийти ничего не может.Т.е. Микротику приходит пакет с Dst.Address – 80.80.80.1
1. Mangle Prerouting, Nat Prerouting – правила в этих 2 цепочках Самые первые обрабатывают пакет.
Никаких локальных адресов в пакете нет, только внешний адрес Микротика!
2. Далее срабатывает Firewall – NAT.
Происходит подмена (из таблицы NAT) для входящих пакетов внешнего IP на локальный.
или DstNat (это для тех, кто пытается достучаться до локальных IP-адресов из интернета)
Т.е. теперь Dst.Address пакета не 80.80.80.1, а уже локальный адрес клиента – 192.168.0.2.
3. Теперь срабатывают правила в цепочках Mangle Forward и Filter Forward.
Тут уже можно фильтровать клиентов вашей сети.
4.Далее снова срабатывает NAT.
Здесь создаются записи в таблице NAT для исходящих пакетов. Т.е. срабатывает SRC-NAT.
По этим записям будет происходить обратная замена IP, когда придут ответные пакеты.
И для исходящих пакетов происходит подмена локального IP 192.168.0.2 на IP Микротика 80.80.80.1.
5. И последний этап – Mangle Postrouting, Nat Postrouting.
Никаких локальных адресов в пакете нет, только внешний адрес Микротика!
Далее все это направляется в шейпер. Queue Tree и Simple Queue.
Для Транзитного трафика: сеть -> mangle PREROUTING -> nat PREROUTING -> mangle FORWARD -> filter FORWARD -> mangle POSTROUTING -> nat POSTROUTING -> сеть
10. Резервирование 2 и более каналов.
По умолчанию пакеты идут через WAN1.
Если WAN1 отвалится – все пакеты пойдут на WAN2.
/ip route add check-gateway=arp dst-address=0.0.0.0/0 gateway=80.80.80.1 routing-mark=r1 distance=1 add check-gateway=arp dst-address=0.0.0.0/0 gateway=90.90.90.1 routing-mark=r2 distance=2
В NAT – Out. Inteface – пустой.
В IP – DHCP Client – Add Default Route – можно отключить
11. Балансировка 2 каналов.
Балансировка через маршруты. Соединения вперемешку будут идти через WAN1 или WAN2
Метод хорошо работает при каналах приблизительно равных по скорости.
Разница по скорости каналов не должна отличаться более чем в 2 раза.
В Мангле – эти правила поднимите наверх.
/ip firewall mangle add act=mark-connection ch=prerouting connection-state=new new-connection-mark=c1 nth=2,1 passthrough=yes add act=mark-connection ch=prerouting connection-state=new new-connection-mark=c2 nth=2,2 passthrough=yes add act=mark-routing ch=prerouting connection-mark=c1 new-routing-mark=r1 passthrough=yes add act=mark-routing ch=prerouting connection-mark=c2 new-routing-mark=r2 passthrough=yes /ip route add check-gateway=arp dst-address=0.0.0.0/0 gateway=80.80.80.1 routing-mark=r1 scope=255 add check-gateway=arp dst-address=0.0.0.0/0 gateway=90.90.90.1 routing-mark=r2 scope=255
Можно добавить еще маршрут без маркировки на всякий пожарный:
add disabled=no dst-address=0.0.0.0/0 gateway=80.80.80.1 scope=255
В NAT – Out. Inteface – пустой.
В IP – DHCP Client – Add Default Route – можно отключить
Важно! При каналах сильно отличающихся по скорости он мало эффективен.
В таком случае советую использовать резервирование каналов по п. 6.10.
Слабый канал погоды все-равно не сделает. А скоростному мешать будет.
12. Запрет определенных сайтов по имени.
Открываем New Terminal. И вставляем наше правило. Не забудьте поднять его наверх.
Можете также вручную кнопкой [ ] создать это правило.
/ip firewall filter add act=drop chain=forward cont="Host: mikrotik.org" prot=tcp src-address=192.168.0.2 in-int=LAN1
Все. сайт mikrotik.org больше не откроется.
Тем самым Вы блокируете только исходящие запросы еще на взлете.
Роутеру уже на нужно фильтровать входящие пакеты от этого сайта,
потому как Входящих пакетов само собой дальше уже не будет.
А исходящий трафик обычно в 10-20 раз меньше входящего.
Да и фильтруются только исходящие TCP запросы.
Кроме того сами исходящие GET-запросы копеечные по трафику – до 200-500 байт. Они помещаются в один пакет.
Т.к. что нагрузка на правило content – мизерная.
Кроме того не будут блокироваться сайты, содержащие строчку Host: mikrotik.org
и будут проходить get-запросы содержащие строчку mikrotik.org.
Что есть очень хорошо.
src-address – ставим IP компьютера-жертвы.
content=”Host: mikrotik.org” – блокируемый сайт
Если нужно блокировать доступ к сайту для всех компов, убираем эту строчку src-address.
13. Определяем у кого стоят роутеры по TTL.
Все IP адреса, которы сидят за роутерами, попадут в Address-List Router
Как это применить – есть куча вариантов.
/ip fi ma add ac=add-src-to-address-list ch=prerouting in-i=LAN1 ttl=equal:63 address-list=Router add ac=add-src-to-address-list ch=prerouting in-i=LAN1 ttl=equal:127 address-list=Router
И наоборот, можно спрятать вашу сеть от фильтра TTL провайдера.
/ip firewall mangle add action=change-ttl chain=prerouting new-ttl=increment:1 passthrough=yes
Это правило поднимите на самый верх.
14.Блокируем порты спамеров.
1. Блокируем порты спамеров и зараженных троянами-вирусами компов.
15. Настройка Static DNS.
Static DNS нужен чтобы к любому компу в сети обращаться не по IP адресу, а по придуманному имени. Что очень удобно.
IP – DNS – Static DNS – [ ] Добавляем пару к примеру IP-адрес – и DNS-имя. 192.168.0.1 – myrouter.net
Таперь на наш роутер можно заходить по myrouter.net
16.Кешируем с помощью Web-Proxy.
Кеширование используется для:
1. Ускорения интернет. Особенно Эффективно при медленном интернете.
Часто запрашиваемые файлы хранятся на флеш-памяти или винте.
При повторном запросе – эти файлы не закачиваются с интернета, а берутся из кеша Микротика
2. Для экономии траффика. Хорошо при платном траффике.
3. Для котроля – кому какие сайты разрешать и пр.
Весь трафик проходит через прокси микротика.
На прокси ставиться порт 8080.
И затем включается прозрачный прокси.
17. Редирект на страницу-напоминалку.
Очень эффективно не просто отключать пользователей, а напоминать им – почему они отключены!
К примеру у Вас есть комп в сети 192.168.0.10. Там находится Веб-сервер и страница-напоминалка-пополнялка-личный кабинет. Она доступна по адресу 192.168.0.10
1. Сначала добавляем в IP-Firewall-Address List – IP всех юзеров с записью ALLOW .
/ip firewall nat add act=dst-nat ch=dstnat dst-port=80 in-int=LAN1 protocol=tcp src-address-list=!ALLOW to-addr=192.168.0.10 to-ports=80
Это правило кинуть выше правила srcnat!
Все. редирект работает.
3. Но еще очень желательно 2 правила в IP – Firewall – Filter
/ip firewall filter add act=accept ch=forward out-int=!LAN1 dst-address=192.168.0.10 add act=drop ch=forward out-int=!LAN1 src-address-list=!ALLOW
Эти правила кинуть вниз.
Это для полной блокировки любой активности (а не только ВЕБ-серфиннг) юзеров, которые не в ALLOW.
Затем юзеров – которых нужно перенаправить – просто отключаем крестом в Address List, вручную или скриптом при отрицательном баллансе из биллинга.
Один клик и готово.
18. Шейпим торренты.
Данный метод режет все торренты. И шифрованные в том числе. И он не ресурсоёмкий для Микротика.
p2p=all-p2p – работает только для редких не шифрованных торрент-клиентов.
Маркируем входящие торрент-пакеты по размерам, портам и протоколам:
/ip firewall mangle add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent p2p=all-p2p passthrough=no add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=tcp src-port=1024-65535 packet-size=576 add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=tcp src-port=1024-65535 packet-size=1240 add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=tcp src-port=1024-65535 packet-size=1330 add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=tcp src-port=1024-65535 packet-size=1400 add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=tcp src-port=1024-65535 packet-size=1460 add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=udp src-port=1024-65535 packet-size=398 add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=udp src-port=1024-65535 packet-size=748 add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=udp src-port=1024-65535 packet-size=1430 add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=udp src-port=1024-65535 packet-size=1448 add act=mark-packet ch=prerouting in-i=WAN1 new-packet-mark=Torrent passthrough=no protocol=udp src-port=1024-65535 packet-size=1466
Если нужна обработка нижележащих цепочек – Укажите всюду passthrough=yes.
Далее можно добавить новое правило Torrent-5M в раздел Queue Tree в родителя Download. Указав Packet Marks – Torrent. И желаемую скорость 5M.
5M – это скорость для каждого или для всех в сумме, в зависимости от выбора Queue Type в PCQ Dst. Address Mask 32 или 24.
Или добавить одно правило на самый верх в Simple Queue. Указав Packet Marks – Torrent. И желаемую Tx скорость 50M.
50M – это скорость общая на всех торрент-клиентов.
В Simple Queue можно каждому указать скорость на торрент в отдельности.
Т.е. для каждого IP создать дополнительную запись.
Эта запись должна быть выше основной записи IP клиента.
Или уже решайте на свое усмотрение, что с этими маркированными пакетами делать.
Учитывайте, что сюда также могут иногда попасть пакеты из онлайн игр.
2. Firewall Filter — блокируем и разрешаем.
Здесь создаются блокирующие и разрешающие правила.
Если записей никаких нет – то все разрешено.
Порядок записей имеет значение.
Проверка правил происходит сверху вниз.
Если пакет соответствует правилу, то дальнейшая проверка не происходит, если конечно не стоит галка PassTrugh
Есть 2 варианта.
Мягкий – Добавлять только запрещающие правила. Все остальное разрешать.
Жесткий – поставить запрещающее правило на все. А сверху добавлять разрешающие.
Блокируется или входящие пакеты или исходящие.
Важно!
1. Никогда не пытайтесь одним правилом блокировать входящие и исходящие пакеты одновременно.
Это ошибка.
Просто создайте при необходимости 2 правила – на входящие и исходящие пакеты.
А лучше блокировать только исходящие пакеты еще на взлете. Входящих пакетов само собой уже не будет.
Да и Роутер разгрузится от лишнего входящего трафика.
2. Есть 2 типа пакетов – входящие и исходящие.
Важно! Src.Address и Dst.Address в правилах меняются местами. В зависимости от направления движения пакета.
Входящие – это из интернета к нам.
Src.Address – это интернет-адрес отправителя (сервера в интернете).
Dst.Address – это интернет-адрес Микротика (получателя). Если это правило в цепочке PreRouting. или
Dst.Address – это локальный адрес клиента (получателя). Если это правило в цепочке Forward или PostRouting.
Исходящие – это от нас в интернет.
Src.Address – это интернет-адрес отправителя (Микротика) . Если это правило в цепочке PostRouting. или
Src.Address – это локальный адрес клиента (отправителя). Если это правило в цепочке Forward или Prerouting.
Dst.Address – это интернет-адрес получателя (сервера в интернете).
3. В правилах всегда указывайте Out. Interface или In. Interface.
Причем, если указываете In. Interface – LAN1, то это исходящий трафик.
Значит Dst.Address – это должен быть адрес интернет-ресурса. А Src.Address – это адрес вашей локалки или Микротика, если указываете Out. Interface – LAN1, то это входящий трафик.
Значит Dst.Address – это должен быть адрес вашей локальной сети или Микротика. А Src.Address – адрес интернет-ресурса.
Это очень важно!
То же самое (п. 1 и 2) касается и Mangle.
3. NAT. Проброс портов.
/ip firewall nat add action=dst-nat chain=dstnat disabled=no dst-port=10010 protocol=tcp to-addresses=192.168.88.10 to-ports=80
В данном случае на компе с адресом 192.168.88.10 запущен веб сервер. Если внутри вашей сети набрать в браузере 192.168.88.10 – то откроется локальный сайт. А если с другого компа в интернете набрать в браузере 80.80.80.1:10010
80.80.80.1 – это Ваш внешний_IP_адрес_Микротика, то Вы попадете на свой сайт, который находится на компе 192.168.88.10.
4. Маркировщик Mangle. Следим и помечаем трафик.
Это очень мощное средство. Позволяет маркировать пакеты по любым правилам. Подчиняется тем же правилам, что описаны в разделе 6.2. FireWall Filter. Но Мангле ничего не запрещает и не разрешает. Он просто помечает трафик: соединения, пакеты, маршруты и пр.
5. Address List. Для чего он?
Это в основном для того, чтоб не указывать кучу однотипных правил для разных IP, а кинуть эти IP в один Address List. И затем создать только одно правило на этот Address List.
Кроме того, правила Mangle – сами могут добавлять IP адреса в определенный Address List.
Например, добавить в Address List “ICQ” – те IP, которые пользуются ICQ.
Чрезвычайно удобная штука!
6. Нарезаем скорость. Simple Queues.
Простой шейпер.
Важно! Проверка правил шейпера происходит сверху вниз. Если какое-то правило шейпа сработало, то дальнейшая проверка уже не производится!
Добавляем IP или список IP, для которых в сумме можно выставить максимальную скорость Max Limit.
Отдельно входящую и исходящую скорость.
Можно также выставить гарантированную скорость – Limit At.
Но с этим будьте осторожны! Если у Вас канал плавающий по скорости – лучше отключить.
Также можно включить дополнительные колонки, которые показывают входящую и исходящую скорости (Total Tx Bytes, Total Rx Bytes). (Правой кнопкой мыши по окну Queue. Затем Showcolumns и крутим ниже… )
А также потребленный входящий и исходящий трафик. (Rx Avg. Rate и Tx Avg. Rate )
Начиная с момента последней перезагрузки роутера.
Можно скорости писать в виде 500K, 2M, а также можно указать скорости Burst Limit (с Burst TreshHold, Burst Time)
Это взрывная кратковременная скорость.
Очень эффективно при низко скоростных тарифах и если Вас качальщики задрали.
Веб сайты открываются тогда моментом на Burst скорости, а закачки идут на обычной скорости.
Если у Вас Dual Access, то можно для каждого клиента создать еще одну дополнительную запись с высокой скоростью на локальные ресурсы.
Только нужно дополнительно указать Dst. Address 10.0.0.0/8 – это Ваши локальные ресурсы.
Эту запись нужно поставить выше основной записи клиента.
Если Вы скорость на локальные ресурсы не хотите подрезать вообще, то
Можно создать только одну общую запись с Dst. Address – 10.0.0.0/8, Target Address – пустой, скорость Tx, Rx указать по максимуму – например 1G
и поместить ее на самый верх.
Важно! Очень советую в самый конец добавлять правило END.
Все, что не сработало по любому из шейпером – будет шейпится в правиле END.
На этом правиле будет учитываться, подрезаться или блокироваться весь неучтенный трафик.
Ну например Вы по невнимательности забыли кого-то добавить в шейпер.
И человек получит всю доступную скорость без любых огранечиний! Тем самым может положить канал!
Правило END для учета и подрезки неучтенного траффика:
add interface=all max-limit=100k/100k name=END target-addresses=192.168.0.0/16
Для учета без подрезки – ставим max-limit=100M/100M
Для подрезки под 0 – ставим max-limit=10/10
192.168.0.0/16 – Весь диапазон, не попавший в верхние правила.
По функциональности он гораздо шире. Этот шейпер срабатывает раньше Simple Queue.
Эффективен особенно при методе PCQ.
И большом количестве клиентов 100 и более.
В нем входящая и исходящая скорости нарезаются отдельными правилами.
Он работает только в связке с Мангле.
Итак. 6 шагов.
Придумаем несколько Адрес листов – например 1M и 5M.
Это тарифные планы.
1. В IP-Firewaal-Address List Добавляем IP юзеров – и вписываем им 1М или 5М.
2. Далее в IP-Firewall-Mangle маркируем Connection-ы.
Создаем правило forwad. Action – mark connection (New Connection Mark называем к примеру Conn-5M или Conn-1M, Passtrough – включаем),
Ставим Connection State – new, Out. Interface – LAN1, а также наш Dst. Address List – 1M или 5M.
3. Затем ниже создаем правило forward. Action – mark packet. (New Packet Mark называем к примеру p-5M или p-1M, Passtrough – включаем)
Connection Mark – ставим Conn-5M или Conn-1M соответственно.
4. Далее в Queue Types создаем PCQ-правило к примеру PCQ-Download, в нем Dst. Address – включаем.
5. Затем в Queue Tree – создаем родителя, называем его Download, а Parent – наш LAN1 интерфейс.
6. Создаем еще два правила в Queue Tree –
Называем правило к примеру Speed-5M, указываем родителя Download, Queue Type – PCQ-Download, Packet Marks – p-5M и указываем нашу скорость Max Limit – 5M
(а второе правило то же самое, только имя правила Speed-1M, Packet Marks – p-1M, а скорость Max Limit – 1M )
Все.
Эти два правила будут будут нарезать трафик всем клиентам.
Достаточно адрес IP клиента добавить в нужный Adrress List.
Все кто в Адрес лист 1M – получат скорость 1M
Все кто в Адрес лист 5M – получат скорость 5M
Чтобы изменить скорость всем 5M на 10M – достаточно только в QueueTree поменять одну строчку – Max Limit.
Т.е. скорости каждому в отдельности не прописываются, а прописываются тарифные планы – т.е. Packet Mark
На исходящий трафик нужно создать нового родителя с parent – наш WAN1. Также создать в Queue Type – PCQ-Upload, в нем Src. Address – включаем.
Все остальное аналогично.
Графики для Queue Tree – недоступны.
А как же смотреть, кто сколько скачал и на какой скорости и кто качает?
Все просто.
Добавляем в IP-Firewall-Mangle – на каждый IP – свою запись: Chain – forward. Out. Interface – LAN1. Dst. Address – наш IP. Action –Passtrouh.
Эти записи ставим ниже записей mark-connection и mark-packet.
Включаем дополнительную колонку – Rate. Это и есть текущая скорость. (Правой кнопкой мыши по окну Mangle. Затем Showcolumns и крутим в самый низ, пока не найдем Rate )
Колонка Bytes – это потребленный трафик Download (Rx).
8. Включаем Графики.
Графики трафика доступны для всех интерфейсов, и Simple Queue. А также доступны графики загрузки процессора, памяти, flash-памяти. За сутки, за неделю, за месяц, за год.
Графики включаются в Tools – Graphing.
Просто добавьте нужные позиции.
Посмотреть графики можно на Веб-странице Микротика.
При перезагрузке графики сохраняются.
При прошивки графики сбрасываются.
9. IPTV настройка.
Скачиваем версию пакетов под ваш Микротик
Вместо 5.16 ставим – вашу версию Router OS.
Важно! Версия пакета должна совпадать с версией вашей Router OS!
Распаковываем. Перетаскиваем multicast…npk на WinBox.
Перезагружаем.
Далее идем в System-Packages. Там должен быть multicast пакет.
Идем в Route – там должен быть IGMP Proxy.
1-2. Route – IGMP Proxy – 2 записи.3. IP-Route – добавляем маршрут на локальную сеть4. IP-Firewall-Filter – разрешающее правило на локальную сеть. Или пока все отключить.
5. IP-Firewal-NAT – Out Interface пустой6. WiFi – WMM support включить
Mikrotik блокирует некоторые сайты
На днях произошла проблема, над которой я долго ломал голову.
Не открывается половина сайтов, провайдер pppoe
Не открывается половина сайтов, провайдер PPPoE
Иногда при подключении к провайдеру средствами PPPoE возникает проблема
– соединение установлено, но часть сайтов не открывается, либо открывается
но не полностью. Вызвано это тем, что инкапсуляция PPPoe банально не
влезает в ethernet. Изменить данную ситуацию поможет корректировка значения
MSS в свойствах PPPoE.
Для этого необходимо открыть профиль /ppp profiles который вы используете
в соединении pppoe_out, на вкладке General и выключить опцию Change
TCP MSS.
После проделанных манипуляций необходимо добавить в систему правило
для изменения MSS.
/ip firewall mangle add action=change-mss chain=postrouting disabled=no
new-mss=1360 passthrough=yes protocol=tcp tcp-flags=syn
После данной процедуры все должно прийти в норму.
При использовании материалов ссылка на автора и источник ОБЯЗАТЕЛЬНЫ!
Автор: Григорьев Дмитрий (Inlarion) (C) 27.06.2021
Теги: Mikrotik, Микротик, pppoe, проблемы, pppoe не открываются
сайты.
Сказать отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.