Привет всем! У меня были (и есть) проблемы с MikroTik Router 2.9.10. Некоторые удалось решить, но над некоторыми я махнул рукой. Поэтому хочу поделиться, что работает, и попросить совета, как сделать оптимальную конфигурацию для интернет-кафе / игрового центра. Нам, естественно, нужен Прозрачный Веб-прокси, HotSpot (с менеджером), Shaping, управляемый P2P трафик, работающие MSN, Yahoo Messenger и Skype, и, ну и последнее – онлайн-игры. Основные проблемы: Shaping, P2P трафик, UDP трафик (для игр). У нас есть 2 aDSL-соединения с очень низким (256Kbps) скоростью загрузки каждое. Загрузка для нас хорошая (3072Kbps) на каждом. Моя идея – отправлять весь трафик просмотра (порты 80, 21) и P2P через один модем, весь трафик игр – через другой. Что касается чат-программ, пока не решил. (Нужна ваша помощь). Окей, быстро смотрим на конфигурацию:
[admin@MikroTik] > ip address print
Флаги: X - отключено, I - недействительно, D - динамически
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.0.1/24 192.168.0.0 192.168.0.255 ether1
1 192.168.1.1/24 192.168.1.0 192.168.1.255 ether2
2 192.168.2.1/24 192.168.2.0 192.168.2.255 ether3
ether1 – Локальная сеть
ether2 – Public (aDSL модем1)
ether3 – Public (aDSL модем2)
[admin@MikroTik] > ip route print
Флаги: X - отключено, A - активно, D - динамически,
C - connect, S - static, r - rip, b - bgp, o - ospf
# DST-ADDRESS PREFSRC G GATEWAY DISTANCE INTERFACE
0 ADC 192.168.0.0/24 192.168.0.1 ether1
1 ADC 192.168.1.0/24 192.168.1.1 ether2
2 ADC 192.168.2.0/24 192.168.2.1 ether3
3 A S 0.0.0.0/0 r 192.168.2.254 ether3
4 A S 0.0.0.0/0 r 192.168.1.254 ether2
Вот здесь видно, что aDSL модем2 – это шлюз по умолчанию. Если добавить два шлюза командой (дважды) add gateway/ip route add gateway=1.2.3.4, это не сработает, поэтому я поставил правило.
[admin@MikroTik] > ip route rule print
Флаги: X - отключено, I - неактивно
0 routing-mark=games interface=ether2 action=lookup table=mdm1
Окей, у нас появилась новая маршрутная таблица mdm1 и мы будем отправлять трафик через ADSL модем1 (не по умолчанию). Кто-то может спросить: "А почему не балансировка нагрузки?". Не знаю, но даже балансировка нагрузки хорошо работает для просмотра, но для онлайн-игр, типа Battlefield2, CounterStrike – нет. Соединение с игровым сервером постоянно разрывается каждые несколько минут. Может, кто-нибудь объяснит, что происходит? После того, как я поставил это правило маршрутизации, MikroTik "умер" для моей локальной сети (нет пинга) – WinBox просто отключился. Но DHCP продолжал работать. Каждый компьютер мог получать адрес от MT (это была магия). Так что я вытащил его и последний шлюз из консоли MT. Потом поставил правила mangle, потом правило маршрутизации, потом шлюз в таблице mdm1. Сейчас пинг OK-- MikroTik доступен из LAN.
[admin@MikroTik] > ip firewall mangle print
Флаги: X - отключено, I - недействительно, D - динамически
0 chain=prerouting src-address=192.168.0.131 action=mark-routing
new-routing-mark=games passthrough=yes
1 chain=prerouting src-address=192.168.0.132 action=mark-routing
new-routing-mark=games passthrough=yes
.
.
.
Ой, чуть не забыл… Маскирование…
[admin@MikroTik] > ip firewall nat print
Флаги: X - отключено, I - недействительно, D - динамически
0 chain=dstnat protocol=tcp dst-port=80 src-address-list=users
action=redirect to-ports=3128
1 chain=srcnat out-interface=ether2 action=masquerade
2 chain=srcnat out-interface=ether3 action=masquerade
[admin@MikroTik] > ip firewall address-list print
Флаги: X - отключено, D - динамически
# LIST ADDRESS
0 users 192.168.0.0/24
Идея разделить трафик очень простая: Весь трафик будет проходить через второй шлюз (не по умолчанию), потому что prerouting, но порт 80 (просмотр) будет проходить через шлюз по умолчанию, потому что redirect port 80 на прокси… и прокси работает через шлюз по умолчанию. Только эта конфигурация работает на данный момент, я ничего другого не пробовал, например, помечать маршрутизацию другим способом, для P2P или порта 21 – не работает. Только адреса:
[admin@MikroTik] > ip firewall mangle print
Флаги: X - отключено, I - недействительно, D - динамически
0 chain=prerouting src-address=192.168.0.131 action=mark-routing
new-routing-mark=games passthrough=yes
1 chain=prerouting src-address=192.168.0.132 action=mark-routing
new-routing-mark=games passthrough=yes
.
.
.
Почему? Что-то не так? Не знаю. Есть идеи?
Всего доброго всем.
[admin@MikroTik] > ip address print
Флаги: X - отключено, I - недействительно, D - динамически
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.0.1/24 192.168.0.0 192.168.0.255 ether1
1 192.168.1.1/24 192.168.1.0 192.168.1.255 ether2
2 192.168.2.1/24 192.168.2.0 192.168.2.255 ether3
ether1 – Локальная сеть
ether2 – Public (aDSL модем1)
ether3 – Public (aDSL модем2)
[admin@MikroTik] > ip route print
Флаги: X - отключено, A - активно, D - динамически,
C - connect, S - static, r - rip, b - bgp, o - ospf
# DST-ADDRESS PREFSRC G GATEWAY DISTANCE INTERFACE
0 ADC 192.168.0.0/24 192.168.0.1 ether1
1 ADC 192.168.1.0/24 192.168.1.1 ether2
2 ADC 192.168.2.0/24 192.168.2.1 ether3
3 A S 0.0.0.0/0 r 192.168.2.254 ether3
4 A S 0.0.0.0/0 r 192.168.1.254 ether2
Вот здесь видно, что aDSL модем2 – это шлюз по умолчанию. Если добавить два шлюза командой (дважды) add gateway/ip route add gateway=1.2.3.4, это не сработает, поэтому я поставил правило.
[admin@MikroTik] > ip route rule print
Флаги: X - отключено, I - неактивно
0 routing-mark=games interface=ether2 action=lookup table=mdm1
Окей, у нас появилась новая маршрутная таблица mdm1 и мы будем отправлять трафик через ADSL модем1 (не по умолчанию). Кто-то может спросить: "А почему не балансировка нагрузки?". Не знаю, но даже балансировка нагрузки хорошо работает для просмотра, но для онлайн-игр, типа Battlefield2, CounterStrike – нет. Соединение с игровым сервером постоянно разрывается каждые несколько минут. Может, кто-нибудь объяснит, что происходит? После того, как я поставил это правило маршрутизации, MikroTik "умер" для моей локальной сети (нет пинга) – WinBox просто отключился. Но DHCP продолжал работать. Каждый компьютер мог получать адрес от MT (это была магия). Так что я вытащил его и последний шлюз из консоли MT. Потом поставил правила mangle, потом правило маршрутизации, потом шлюз в таблице mdm1. Сейчас пинг OK-- MikroTik доступен из LAN.
[admin@MikroTik] > ip firewall mangle print
Флаги: X - отключено, I - недействительно, D - динамически
0 chain=prerouting src-address=192.168.0.131 action=mark-routing
new-routing-mark=games passthrough=yes
1 chain=prerouting src-address=192.168.0.132 action=mark-routing
new-routing-mark=games passthrough=yes
.
.
.
Ой, чуть не забыл… Маскирование…
[admin@MikroTik] > ip firewall nat print
Флаги: X - отключено, I - недействительно, D - динамически
0 chain=dstnat protocol=tcp dst-port=80 src-address-list=users
action=redirect to-ports=3128
1 chain=srcnat out-interface=ether2 action=masquerade
2 chain=srcnat out-interface=ether3 action=masquerade
[admin@MikroTik] > ip firewall address-list print
Флаги: X - отключено, D - динамически
# LIST ADDRESS
0 users 192.168.0.0/24
Идея разделить трафик очень простая: Весь трафик будет проходить через второй шлюз (не по умолчанию), потому что prerouting, но порт 80 (просмотр) будет проходить через шлюз по умолчанию, потому что redirect port 80 на прокси… и прокси работает через шлюз по умолчанию. Только эта конфигурация работает на данный момент, я ничего другого не пробовал, например, помечать маршрутизацию другим способом, для P2P или порта 21 – не работает. Только адреса:
[admin@MikroTik] > ip firewall mangle print
Флаги: X - отключено, I - недействительно, D - динамически
0 chain=prerouting src-address=192.168.0.131 action=mark-routing
new-routing-mark=games passthrough=yes
1 chain=prerouting src-address=192.168.0.132 action=mark-routing
new-routing-mark=games passthrough=yes
.
.
.
Почему? Что-то не так? Не знаю. Есть идеи?
Всего доброго всем.
