Есть ли альтернатива виртуализации для обработки двух разных интерфейсов, разных сетей и одного и того же диапазона IP?

У меня есть ящик Linux с двумя разными сетевыми картами, которые подключены к двум различным сетям, но они имеют один и тот же диапазон IP (10.0.0.x). Моя первая идея заключалась в том, чтобы использовать виртуализацию для этого (т. Е. Xen), но мне кажется, что это слишком сложно, поскольку я хочу использовать те же программы без конфликтов из-за маршрутизации.

Я блуждал, если есть способ ограничить сетевой адаптер чем-то вроде сеанса оболочки, поэтому все запущенные программы используют только этот сетевой адаптер, например, запуск сеанса bash, который видит только eth1, но не eth0.

Edit: Я думаю, что я смотрю что-то похожее на тюрьмы FreeBSD, но для Linux

Если оба сетевых адреса и маски подсети для двух отдельных сетей идентичны, ваша сеть неверно сконфигурирована таким образом, чтобы победить основной смысл IP-маршрутизации.

Я бы перенумеровал одну из сетей.

Хм, похоже, я плохо описываю свою проблему. – @Darth Android. В лучшем случае «неправильно сконфигурированный» является интуитивным, чтобы описать ситуацию: вы правы, что этот сценарий создает конфликт в таблице маршрутизации, но я пытаюсь найти решение для этого, имеющего два маршрута, изолированных друг от друга , Другое решение будет использовать прокси-NAT, но мне кажется, что это намного сложнее, чем просто запустить Linux, виртуализованный внутри виртуальной машины, например, Xen. – @RedGrittyBrick Я не пытаюсь объединить две отдельные сети, я пытаюсь получить доступ к двум отдельным сетевым портам, которые используют один и тот же блок IP.

Я нашел два эквивалента jails для Linux, которые делают сетевую изоляцию , похоже, они будут делать трюк:

Ваш вопрос звучит так, как будто это работа для пространств имен в сети (URL связан, а не является официальным). Использование этой технологии, по-видимому, относительно новно в отношении этой записи, и мне сложно найти краткие HOWTO, которые также объяснят, что происходит с каждой командой. Googling «ip netns» (с кавычками и без него), вероятно, заставит вас лучше всего начать собирать куски .

Как заявил Ikraav, это задание для пространств имен в сети.

Назовем интерфейсы, к которым подключены ваши два сетевых адаптера eth-a и eth-b .

 # Create the network namespaces ip netns add net-a ip netns add net-b # Take interfaces up ip netns exec net-a ip link set eth-a up ip netns exec net-b ip link set eth-b up # Assign the interfaces to the network namespaces ip link set eth-a netns net-a ip link set eth-b netns net-b # Assign an address and network to the interfaces # Assume IP is 10.0.0.1 for eth-a and 10.0.0.2 for eth-b # The two can be set equal, if you want them to ip netns exec net-a ip address add 10.0.0.1/8 dev eth-a ip netns exec net-b ip address add 10.0.0.2/8 dev eth-b # Packets to 10.0.0.3 going through eth-a, with a source of 10.0.0.1 ip netns exec net-a ping 10.0.0.3 # Or through eth-b, with a source of 10.0.0.2 ip netns exec net-b ping 10.0.0.3 

Если вы предпочитаете иметь интерфейс, который является выходным по умолчанию для программ, которые не выполняются внутри пространства имен в сети, просто оставьте его назначенным для пространства имен в сети и не префикс какой-либо команды, относящейся к нему, с помощью ip netns exec net-*

  • Есть ли способ отображения таймера обратного отсчета или секундомера в терминале?
  • Как получить доступ к файлам на USB-накопителе после загрузки с USB-накопителя?
  • Как закрыть компьютер с определенным IP-адресом?
  • Как я могу обмениваться данными с несколькими устройствами, которые находятся на одном и том же IP-адресе?
  • Подвешивание «Сканирование разделов жесткого диска и создание / etc / fstab» при попытке установить Damn Small Linux
  • Проверка целостности файла, который был перенесен с ненадежной среды
  • Как изменить битрейт IrDA на Linux?
  • CentOS 7 Linux изменяет размер файловой системы после изменения размера раздела
  • Изменить текстовый редактор по умолчанию на Sublime Text в Linux Mint
  • Объединяя SSD и жесткий диск в программном RAID1?
  • Как правильно клонировать / dev / sda on / dev / sdb
  • Interesting Posts

    Каков наилучший способ преобразования объекта java в xml с открытым исходным кодом apis

    Как скрыть из программы, что она работает на виртуальной машине?

    Как читать из файла или stdin в Bash?

    Удаление html-тегов из строки в R

    Мониторинг калибровочных инструментов и программного обеспечения

    Невозможно загрузить альтернативную ОС или Live CD

    Может ли источник питания 20 В 4,51А использоваться с компьютером, для которого требуется источник питания 19 В 3,42 А?

    JQuery: отправить токен FormData AND csrf вместе

    Получение ошибки «двусмысленного перенаправления»

    есть ли обратная связь для рендеринга для Angular JS?

    C # regex pattern для извлечения URL-адресов из заданной строки – не полный URL-адрес html, но также и ссылки

    Как создать заводские файлы восстановления для ноутбука Dell с Windows 8?

    Есть ли регулярный эффект, который позволяет мне подсчитать количество повторений, совпадающих с операторами * и +?

    В чем преимущество использования универсальных ссылок в диапазонах для циклов?

    Может ли поток потока беспроводного маршрутизатора без подключения к Интернету?

    Давайте будем гением компьютера.