Mikrotik для небольшого офисаSidebar
Содержание:
- Практика настройки Mikrotik для чайников 29
- Гостевой wifi virtual ap, shaping, отдельная сеть
- Настройка с нуля
- 11. Балансировка 2 каналов.
- 18. Шейпим торренты.
- 2. Firewall Filter блокируем и разрешаем.
- 17. Редирект на страницу-напоминалку
- Проброс портов скрипты
- 14.Блокируем порты спамеров
Практика настройки Mikrotik для чайников 29
- 25.08.15 09:09
•
Bulroh
•
#265387
•
Хабрахабр
•
•
27438
Системное администрирование, Сетевые технологии
Есть задача: настроить устройство на базе RouterOS в качестве замены SOHO роутера для дома или небольшого офиса. Это HOWTO, потому технических подробностей будет минимум, Next-Next-Next-Ok и вы получаете готовое к работе устройство, так что приступаем.
Настройка провайдера
???
Статическая настройка IP
???[Address: 192.0.2.10/255.255.255.0; Interface: eth1-wan]????[Dst.Address:0.0.0.0/0; Gateway:192.0.2.1; Check gateway: ping; Distance: 1]????
Настройка PPPoE
Конечно, у провайдера может быть пиринг с другими сетями или доступ в свою сеть без ограничения по скорости, которые работают вне PPPoE интерфейса и требуют добавления отдельного маршрута (DualAccess или Russian PPPoE в SOHO роутерах), но подобная конфигурация выходит за рамки HOWTO для начинающих.??Name=tap1-wanInterface=eth1-wanВажно: Если вы используете PPPoE, то в дальнейшем используйте вместо eth1-wan интерфейс tap1-wan
Настройка L2TP/PPTP
инструкцию??Name=tun1-wanВажно: Если вы используете L2TP/PPTP, то в дальнейшем используйте вместо eth1-wan интерфейс tun1-wan
А как-же Yota?
?Не знаю со всеми моделями модемов так или мне попался неудачный, но без предварительной активации на ПК работать он отказывался.
Другие 3G/4G модемы
??здесь
??????Интересный момент. Средствами master port можно объединить интерфейсы принадлежащее одному чипсету, на старших моделях чипсетов может быть несколько (колонка switch), интерфейсы с разных чипсетов объединяются через программный Bridge, ну или пачкордом.Теперь все локальные Ethernet интерфейсы объединены под именем eth5-lan.???????????Теперь все локальные Ethernet и wlan интерфейсы объединены под именем br1-lan.
Безопасность беспроводной сети
????Если ваши беспроводные девайсы выпущены несколько лет назад, то логичнее выбрать 2gHz-B/G.Можно скрыть точку доступа. Но не стоит считать это панацеей.
Настройка ip, dhcp-server
???[Address: 192.168.10.1/24; Interface: br1-lan]????????????На скриншоте в качестве NTP сервера указан адрес роутера, но в базовой поставке раздавать точное время Mikrotik не умеет, можно указать любой другой сервер из сети, либо добавить и настроить пакет ntp(описано в конце HOWTO).
Настройка сервера доменных имен
Если вас не устраивают DNS от провайдера можно добавить в список свои (можно полностью убрать провайдерские DNS выключив опцию Use peer DNS в соответствующих подключениях).???
Пакетный фильтр
?General, Advanced, ExtraActionна самом деле некоторые действия пропускают пакет дальше, просто запомните этот факт если планируете в будущем глубже разобраться с netfilterGeneralВсе необходимые правила описаны в виде таблиц, если боитесь ошибиться или просто лень, открывайте и копируйте в него строки из консольного варианта в конце раздела.
Вкладка
Условия | Действие | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
# | Chain | Src. Address | Dst. Address | Protocol | Dst.Port | In. Iterface | Out. Interface | Connection Mark | Connection State | |
Input | icmp | accept | ||||||||
1 | Input | 192.168.10.0/24 | tcp | 80,8291,22 | br1-lan | new | accept | |||
2 | Input | tcp | 80 | eth1-wan | allow_in | new | accept | |||
3 | Input | 192.168.10.0/24 | udp | 53,123 | br1-lan | new | accept | |||
4 | Input | established,related | accept | |||||||
5 | Output | Invalid | accept | |||||||
6 | Forward | 192.168.10.0/24 | br1-lan | eth1-wan | new, established | accept | ||||
7 | Forward | 192.168.10.0/24 | eth1-wan | br1-lan | established,related | accept | ||||
8 | Input | reject | ||||||||
9 | Output | reject | ||||||||
10 | Forward | reject |
Вкладка
Условия | Действие | ||||||
---|---|---|---|---|---|---|---|
# | Chain | Src. Address | Protocol | Dst.Port | In. Iterface | Out. Interface | |
srcnat | 192.168.10.0/24 | eth1-wan | masquerade | ||||
1 | dstnat | tcp | 9999 | eth1-wan | redirect To ports: 80 |
Вкладка
Условия | Действие | ||||
---|---|---|---|---|---|
# | Chain | Protocol | Dst.Port | In. Iterface | Connection State |
prerouting | tcp | 9999 | eth1-wan | new | mark connection New Connection Mark: allow_in |
Дополнение 1. Имя устройства
????????mikrouter
Дополнение 3. Обновление
сайт Mikrotik
??????
Дополнение 4. Настройка ntp
??????
Дополнение 6. Отключаем обнаружение и ограничиваем доступ по mactelnet
????allbr1-lan
Вы можете помочь и перевести немного средств на развитие сайта
Гостевой wifi virtual ap, shaping, отдельная сеть
Т.к. стоит задача изолировать беспроводных клиентов от проводной сети, а их всех вместе — от гостевой, то сетей у нас будет три (можно и больше), с разными правилами доступа для каждой.
Создаем виртуальную точку доступа и security profile
1234 | /interface wireless security-profiles add name=hs-ap-prof-nixman authentication-types=wpa2-psk group-ciphers=aes-ccm mode=dynamic-keys supplicant-identity=MikroTik unicast-ciphers=aes-ccm wpa2-pre-shared-key=WiFiPaSsWoRd /interface wireless add master-interface=wlan1 mode=ap-bridge name=hs-ap-nixman security-profile=hs-ap-prof-nixman ssid=»Guest WiFi» |
IP, DHCP-сервер
12345678 | /ip address add address=192.168.90.1/24 comment=»Guest WiFi» interface=hs-ap-nixman network=192.168.90.0 arp=reply-only /ip pool add name=guest ranges=192.168.90.10-192.168.90.254 /ip dhcp-server network add address=192.168.90.0/24 comment=»guest wifi» dns-server=8.8.8.8 gateway=192.168.90.1 /ip dhcp-server add address-pool=guest disabled=no interface=hs-ap-nixman lease-time=1h name=guest add-arp=yes |
Настройка с нуля
Теперь сбросим конфигурацию, чтобы настроить с нуля. Зачем? Всё просто — настраиваем мы не просто домашний роутер, а роутер для офиса, тем более с претензией на защищённость, и настройки необходимо держать под контролем.
После сброоса конфигурации, подключиться к устройству можно через WinBox и функцию mac-telnet (я надеюсь, как это сделать, вы знаете).
Интерфейсы
12345678 | #Настройки интерфейсов приведены для роутера RB951 #На вашем роутере настройки интерфейсов могут отличаться /interface ethernet set comment=Internet name=ether1 set name=ether2 set master-port=ether2 name=ether3 set master-port=ether2 name=ether4 set master-port=ether2 name=ether5 |
IP, DHCP-сервер
12345678 | /ip address add address=192.168.88.1/24 comment=»servers» interface=ether2 network=192.168.88.0 /ip pool add name=guest ranges=192.168.88.10-192.168.88.254 /ip dhcp-server network add address=192.168.88.0/24 comment=»servers» dns-server=192.168.88.1 gateway=192.168.88.1 ntp-server=192.168.88.1 /ip dhcp-server add address-pool=servers disabled=no interface=ether2 lease-time=3d name=servers |
12345678 | /ip address add address=192.168.89.1/24 comment=»Stuff WiFi» interface=wlan1 network=192.168.89.0 /ip pool add name=stuff ranges=192.168.89.10-192.168.89.254 /ip dhcp-server network add address=192.168.89.0/24 comment=»stuff wifi» dns-server=192.168.89.1 gateway=192.168.89.1 ntp-server=192.168.89.1 /ip dhcp-server add address-pool=stuff disabled=no interface=wlan1 lease-time=3d name=stuff |
NTP-сервер
1234 | /system ntp client set enabled=yes primary-ntp=95.104.192.10 secondary-ntp=93.180.6.3 /system ntp server set enabled=yes |
5. WiFi (channel, psk)
1234567 | /interface wireless #Выставляем режим 2.4GHz b/g/n (у вас, возможно, будет другая модель роутера, например с поддержкой 5GHz-диапазона. #В таком случае, настройки будут отличаться #Также, возможно, придётся поменять частоту set band=2ghz-b/g/n comment=hs-ap-default disabled=no distance=indoors frequency=2437 guard-interval=long mode=ap-bridge ssid=Stuff wireless-protocol=802.11 /interface wireless security-profiles set authentication-types=wpa2-psk group-ciphers=aes-ccm mode=dynamic-keys supplicant-identity=MikroTik unicast-ciphers=aes-ccm wpa2-pre-shared-key=123WiFi321 |
Задаём пароль админа
1 | > /user set 0 password=VeRy$tR0nGp@s$ |
NAT — он у нас будет один на всех
12 | /ip firewall nat add action=masquerade chain=srcnat comment=»NAT Internet» out-interface=ether1 src-address-list=internal-nets dst-address-list=!internal-nets |
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
В таком случае советую использовать резервирование каналов по п. 6.10.
Слабый канал погоды все-равно не сделает. А скоростному мешать будет.
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.
17. Редирект на страницу-напоминалку
Очень эффективно не просто отключать пользователей, а напоминать им — почему они отключены!
Итак 4 шага.
1. Сначала добавляем в IP-Firewall-Address List — IP всех юзеров с записью ALLOW .
2. /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, вручную или скриптом
при отрицательном баллансе из биллинга. Один клик и готово.
Теперь, когда юзер наберет anysite.com — он автоматом попадет на Вашу странцу.
Но когда он наберет — anysite.com/anypage.php — он увидит ошибку, а не Вашу страницу!
Поэтому:
4. на вебсервере в корне страницы-напоминалки добавляем файл .htaccess с редиректом:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /index.html
где — /index.html — это Ваша страница напоминалка.
Или вариант №2 — сделать страницу 404.php и включить ее в .htaccess, а в 404.php сделать include вашей страницы напоминалки
или просто скопировать ее содержимое.
Все.
Теперь куда бы пользователь не зашел — он всегда увидит Вашу страницу.
Вот так все просто.
Проброс портов скрипты
В скриптах я добавил еще одно правило для протокола HTTPS на веб-сервер, а для проброса RDP использовал нестандартный порт.
#
#
# WEB Server 192.168.33.2 HTTP port 80
/ip firewall nat
add action=dst-nat chain=dstnat comment=test dst-address=1.1.1.1 dst-port=80 in-interface=inetTest protocol=tcp to-addresses=192.168.33.2 to-ports=80
# WEB Server 192.168.33.2 HTTPS port 443
add action=dst-nat chain=dstnat comment=test dst-address=1.1.1.1 dst-port=443 in-interface=inetTest protocol=tcp to-addresses=192.168.33.2 to-ports=443
# RDP PC 192.168.33.129
add action=dst-nat chain=dstnat comment=test dst-address=1.1.1.1 dst-port=4565 in-interface=inetTest protocol=tcp to-addresses=192.168.33.129 to-ports=3389
1 |
ip firewall nat add action=dst-nat chain=dstnat comment=test dst-address=1.1.1.1dst-port=80in-interface=inetTest protocol=tcp to-addresses=192.168.33.2to-ports=80 # WEB Server 192.168.33.2 HTTPS port 443 add action=dst-nat chain=dstnat comment=test dst-address=1.1.1.1dst-port=443in-interface=inetTest protocol=tcp to-addresses=192.168.33.2to-ports=443 # RDP PC 192.168.33.129 add action=dst-nat chain=dstnat comment=test dst-address=1.1.1.1dst-port=4565in-interface=inetTest protocol=tcp to-addresses=192.168.33.129to-ports=3389 |
Для RDP dst-port указан 4565, который MikroTik перенаправит на персоналку 192.168.33.129 на стандартный порт RDP — 3389. Соответственно, удаленному пользователю при подключению к удаленному рабочему столу надо будет так же указать и порт: 1.1.1.1:4565
Естественно, не забудьте разрешить в файерволе входящие соединения на внешний интерфейс (у нас inetTest) на порты, которые мы собираемся пробросить (в этом примере 80, 443, 4565).
В этой статье я использовал самый простой пример, но думаю, для базового уровня этого достаточно.
До новых встреч!
Реклама:
14.Блокируем порты спамеров
1. Блокируем порты спамеров и зараженных троянами-вирусами компов.
/ ip firewall filteradd chain=forward prot=tcp dst-port=25 src-address-list=spammer act=drop
2. Добавляем в address-list=spammer наших спамеров на 30 дней :
/ ip firewall filteradd chain=forward prot=tcp dst-port=25 connection-limit=30,32 limit=50,5 src-address-list=!spammer action=add-src-to-address-list address-list=spammer address-list-timeout=30d
При большом количестве соединиений на 25 порт — IP юзера заносится в address-list=spammer
А Этот address-list=spammer — блокируется файрволлом.
Вы ж не хотите, что б Ваш провайдер Вам позакрывал порты? Или хотите?