Как сделать переадресацию с Mikrotik-шлюза на другой Linux-шлюз в той же подсети?

Я совсем-совсем новичок, но тем не менее, и передо мной возникла такая задача. Необходимо, чтобы компьютеры с некими известными MAC-адресами при обращении к Mikrotik-шлюзу (скажем, 192.168.1.1) попадали в Интернет через Linux-шлюз (192.168.1.2). Как такое реализовать?
  • Вопрос задан
  • 3705 просмотров
Пригласить эксперта
Ответы на вопрос 9
nimbo
@nimbo
потратьте один выходной и сделайте всё "как надо".
1) как минимум стоить поднять dhcp - упростите себе админство новых узлов и хостов;
2) разобраться в проблеме с модемом и микротиком - рассказывайте в новом вопросе, что за модель тик и модема и при каких условиях проблема возникает, больше конкретики, гадать на гуще нет смысла;
3) чем больше вы мудрите с сетью, тем сложнее будет её поддерживать и администрировать. убирайте из неё лишние шлюза и прочее добро. смотрите в сторону производительности и отказоустойчивости лучше. например, место linux можно поставить router os микротиковский на машину и сделать отказоустойчивый шлюз через VRRP - здесь можно почитать

отвечаю на ваш вопрос (если лень всё менять и вообще пофиг на себя и клиента) - подключить linux-машину к интерфейсу микротика, выделить его из свитча в ещё один wan и пустить випов через него.

научитесь сразу делать нормально без половинных решений, без скруток и прочего добра, потому что всё временное остаётся навсегда и работает хреново, создавая кучу головной боли.
Ответ написан
edinorog
@edinorog
Троллей не кормить!
Тупой вопрос можно? Нах отдельный шлюз на линуксе?
Ответ написан
@sonik_spb
Можно такое провернуть силами DHCP. Настроить так чтобы всем макам выдавался шлюз 1.1, а нужным 1.2 уже.
Ответ написан
@throughtheether
human after all
Я так понимаю, mikrotik и linux-машина находятся в одном l2-домене (т.е. включены в один коммутатор, порты в одном влане, интерфейсы 192.168.1.1 и 192.168.1.2 могут друг друга пинговать)?

Если так, то можно поднять на linux-машине dhcp-сервер и отдавать клиентам адрес маршрутизатора (dhcp option 3) в зависимости от MAC-адреса клиента. По-моему, dnsmasq это умеет.
Ответ написан
edinorog
@edinorog
Троллей не кормить!
При статике сосем чупачупс =). А лучше сделать проще. 4G тыркаем в микротик. На миркотике поднимаем DHCP. Ножками всех переключаем на динамику. Трафик делим на самом микротике. И все пашет =)
Ответ написан
karabanov
@karabanov
Системный администратор
Гуглите на тему "маршрутизация и два провайдера" (на хабре есть ряд статей на эту тему, правда там про GNU/Linux и пакет iproute2, в основном, но общий смысл ясен).
Если есть возможность воткнуть модем прямо в микротик, то задача совсем упрощается, так как понадобится сконфигурировать только одно устройство.
Ответ написан
@kodi
@kostett
4g и adsl в разные подсети за роутером. и далее маршрутизацию на основном шлюзе разрулите.
Ответ написан
@throughtheether
human after all
>Тогда я был бы благодарен за мануал по настройке статических определений связок
Если вы решили попробовать настроить специфичные arp-записи, как я рекомендовал, то надо сделать следующее:
1) на одном из хостов пропинговать 192.168.1.2 (с целью обновить динамические arp-записи).
2) посмотреть соответствующий MAC-адрес (в windows arp -a 192.168.1.2)
3) на каждом из 'избранных' хостов добавить статическую arp-запись (в windows arp -s 192.168.1.1 aa-bb-cc-dd-ee-ff, где aa-bb-cc-dd-ee-ff - адрес из п.2)
4) удалить статическую запись можно arp -d 192.168.1.1
5) при перезагрузке статическая запись теряется, может потребоваться прописать команду в автозагрузку
Ответ написан
@ninja5plus
А если попробовать промаркировать соединения по MAC адресам?
Как-то так:
1). Маркировка
/ip firewall mangle add action=mark-connection chain=prerouting new-connection-mark=mac1_conn src-mac-address=00:01:29:60:36:E7
/ip firewall mangle add action=mark-routing chain=prerouting connection-mark=mac1_conn new-routing-mark=mac1_r

2. Настройка осн. шлюза для промаркированных соединений
/ip route add distance=1 gateway=192.168.1.2 routing-mark=mac1_r

где
src-mac-address - mac-адрес источника
mark-connection – маркировка всех соединений, которые соответствует правилу;
mark-routing- вид маркировки используемый для политики маршрутизации;
gateway=192.168.1.2 - шлюз на Linux
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы