Назад | Перейти на главную страницу

Запускаете программное обеспечение на другом сетевом интерфейсе?

Я создал 3 виртуальных интерфейса в системе Linux, используя другой IP-адрес.

У меня есть программное обеспечение, выполняющее запросы к серверу, но оно использует интерфейс по умолчанию, eth0.

Можно ли временно запустить программное обеспечение, используя другой IP-адрес / интерфейс, например eth0:1?

Что-то вроде :

USE_INTERFACE=eth0:1 node test.js

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

Если программное обеспечение не поддерживает то, что у вас есть доступ к источнику, вы можете добавить или изменить bind() вызовите после создания сокета, поэтому выполните привязку к нужному интерфейсу.

Также возможно скрыть нежелательные интерфейсы с функциями групп управления, если ваше ядро ​​поддерживает это.

Вы можете отменить, не касаясь программного обеспечения, благодаря LD_PRELOAD.

Я нашел это :

Bind.c

Затем скомпилируйте его:

$ BIND_ADDR="virtual_interface_ip" LD_PRELOAD=./bind.so ssh root@myserver.com

И он будет использовать виртуальный интерфейс ip!

Затем, если вам нужно иметь несколько адресов Mac на одной сетевой карте, вы можете использовать multimac:

Multimac

Удачного взлома!

Хорошо, это проще, используя ту же стратегию, чем система виртуализации. Используя режим моста, brctl, вот руководство:

http://www.lainoox.com/bridge-brctl-tutorial-linux/