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

MikroTik RouterOS (Firewall & NAT)

озникла проблемы с непониманием настройки фаервола… Не понимаю как настроить фаервол, что бы определённому IP адресу или подсети разрешить выходить в определённую подсеть или интерфейс…

К примеру:

Использую RB2011UAS-2HnD-IN

WAN – port 10 (192.168.1.25/24)

Все остальные порты 1-9 объединены в бридж «bridge_LAN» (10.1.1.100/24)

Соответственно настроит роут

Правил FW нету… роутинг идёт…

Ставлю правило на FW:

--------------

Chain: forward

Action: drop

---------------

Соответственно пакеты не выходят, пинг за шлюз пропадает и т.д. что логично..

Делаю следующее правило и ставлю его выше (#0):

-------------

Chain: forward

Src. Address: 10.1.1.0/24

Dst. Address: 0.0.0.0/0

In. Interface: bridge_LAN

Out. Interface: ether10 (wan)

Action: accept

--------------

Воткнувшись в 4 Ether порт с адресацией 10.1.1.99/24 ни какой реакции… пинга нету, ни чего нету…

Выключаю оба правила на FW – пакеты идут… Хочу ещё раз упомянуть на всякий, что нумерация правил выглядит так: #0 – accept; #1 – drop….

В чём проблема? Подскажите пожалуйста…

Share this post


Link to post
Share on other sites

Ну так создайте правило, где src.address = адресу клиента, которому нужно разрешить доступ в сеть. dst.address = адрес куда он хочет попасть, тогда по этой связке файлвол сработает.

 

Но лучше так не делать, потому что такая штука с блокировкой всего и доступом только тех, кого разрешили, очень плохая. Все пакеты попадают в файрвол и занимают ресурсы устройства, в случае проблем, или когда забыли адрес ввести нужный, ничего не работает. Поэтому правильнее делать так - разрешать все, что не запрещено. Например изначально все абоненты имеют доступ в сеть, и только когда у кого-то кончаются средства на счете, для него создается правило блокировки, да то не правило, а адрес добавляют в address-list, с которым работает одно правило=) в итоге весь файрвол состоит из одного правила.

Share this post


Link to post
Share on other sites

Ну так создайте правило, где src.address = адресу клиента, которому нужно разрешить доступ в сеть. dst.address = адрес куда он хочет попасть, тогда по этой связке файлвол сработает.

А разве это правило не подойдёт?

-------------

Chain: forward

Src. Address: 10.1.1.0/24

Dst. Address: 0.0.0.0/0

In. Interface: bridge_LAN

Out. Interface: ether10 (wan)

Action: accept

--------------

 

 

или когда забыли адрес ввести нужный, ничего не работает.

Я DHCP хочу понять для этих случаев... ну прикрепить к MAC...

 

разрешать все, что не запрещено.

то есть в FW писать правила только на drop?

 

 

да то не правило, а адрес добавляют в address-list, с которым работает одно правило

а можно подробнее?)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Да нет... Тунели внутри сети не нужны... да и должников ни каких не намеревается пока) Просто хочу понять как работает FW... потому что вроде конкретное правило ему пишу типа:

-------------

Chain: forward

Src. Address: 10.1.1.0/24

Dst. Address: 0.0.0.0/0

In. Interface: bridge_LAN

Out. Interface: ether10 (wan)

Action: accept

--------------

А он не хочет работать... вот я и думаю, мож что не так делаю... понять не могу...

Share this post


Link to post
Share on other sites

Ну так начните с малого и не указывайте ничего лишнего. Вот смотрите что вы написали:

 

Chain: forward

Src. Address: 10.1.1.0/24

Dst. Address: 0.0.0.0/0 - можно не писать, т.к. и так подразумевается запросы на все адреса.

In. Interface: bridge_LAN - можно не писать, т.к. если указали адрес конкретного абонента, то он придет только с конкретного порта.

Out. Interface: ether10 (wan) - выходной интерфейс тоже лишний, ведь если пакет пришел, он может на выход и не уйти, если сам роутер пингуете=)

Action: accept

 

Суть тут в том, src это адрес абонента, который отправил запрос. Естественно src может быть и адресом в интернете, то если у вас серые адреса то это не важно. dst это адрес, на который идет запрос, если вы не указываете конкретный адрес, например днс гугля, то обычно там пишут ! 10.1.1.0/24 что бы роутер не блокировал трафик по внутренней сети, просто пример с маской не правильный=) обычно пишут ! 10.0.0.0/8, если вся эта сеть у вас.

 

! означает отрицание, то есть не тот адрес, который указан.

Share this post


Link to post
Share on other sites

Ну так начните с малого и не указывайте ничего лишнего. Вот смотрите что вы написали:

 

Chain: forward

Src. Address: 10.1.1.0/24

Dst. Address: 0.0.0.0/0 - можно не писать, т.к. и так подразумевается запросы на все адреса.

In. Interface: bridge_LAN - можно не писать, т.к. если указали адрес конкретного абонента, то он придет только с конкретного порта.

Out. Interface: ether10 (wan) - выходной интерфейс тоже лишний, ведь если пакет пришел, он может на выход и не уйти, если сам роутер пингуете=)

Action: accept

 

Суть тут в том, src это адрес абонента, который отправил запрос. Естественно src может быть и адресом в интернете, то если у вас серые адреса то это не важно. dst это адрес, на который идет запрос, если вы не указываете конкретный адрес, например днс гугля, то обычно там пишут ! 10.1.1.0/24 что бы роутер не блокировал трафик по внутренней сети, просто пример с маской не правильный=) обычно пишут ! 10.0.0.0/8, если вся эта сеть у вас.

 

! означает отрицание, то есть не тот адрес, который указан.

Я просто хотел одни правилом всё заблочить а другими разрешать по мере необходимости... Мои эксперименты привели к тому, что я понял, что фаервол не такой уж и гибкий... тут видать нельзя как на BSD в IPFW написать всем всё закрыть... У меня удалось на MikroTik настроить FW... пришлось написать эти два правила (подкорректировал drop правило):

 

№0 -------------

Chain: forward

Src. Address: 10.1.1.0/24

Dst. Address: 0.0.0.0/0

In. Interface: bridge_LAN

Out. Interface: ether10 (wan)

Action: accept

--------------

 

№1 --------------

Chain: forward

Src. Address: 10.0.0.0/8

Dst. Address: 0.0.0.0/0

Action: drop

---------------

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