From: Mario Lorenz (ml_at_vdazone.org)
Date: Thu 23 Jan 2003 - 11:35:00 GMT
Hello Alexey,
On Thu, Jan 23, 2003 at 08:48:34AM +0300, Lyashkov Alexey wrote:
> this RPM based on my version vserver patch.
> you can download lastes version her from my home page www.ttn.ru/~shadow/ and apply
> manually.
> if you have bugs send to me bug report and i fix this.
>
I have downloaded the latest version of your patch from ttn.ru, recompiled
the kernel and redone the tests. Same behaviour.
Now furhter investigation makes me wonder if this is a problem with your
patch or with the man page of chbind.
chbind supposedly locks only a process and its children into a specific
IP/Interface. It doesnt. It seems it locks the whole context (and in case
of context 0, thats not really useful).
To witness:
(freshly rebooted box, no vservers started)
# 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/8 brd 127.255.255.255 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:e0:7d:98:0b:8d brd ff:ff:ff:ff:ff:ff
inet 192.168.123.125/24 brd 192.168.123.255 scope global eth0
# telnet 192.168.123.100
Trying 192.168.123.100...
Connected to 192.168.128.102.
[...]
(Everything working as expected. Now bring up secondary interface)
# /sbin/ifconfig eth0:1 192.168.123.126 netmask 255.255.255.255
# 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/8 brd 127.255.255.255 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:e0:7d:98:0b:8d brd ff:ff:ff:ff:ff:ff
inet 192.168.123.125/24 brd 192.168.123.255 scope global eth0
inet 192.168.123.126/32 brd 192.168.123.255 scope global eth0:1
(set up chbind, _EXIT_ children so there is no chbind anymore, then take
down secondary IF)
# /usr/sbin/chbind --ip 192.168.123.126 /bin/bash
ipv4root is now 192.168.123.126
# exit
# /sbin/ifconfig eth0:1 down
# 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/8 brd 127.255.255.255 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:e0:7d:98:0b:8d brd ff:ff:ff:ff:ff:ff
inet 192.168.123.125/24 brd 192.168.128.255 scope global eth0
# telnet 192.168.123.100
Trying 192.168.123.100...
telnet: connect to address 192.168.123.100: Invalid argument
Now what ?
# /usr/sbin/chbind --ip 0.0.0.0 /bin/bash
ipv4root is now 0.0.0.0
# exit
# telnet 192.168.123.100
Trying 192.168.123.100...
Connected to 192.168.128.102.
[...]
Thats vserver-0.22.
Who is wrong ? Me, the Kernel patch, the chbind manpage ? And how is this
best corrected ?
Best regards,
Mario