несколько MAC/IP на одном интерфейсе

Обсуждение ПО и его настройки
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

simpl3x писал(а):в этом контексте out-interface это не указание лететь через интерфейс, а всего лишь фильтр для летящего трафика.

Спасибо, буду знать... Хотя жаль, было бы прикольно.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
akokarev
Сообщения: 9
Зарегистрирован: 23 май 2013, 15:37

Ок, допустим я неправильно объяснился...
 То о чем вы пишите уже все реализовано:
шлюз у всех 192.168.1.1, т.е. Микротик. Весь трафик шлется на ISP1, помечается приходящий трафик, натится и т.д. Скрипт проверяет работоспособность ISP1 и если он отваливается, то трафик шлется на ISP2, также маркируется, натится... Если ISP1 поднимается, то новые соединения шлются на ISP1, а те что промаркированы как установленные с ISP2, соответственно не разрываются и шлются в ISP2. Проброшены статические маршруты до локальных ресурсов.

Я знаю что можно вести списки и кому-то отдельно выставлять маршруты, но это не то что требуется!
Нужно, чтобы клиенты могли сами выбирать 1.через какого провайдера слать трафик или 2.отдать это на выбор микротику. При этом один и тот же клиент может использовать разных провайдеров ОДНОВРЕМЕННО. Например: в настройках браузера указал шлюз 192.168.1.1 и микротик сам решит откуда грузить страницы web. Запустил ТанкиОнлайн попробовал на каждом провайдере, оказалось на ISP2 меньше пинг, указал шлюзом 192.168.1.3. Решил торренты покачать, ISP1 дает скорость больше + там локалка провайдера - указал 192.168.1.2 шлюзом. А если смог, то еще и 2 шлюза указал для торрентов и качаешь через обоих одновременно. Я не хочу жестко привязывать клиентов к определенному провайдеру.
И желательно, чтоб при решении этой задачи клиенту не приходилось лазать в настройки микротика.
Можно конечно сделать списки для внешних ресурсов, типа WEB, Танки, Контра, Торренты и т.д. и решать средствами микротика в какого провайдера все это слать. Но опять же какого размера получаться списки (полагаю весь интернет перепишем), сколько усилий надо чтобы создать такие списки и сколько потом усилий, чтобы мониторить, вносить изменения в списки... Гораздо лучше, отдать функцию выбора в руки клиента - хочешь ISP1 используй шлюз такой-то, ISP2 - шлюз такой-то, отказоустойчивость - используй шлюз такой-то!
Задача решалась бы просто, еслиб шлюзы провайдеров были бы статичными.. Но увы, у ISP2 шлюз при каждом соединении разный (PPPoE Ростелеком), да еще и соединение рвут каждые 24 часа.

Я долго курил на эту тему, единственное что приходит на ум это использовать разные IP для шлюза, либо VLAN'ы. VLAN'ы отвалились сразу, т.к. не у всех сетевые карты поддерживают работу с VLAN. Остается разные IP шлюзов. Это было бы весьма удобно. Для возможности маршрутизации разных шлюзов, у этих шлюзов должны быть разные МАС адреса. И вот тут я попал в тупик. Интерфейс для локалки один, а МАС нужны разные. Как сделать? Стал пробовать Virtual Ethernet, bridge, опять же VLAN, но что-то все не получается. Может кто подскажет как правильно прикрутить второй МАС на интерфейс?


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Вы меня простите, но у Вас какая-то каша получается. Вместо автоматизации сервиса Вы предлагаете юзеру каждый раз решать, что лучше. Ну напишите скрипт, который будет менять настройки роутера, когда Вам стрельнет в голову сменить провайдера. Или батник, как vqd рассказывал парой постов выше. Что-нибудь типа такого файла startUSP2.bat:

Код: Выделить всё

cd \
C:
cd Program Files\bin\putty.org.ru\
start PuTTY.exe -ssh -l user -pw MyPassW -m script.txt 192.168.1.1

И сам файл script.txt в той же директории:

Код: Выделить всё

/system script run ISP2

Скрипт ISP2 применяет настройки второго провайдера.
Это если менять провайдеров по желанию на машине. А вот как Танкам разрешить работать с одного прова, а браузеру с другого я и не представляю, собственно. Где Вы в танках пропишите, с какого прова именно им одним работать?


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
akokarev
Сообщения: 9
Зарегистрирован: 23 май 2013, 15:37

podarok66 писал(а):Вместо автоматизации сервиса Вы предлагаете юзеру каждый раз решать, что лучше.

