Цитата:
А такая мысль: виртуальная сетевая карта (такая возможность есть). Но как для каждой карты прописать разное название в сети - вопрос.
|
Нечасто даю советы... Но тут таки настойчиво повторю: забудьте, забудьте и сон будет крепким, и нервы целее.
Утилита chbind -- внутри пакета util-vserver. Для её функционирования нужно наложить патч на ядро с этого же сайта, или использовать соответствующее ядро из дистрибутива, например, в ALT надо сказать
apt-get install kernel-image-vs-smp. Документации по vserver крайне мало, мне пришлось перерыть исходники, чтобы более-менее с ним разобраться, но в случае с chbind всё предельно ясно:
Код:
~ # ip addr show
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/32 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:04:75:7d:ce:6c brd ff:ff:ff:ff:ff:ff
inet 192.168.101.83/24 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:a0:24:cc:44:b6 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.2/24 scope global eth1
~ # chbind --ip 10.0.0.2/24 -- httpd -p 8080
ipv4root is now 10.0.0.2
~ # netstat -nl | grep 8080
tcp 0 0 10.0.0.2:8080 0.0.0.0:* LISTEN
То есть,
chbind --ip 10.0.0.2/24 -- httpd -p 8080 сделал то же, что и chroot, но в отношении ip-адреса.
ЗЫ: вообще говоря, vserver не только этой утилитой полезен, например, можно квотировать загрузку на процессор -- именно так, не ulimit на время выполнения, а token bucket scheduler. Если кому надо, могу на досуге накидать хавтушку, благо сейчас в этом копошусь потихоньку.
позднейшее ЗЫ: как понятно, на интерфейсе может быть несколько адресов, и с помощью chbind можно прицепить программу к
одному из них.