Войти

Показать полную графическую версию : Возможно ли на ASPLinux 7.3


starav
07-04-2005, 09:45
Возможно ли сделать так, чтобы сервер выглядел как два компьютера для локальной сети. И в соответствии с этим через Sambа'у сделать две рабочие группы в сети.
Если возможно, то намекните как!!!

dmitryst
07-04-2005, 17:02
[b]starav[/b
Намекнуть можно: попробуйте ставить 2 сетевые карты с разными IP, не включая роутинг между ними, то есть должно выглядеть, как 2 машины в сети и 1 физически :)
PS. сам не пробовал, так что прошу ногами не бить :)

ruslandh
07-04-2005, 20:58
Самба-то одна :(
Надо эмулятор подключать какой-нибуть.

dmitryst
08-04-2005, 15:51
ruslandh
насчет самбы не знаю

ihc
08-04-2005, 23:39
http://linux-vserver.org/

см. утилиту chbind и забываем как про две сетевых карты, так и про эмуляторы (:))

starav
09-04-2005, 07:41
Намекнуть можно: попробуйте ставить 2 сетевые карты с разными IP, не включая роутинг между ними, то есть должно выглядеть, как 2 машины в сети и 1 физически
А такая мысль: виртуальная сетевая карта (такая возможность есть). Но как для каждой карты прописать разное название в сети - вопрос.
Самба-то одна
Надо эмулятор подключать какой-нибуть.
А есть ведь наверное какие-нибудь настройки. Например, можно как-то настроить для определенного компьютера, а для группы нельзя?
см. утилиту chbind и забываем как про две сетевых карты, так и про эмуляторы
Эта утилита внутри этого пакета?
А есть где-нить русские доки?

ihc
09-04-2005, 09:57
А такая мысль: виртуальная сетевая карта (такая возможность есть). Но как для каждой карты прописать разное название в сети - вопрос.

Нечасто даю советы... Но тут таки настойчиво повторю: забудьте, забудьте и сон будет крепким, и нервы целее.

Утилита 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 можно прицепить программу к одному из них.

dmitryst
09-04-2005, 14:33
ihc
:) пожалуй, так будет правильнее
а вот насчет chbind --ip 10.0.0.2/24 -- httpd -p 8080 не понял - что к чему bind? :confused:

ihc
09-04-2005, 15:47
Есть команда chroot, см. соотв. ман. Она меняет корень для процесса. А есть команда chbind из util-vserver, она меняет iproot процесса так, что тот видит только указанные ip -- остальных для него просто не существует. То есть, процесс биндится к 0.0.0.0, а попадает туда, куда указано в опциях 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
inet 10.0.0.3/24 scope global secondary eth1
inet 10.0.0.4/24 scope global secondary eth1
~ # chbind --ip 10.0.0.2/24 -- vcontext --create -- vattribute --flag hide_netif -- sh
ipv4root is now 10.0.0.2
New security context is 49152


BusyBox v1.00 (2005.03.29-16:46+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # ip addr show
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


вот так без затей у пользователя отрезаются лишние ip и интерфейсы...




© OSzone.net 2001-2012