Рейтинг:0

Создание виртуального IP для маршрутизации пакетов через определенный интерфейс

флаг br

У меня есть сервер с ip 34.0.0.0 и несколько сетевых устройств, каждое из которых соответствует локальному IP-адресу 192.168.42.1, 192.168.42.2, 192.168.42.3, и т.д.

Я хотел бы иметь возможность создать локальный туннель через каждый из этих интерфейсов, чтобы трафик направлялся через соответствующий локальный интерфейс. Например, я хотел бы создать 192.168.72.1 который направляет трафик через 192.168.42.1 к 34.0.0.0. Это возможно?

Я знаю, что с несколькими IP-адресами назначения я могу выборочно направлять пакеты через каждый из интерфейсов с помощью iptables, но сейчас я не уверен, что нужно создавать локальный туннель. У моего сервера только один IP-адрес, и я хотел бы сделать это исключительно на клиенте.Кроме того, у меня нет контроля над кодом отправки, поэтому я не могу выборочно привязать сокеты к каждому локальному IP-адресу, но я могу изменить целевой IP-адрес, на который отправляются пакеты.

РЕДАКТИРОВАТЬ: после некоторого копания кажется, что я хотел бы сделать, это пометить пакет, когда он проходит через цепочку OUTPUT iptables, и использовать это для информирования решения о маршрутизации? Есть ли более простой способ, чем этот? Кажется, что назначение пакета не может быть изменено после принятия решения о маршрутизации.

Nikita Kipriyanov avatar
флаг za
Вам необходимо использовать базу данных политик маршрутизации. Пожалуйста, прочтите LARTC, его цель как раз и состоит в том, чтобы отвечать на подобные вопросы.И нет, вам не нужны никакие туннели или дополнительные IP-адреса, вам нужны дополнительные *таблицы маршрутизации* и *правила маршрутизации*.
флаг br
@NikitaKipriyanov, не могли бы вы указать мне, где в LARTC описано, как это сделать? Все, что я видел, описывает, как разделить пакеты с разными IP-адресами назначения, но не описывает, как разделить пакеты с одним и тем же IP-адресом назначения, переписав IP-адрес назначения...
Nikita Kipriyanov avatar
флаг za
Я не вижу в вашем вопросе ничего, что означало бы, что для разных пакетов должен выполняться другой перевод *destination* (и что такое селектор). Не могли бы вы уточнить задачу, представив пример того, как в конечном итоге пакеты (в идеале) должны обрабатываться, вместо того, чтобы предлагать предполагаемое решение (туннель)? Скажем, шляпа, пакеты от A до M должны приходить в X, пакеты от B до M должны приходить в Y или что-то в этом роде.

Ответить или комментировать

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