Предлагаю вашему вниманию пример настройки MikroTik RouterOS на самой популярной, на сегодняшний день, версии v3.20 для работы с двумя провайдерами и публикации интернет-сервисов за маршрутизатором. При этом интернет-сервисы смогут автоматически отвечать по запросам пришедшим с обоих провайдеров.
Часть 1. Настройка выхода в интернет из локальной сети и базовая защита маршрутизатора.
Пример сделан на абсолютно чистой конфигурации. Из-за моей специфики я добавил всего-лишь несколько vlan-ов.
У меня в системе два физических интерфейса, из которых один смотрит в локальную сеть (ether2), а на другом (ether1) подключены два vlan-а.
Наличие vlan-ов вас не должно пугать, просто замените их на название ваших сетевых интерфейсов.
И так, структура сети следующая:
локальная сеть, интерфейс ether2, адрес 192.168.8.35/24
первый провайдер: интерфейс vlan54, адрес 89.15.64.9/26
второй провайдер: интерфейс vlan40, адрес 82.19.115.100/29
Начнем, с включения сетевых интерфейсов, если они по какой-то причине у вас выключены:
interface enable ether1
interface enable ether2
interface enable vlan54
interface enable vlan40
Результат:
[admin@MikroTik] > interface print
Flags: D - dynamic, X - disabled, R - running, S - slave
# NAME TYPE MTU
0 R ether1 ether 1500
1 R ether2 ether 1500
2 R vlan40 vlan 1500
3 R vlan54 vlan 1500
[admin@MikroTik] >
Добавляем ip адреса:
ip address add address=192.168.8.35/24 interface=ether2 comment="local
ip address add address=82.19.115.100/29 interface=vlan40 comment="isp1"
ip address add address=89.15.64.9/26 interface=vlan54 comment="isp2"
Должно получиться следующее:
[admin@MikroTik] > ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 ;;; local
192.168.8.35/24 192.168.8.0 192.168.8.255 ether2
1 ;;; isp2
89.15.64.9/26 89.15.64.0 89.15.64.63 vlan54
2 ;;; isp1
82.19.115.100/29 82.19.115.96 82.19.115.103 vlan40
[admin@MikroTik] >
После этого, если все кабели подключены то у нас должны пинговаться адреса в локальной сети и шлюзы провайдеров:
[admin@MikroTik] > ping 192.168.8.2
192.168.8.2 64 byte ping: ttl=255 time<1 ms
192.168.8.2 64 byte ping: ttl=255 time<1 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0/0.0/0 ms
[admin@MikroTik] > ping 82.19.115.97
82.19.115.97 64 byte ping: ttl=255 time=12 ms
82.19.115.97 64 byte ping: ttl=255 time<1 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0/6.0/12 ms
[admin@MikroTik] > ping 89.15.64.2
89.15.64.2 64 byte ping: ttl=255 time=10 ms
89.15.64.2 64 byte ping: ttl=255 time<1 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0/5.0/10 ms
[admin@MikroTik] >
На этом этапе, если хотите, можете подключиться к маршрутизатору через WinBox
Базовая защита маршрутизатора (входящие соединения на сам маршрутизатор):
ip firewall filter add chain input connection-state=invalid action=drop comment="Drop invalid connection packets"
ip firewall filter add chain input connection-state=established action=accept comment="Allow established connections"
ip firewall filter add chain input connection-state=related action=accept comment="Allow related connections"
ip firewall filter add chain input protocol=udp action=accept comment="Allow UDP"
ip firewall filter add chain input protocol=icmp action=accept comment="Allow ICMP Ping"
ip firewall filter add chain input src-address=192.168.8.0/24 action=accept comment="Access to router only from local network"
ip firewall filter add chain input action=drop comment="All other inputs drop"
У нас должно получиться следующее:
[admin@MikroTik] > ip firewall filter print chain input
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; Drop invalid connection packets
chain=input action=drop connection-state=invalid
1 ;;; Allow established connections
chain=input action=accept connection-state=established
2 ;;; Allow related connections
chain=input action=accept connection-state=related
3 ;;; Allow UDP
chain=input action=accept protocol=udp
4 ;;; Allow ICMP Ping
chain=input action=accept protocol=icmp
5 ;;; Access to router only from local network
chain=input action=accept src-address=192.168.8.0/24
6 ;;; All other inputs drop
chain=input action=drop
[admin@MikroTik] >
Настраиваем выход в интернет из локальной сети:
ip firewall nat add chain=srcnat action=masquerade src-address=192.168.8.0/24 out-interface=vlan40
ip firewall nat add chain=srcnat action=masquerade src-address=192.168.8.0/24 out-interface=vlan54
Разрешаем маршрутизацию служебных пакетов через сам маршрутизатор:
ip firewall filter add chain forward connection-state=invalid action=drop comment="Drop invalid connection packets"
ip firewall filter add chain forward connection-state=established action=accept comment="Allow established connections"
ip firewall filter add chain forward connection-state=related action=accept comment="Allow related connections"
ip firewall filter add chain forward protocol=udp action=accept comment="Allow UDP"
ip firewall filter add chain forward protocol=icmp action=accept comment="Allow ICMP Ping"
Разрешаем выход в интернет для всех адресов из локальной сети:
ip firewall filter add chain forward in-interface=ether2 src-address=192.168.8.0/24 action=accept comment="Access to internet from local network"
Все остальные пакеты проходящие через маршрутизатор блокируем:
ip firewall filter add chain forward action=drop comment="All other forwards drop"
Результат:
[admin@MikroTik] > ip firewall filter print chain forward
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; fake 10.0.0.0/8
chain=forward action=drop src-address=10.0.0.0/8 in-interface=!ether2
1 ;;; fake 172.16.0.0/12
chain=forward action=drop src-address=172.16.0.0/12 in-interface=!ether2
2 ;;; fake 192.168.0.0/16
chain=forward action=drop src-address=192.168.0.0/16 in-interface=!ether2
3 ;;; Drop invalid connection packets
chain=forward action=drop connection-state=invalid
4 ;;; Allow established connections
chain=forward action=accept connection-state=established
5 ;;; Allow related connections
chain=forward action=accept connection-state=related
6 ;;; Allow UDP
chain=forward action=accept protocol=udp
7 ;;; Allow ICMP Ping
chain=forward action=accept protocol=icmp
8 ;;; Access to internet from local network
chain=forward action=accept src-address=192.168.8.0/24 in-interface=ether2
9 ;;; All other forwards drop
chain=forward action=drop
[admin@MikroTik] >
А теперь, чтобы пользователи действительно могли выйти в интернет, необходимо добавить правило маршрутизации.
Я специально делаю чтобы по умолчанию все исходящие соединения шли через одного конкретного провайдера (isp1), а второй пока пусть будет отключен.
ip route add dst-address=0.0.0.0/0 gateway=82.19.115.97 comment="gw1"
ip route add dst-address=0.0.0.0/0 gateway=89.15.64.2 comment="gw2" disabled=yes
[admin@MikroTik] > ip route print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY-STATE GATEWAY DISTANCE INTERFACE
0 0.0.0.0/0 reachable 82.19.115.97 1 vlan40
1 ADC 82.19.115.96/29 82.19.115.100 0 vlan40
2 ADC 89.15.64.0/26 89.15.64.9 0 vlan54
3 ADC 192.168.8.0/24 192.168.8.35 0 ether2
[admin@MikroTik] >
Желающие использовать балансировку одинаково распределенную между двумя провайдерами укажите вместо адреса шлюза одного провайдера, через запятую, адреса обоих.
На этом первая часть настройки маршрутизатора завершена. Результаты её: маршрутизатор защищен от вторжений из вне, и пользователи из локальной сети имеют выход в интернет.
Источник http://papa-admin.ru/blog/mikrotik/mikrotik-i-dva-kanala-part1.html