Как организовать доступ к серверу через два WANa одновременно при помощи Zyxel Omni2 c NDMS2.09?
Изначальная задача - сделать так, чтобы приложение-сервер, запущеное на одном из компьютеров в локальной сети могло получать из интернета запросы на свой TCPxxx и слать обратно ответы, прекрасно решилась при помощи белого IP и первого попавшегося роутера, умеющего NAT и порт-маппинг.
Всё хорошо работало несколько лет, но потом в конторе появился человек, ответственный за генерацию идей и началось:
-Нужен вайфай! - Ок, вот роутер с вайфаем.
-А теперь нужен запасной канал! - ок, вот роутер с вайфаем и usb для lte-модема. И модем. И фэйловер с провода на 4G.
-А теперь нужно, чтобы программа работала и на запасном канале, но наш оператор белый IP модему не даёт! - ок, вот второй провайдер с кабелем и белым айпи, а вот роутер с поддержкой нескольких ISP и с usb для модема, всё равно же потом модем захотите.
-А... А теперь нужно, чтобы к программе можно было подключиться по любому из IP независимо от того, какой канал сейчас работает!!!
И вот головой-то я понимаю, что Зухель с этой их новой прошивкой так может, а как - не знаю.
На форумах ветка с сабжевым вопросом обычно заканчивается словами типа: "... изрядно помучившись, я настроил таки и одновременный доступ. Как-нибудь потом расскажу." или "... а вот сделать так, чтобы ответы уходили через тот интерфейс, через который пришел запрос - намного сложнее."
В статьях о типовых решениях на zyxel.ru и help.keenetic.net ничего похожего я не нашел(а может просто хорошо спрятали).
Владимир, увы(( Железяки, стремящиеся установить соединение с сервером не могут в DNS (в качестве адресов сервера конфигуратор клиента желает видеть только IP).
Владимир, входить-то оно входит (и роутер два соединения активными держит и правила маппинга для обоих каналов есть и работают), но вот ответы роутер с доступными через веб-интерфейс настройками шлёт только через интерфейс с наименьшей из доступных метрикой. В случае маршрутизаторов на честных линуксах подобные задачи (как я понял) решаются тегированием пакетов на входе и разбором/отправкой ответов в нужный интерфейс по тегу. Осталось понять, будет ли это работать в более тупом оборудовании и если да, то как это сделать в реалиях zyxel.
apreobr, На кинетике, по крайнем мере на стандартной прошивке вы это не реализуете.
Надо микротик, или смотреть нестандартные прошивки.
Задачка решается маркировкой пакетов, а в zyxel вряд ли она возможна, хотя можно попробовать зайти по SSH и посмотреть какие там пакеты установлены.
apreobr, Ну маркировка обычно делается с помощью mangle на Iptables.
А что там под капотом у зикселя - непонятно, по идее линукс какой-то, только что они туда впилили и что выпилили неизвестно. Поэтому подключаемся по SSH и пробуем поработать с Iptables.
apreobr, Я думал, что работать должно даже если один канал ляжет. Сервис то сам стоит не на роутере, роутер просто пробрасывает порты. Я бы в локалке поднял бы сервис так чтобы он слушал разные порты, эти бы порты на роутере пробросил на разные интерфейсы. Тогда у системы не будет путаницы куда отдавать обработанный пакет
Владимир, я тут может что упустил, но пакеты роутер отправляет компу с оригинальным адресом источника и (в моей реальности конечно) оскольку адрес источника не из локальной подсети, комп может ответить либо через static route (если подсеть источника заведомо известна) либо через default gateway, которых даже если сделать несколько, система всё равно использует ближайший доступный с наименьшей метрикой.
Тут подошла бы подмена адрса источника на адрес роутера, (NAT внешних адресов во внутренний) но я не знаю, как это называется у Zyxel-а и как это без названия найти.
АртемЪ, спасибо! Завтра доберусь, посмотрю. Если мне память не изменяет, на 23 порту у зукселя не линуксовая системная консоль, а нативный терминал, но управление пакетами там тоже есть.