использовать строки в качестве аргументов в одном вызове (как xargs)

В основном вы хотите "заключить" свой процесс в тюрьму и заставить его привязаться к определенной сетевой карте. Многие люди используют LD_PRELOAD, но LD_PRELOAD не контролирует маршрут, используемый процессами. Он будет использовать первый маршрут. Одно из возможных решений было на SuperUser https://superuser.com/questions/241178/how-to-use-different-network-interfaces-for-different-processes/241215#241215

ip netns может это сделать .

TL; DR: Создайте сетевые пространства имен, свяжите с ними интерфейсы и затем запустите "ip netns exec NAME cmd ..."

Просто проверьте, поддерживает ли ваш дистрибутив ip netns ... (Backtrack 5r3 не поддерживает, тогда как Kali делает;))

ПОДРОБНЕЕ:

#create netns
ip netns add myNamespace
#link iface to netns
ip link set eth0 netns myNamespace
#set ip address in namespace
ip netns exec myNamespace ifconfig eth0 192.168.0.10/24 up
#set loopback (may be needed by process run in this namespace)
ip netns exec myNamespace ifconfig lo 127.0.0.1/8 up
#set route in namespace
ip netns exec myNamespace route add default gw 192.168.0.1
#force firefox to run inside namespace (using eth0 as outgoing interface and the route)
ip netns exec myNamespace firefox

1
25.08.2016, 23:05
0 ответов

Теги

Похожие вопросы