Я предлагаю автоматизацию + ручной выбор по желанию (3 шлюза при 2х провайдерах, первый шлюз автоматизация, два других соответственно отдельные провайдеры).

podarok66 писал(а):start PuTTY.exe -ssh -l user -pw MyPassW -m script.txt 192.168.1.1

Пользователям не хорошо давать доступ на микротик. Я думал о таком варианте и все таки предпочитаю безопасность.

podarok66 писал(а): Где Вы в танках пропишите, с какого прова именно им одним работать?

Тем же бантиком у пользователя. На время игры в Танки основным(и\или единственным) шлюзом указать ISP2.

Код: Выделить всё

route add 0.0.0.0 MASK 0.0.0.0 192.168.1.3 METRIC 20
C:\Games\WoT\Tanks.exe
route delete 0.0.0.0 MASK 0.0.0.0 192.168.1.3

Но это при условии что 192.168.1.3 однозначно ведет только на ISP2. Что я и хочу сделать.


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Не думаю, что кто-либо здесь станет забивать себе голову подобными задачами. Не представляю, кому кроме Вас это может быть необходимо даже частично.
Хотя, я могу сильно ошибаться. Если такое случится, я буду очень рад увидеть результат на страницах форума. Очень нетривиальные задачи Вы перед собой ставите.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
akokarev
Сообщения: 9
Зарегистрирован: 23 май 2013, 15:37

Ясно, спасибо за ответы, буду копать дальше...


Аватара пользователя
simpl3x
Модератор
Сообщения: 1532
Зарегистрирован: 19 апр 2012, 14:03

как вариант. используйте pptp сервер или любую другую инкапсуляцию. на рабочем компьютере создаете два подключения и каждое из них маршрутизируйте куда вам надо. соответственно, человек по необходимости будет подключать то соединение которое ему надо.


akokarev
Сообщения: 9
Зарегистрирован: 23 май 2013, 15:37

Сделал через pptp, все работает, в принципе задачу решает.
 Кусок конфига

Код: Выделить всё

/ip pool
add name=GW1_pool ranges=192.168.101.2-192.168.101.254
add name=GW2_pool ranges=192.168.102.2-192.168.102.254

/ppp profile
add address-list=GW1_list change-tcp-mss=yes dns-server=192.168.101.1 \
    local-address=192.168.101.1 name=GW1_profile only-one=no remote-address=\
    GW1_pool use-compression=no use-encryption=no use-mpls=no \
    use-vj-compression=no
add address-list=GW2_list change-tcp-mss=yes dns-server=192.168.102.1 \
    local-address=192.168.102.1 name=GW2_profile only-one=no remote-address=\
    GW2_pool use-compression=no use-encryption=no use-mpls=no \
    use-vj-compression=no

/interface pptp-server server
set authentication=pap,chap,mschap1,mschap2 default-profile=default enabled=yes

/ip firewall filter
add action=drop chain=input comment="Only LAN connect PPTP" in-interface=!ether5 port=1723 protocol=tcp

/ip firewall mangle
add action=mark-routing chain=prerouting new-routing-mark=Dagotel-only src-address-list=GW1_list
add action=mark-routing chain=prerouting new-routing-mark=Rostelecom-only src-address-list=GW2_list

/ip route
add comment="Dagotel only on 192.168.101.1" distance=10 gateway=172.16.0.1 routing-mark=Dagotel-only
add comment="Rostelecom only on 192.168.102.1" distance=11 gateway=pppoe-out-rt routing-mark=Rostelecom-only

/ppp secret
add name=dt password=dt profile=GW1_profile service=pptp
add name=rtk password=rtk profile=GW2_profile service=pptp

Не стал приводить весь конфиг, поясню только, что уже используются маркировки пакетов, а указанные правила /ip firewall mangle я добавил в конец; правило "Only LAN connect PPTP" естественно в начало списка; а правила /ip route идут следующими после основных шлюзов и только после них идет разбор остальных маркированных пакетов


akokarev
Сообщения: 9
Зарегистрирован: 23 май 2013, 15:37

Как прикрутить uPnP к этим PPTP соединениям? Что указать в /ip upnp interfaces? Дело в том, что появляется динамическое соединение <pptp-rtk> которое исчезает после отключения клиента. Если привязать его, то при отключении в поле interface значится unknown, а при повторном подключении это unknown остается на месте. Может какой-то скрипт можно привязать к событию подключения клиента?


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Виртуальный интерфейс interface -> pptp-server Его уже и добавляйте


Есть интересная задача и бюджет? http://mikrotik.site
Ответить