Как правильно использовать шлюз из локальной сети с роутингом трафика на микротик?
Имеется сеть из mikrotik 192.168.1.1, подключенного к интернету, компьютер 192.168.1.2 и linux сервер 192.168.1.3. На сервере поднят и работает tun0, с настроенными маршрутами. Если на компьютере задать в качестве шлюза адрес сервера 192.168.1.3 - все работает. Так же частично удалось реализовать схему через микротик, когда шлюзом на компьютере установлен 192.168.1.1, через таблицу mangle и маркировку трафика по ip источника, и последующим роутом на адрес сервера. Но в этом случае, интернет на компьютере работает плохо, половина сайтов не открывается. Как правильно использовать шлюз сервера из локальной сети на микротике?
Дополнено:
Задача состоит в том, чтобы трафик роутился микротиком, а сервер использовался как шлюз, но не по умолчанию для всего трафика.
То есть вы хотите, чтобы на станции шлюзом был микротик, он пересылал пакеты на linux, тот пересылал пакеты обратно на mikrotik, и только теперь пакеты шли в интернет, так? и всё это в одной подсети и одном вилане? Вам не кажется, что такая схема, мягко говоря, странненькая?
С моей точки зрения при такой постановке задачи разумнее добавить на linux ещё одну сетевую и врезать его между сетью и mikrotik. Соответствено у станции шлюзом будет linux, у того mikrotik, схема линейная и без заморочек.
Как вариант того же без перекоммутации - выделить под канал linux-mikrotik для трафика в интернет отдельный VLAN (а ещё лучше - отдельный линк, но мы решили обойтись без перекомутации), с отдельной подсетью. То есть станция обращается к микротику, тот маршрутизирует по нужным правилам либо сразу в инет, либо на linux (пока всё можно в рамках дефолтного VLAN и 192.168.1.х, хотя я бы уже ушёл как минимум в другую подсеть), тот обрабатывает и пересылает обратно на микротик (но через другой интерфейс, виртуальный, уже в другой подсети и в другом VLAN, который, к слову, тегованный), и наконец микротик маршрутизирует в интернет.
Ну и надо понимать, что один и тот же трафик по одному и тому же кабелю должен пробежать трижды, а потому нужен или широкий и гарантированный (ещё лучше - выделенный, но опять же мы без перекоммутации) канал между микротиком и линухом, или аппетиты у станций подрезать.
Тут есть два сравнительно простых варианта:
1. Разнести компьютер и linux-сервер по разным подсетям (можно в одном и том же физическом сегменте), чтобы маршрутизация на микротике могла работать полноценно
2. Если нужно сохранить ip-адресацию, то на микротике нужно делать маскарадинг трафика (правило SNAT с action=MASQUERADE), который идет с ПК и далее маршрутизируется через linux-сервер. Тогда через микротик будет проходить не только исходящий трафик с ПК, но и ответный, и с хорошей вероятностью это устранит проблемы
Undefiend, может не совсем вас понял. Я так и делаю, создаю делаю правила и перенаправляю трафик на шлюз, которым является локальный сервер. Если поднять tun уже на самом микротике, и использовать его в качестве шлюза все работает без проблем. Пробую поднимать тоннель от микротика до сервера, например IPIP, с подсетью 192.168.2.0/24, и использовать в качестве шлюза адрес сервера из тоннеля 192.168.2.3 - трафик по прежнему идет на 192.168.1.3 (проверяю трассировкой) и все работает плохо. Похоже проблема в том, что сервер находится в одной подсети с роутером и трафик с роутера уходит на сервер, а потом обратно на роутер, т.к. он подключен к интернету, хоть и через tun, но видимо часть трафика идет напрямую, может образуется какая-то петля или что-то типа того. Это что-то из базовых настроек сетей, как мне кажется.