Hi!
Sorry, for posting again but another interessting addition is this:
When running atftp server in the vserver, it shows in syslog that it
creates new
ports (32981, 32982) for the transfer. As netstat shows, these ports are
existing and
bound to atftpd:
syslog
Feb 19 16:19:52 system atftpd[25619]: Creating new socket:
192.168.1.203:32981
Feb 19 16:19:52 system atftpd[25619]: Serving pxelinux.0 to
192.168.1.32:2070
Feb 19 16:19:52 system atftpd[25619]: tsize option -> 13992
Feb 19 16:19:52 system atftpd[25619]: Creating new socket:
192.168.1.203:32982
Feb 19 16:19:52 system atftpd[25619]: Serving pxelinux.0 to
192.168.1.32:2071
Feb 19 16:19:52 system atftpd[25619]: blksize option -> 1456
Feb 19 16:19:57 system atftpd[25619]: timeout: retrying...
Feb 19 16:19:57 system atftpd[25619]: timeout: retrying...
Feb 19 16:20:02 system atftpd[25619]: timeout: retrying...
Feb 19 16:20:02 system atftpd[25619]: timeout: retrying...
Proto Recv-Q Send-Q Local Address Foreign Address
State PID/Program name
tcp 0 0 192.168.1.203:37166 *:*
LISTEN 24528/rpc.statd
udp 0 0 192.168.1.203:32956
*:* 24528/rpc.statd
udp 0 0 192.168.1.203:960
*:* 24528/rpc.statd
udp 0 0 192.168.1.203:bootps
*:* 25641/dhcpd3
udp 0 0 192.168.1.203:tftp
*:* 25619/atftpd
udp 0 0 192.168.1.203:32981 192.168.1.32:2070
VERBUNDEN 25619/atftpd
udp 0 0 192.168.1.203:32982 192.168.1.32:2071
VERBUNDEN 25619/atftpd
udp 0 0 192.168.1.203:ntp
*:* 24571/ntpd
udp 0 0 192.168.1.203:ntp
*:* 24571/ntpd
raw 0 0 *:icmp *:*
7 25641/dhcpd3
In parallel the tcpdump on the host shows that the ports are
unreachable. But why?!
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
16:19:21.003544 IP 192.168.1.203.67 > 255.255.255.255.68: BOOTP/DHCP,
Reply, length 300
16:19:22.769413 IP 192.168.1.203.67 > 255.255.255.255.68: BOOTP/DHCP,
Reply, length 300
16:19:51.000700 IP 192.168.1.203.67 > 255.255.255.255.68: BOOTP/DHCP,
Reply, length 300
16:19:52.651266 IP 192.168.1.203.67 > 255.255.255.255.68: BOOTP/DHCP,
Reply, length 300
16:19:52.658813 arp who-has 192.168.1.203 tell 192.168.1.32
16:19:52.658836 arp reply 192.168.1.203 is-at 00:13:8f:56:02:96
16:19:52.658908 IP 192.168.1.32.2070 > 192.168.1.203.69: 27 RRQ
"pxelinux.0" octet tsize 0
16:19:52.661011 IP 192.168.1.32.2070 > 192.168.1.203.32981: UDP, length 17
16:19:52.661046 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203 udp
port 32981 unreachable, length 53
16:19:52.667535 IP 192.168.1.32.2071 > 192.168.1.203.69: 32 RRQ
"pxelinux.0" octet blksize 1456
16:19:52.668566 IP 192.168.1.32.2071 > 192.168.1.203.32982: UDP, length 4
16:19:52.668605 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203 udp
port 32982 unreachable, length 40
16:19:57.669192 IP 192.168.1.32.2071 > 192.168.1.203.32982: UDP, length 4
16:19:57.669228 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203 udp
port 32982 unreachable, length 40
16:20:02.669357 IP 192.168.1.32.2071 > 192.168.1.203.32982: UDP, length 4
16:20:02.669394 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203 udp
port 32982 unreachable, length 40
16:20:07.669689 IP 192.168.1.32.2071 > 192.168.1.203.32982: UDP, length 4
16:20:07.669723 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203 udp
port 32982 unreachable, length 40
16:20:12.669704 IP 192.168.1.32.2071 > 192.168.1.203.32982: UDP, length 4
16:20:12.669738 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203 udp
port 32982 unreachable, length 40
16:20:17.669912 IP 192.168.1.32.2071 > 192.168.1.203.32982: UDP, length 4
16:20:17.669947 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203 udp
port 32982 unreachable, length 40
16:20:28.660049 IP 192.168.1.32.2072 > 192.168.1.203.69: 32 ACK block 0
So this clearly seems a bug in vserver routing the traffic correctly...?
Corin
Corin Langosch schrieb:
> Hi!
>
> Just one note to my last email...when running atftpd on the host
> (where it works),
> tcpdump looks like this:
>
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
> 16:12:51.748559 arp who-has 192.168.1.254 tell 192.168.1.32
> 16:12:51.748653 IP 192.168.1.32.2070 > 192.168.1.254.69: 27 RRQ
> "pxelinux.0" octet tsize 0
> 16:12:51.749674 IP 192.168.1.254.32981 > 192.168.1.32.2070: UDP, length 14
> 16:12:51.749761 IP 192.168.1.32.2070 > 192.168.1.254.32981: UDP, length 17
> 16:12:51.756283 IP 192.168.1.32.2071 > 192.168.1.254.69: 32 RRQ
> "pxelinux.0" octet blksize 1456
> 16:12:51.757188 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP, length 15
> 16:12:51.757280 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.757389 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 1460
> 16:12:51.757826 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.757865 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 1460
> 16:12:51.758333 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.758379 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 1460
> 16:12:51.758840 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.758877 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 1460
> 16:12:51.759354 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.760131 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 1460
> 16:12:51.760574 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.760626 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 1460
> 16:12:51.761079 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.761607 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 1460
> 16:12:51.762045 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.762088 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 1460
> 16:12:51.762611 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.762654 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 1460
> 16:12:51.763124 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.763161 IP 192.168.1.254.32981 > 192.168.1.32.2071: UDP,
> length 892
> 16:12:51.763636 IP 192.168.1.32.2071 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.796960 IP 192.168.1.32.57089 > 192.168.1.254.69: 79 RRQ
> "pxelinux.cfg/00020003-0004-0005-0006-000700080009" oc
> 16:12:51.797723 IP 192.168.1.254.32981 > 192.168.1.32.57089: UDP,
> length 19
> 16:12:51.800977 IP 192.168.1.32.57090 > 192.168.1.254.69: 63 RRQ
> "pxelinux.cfg/01-00-13-8f-56-02-81" octet tsize 0 blks
> 16:12:51.801748 IP 192.168.1.254.32981 > 192.168.1.32.57090: UDP,
> length 19
> 16:12:51.804239 IP 192.168.1.32.57091 > 192.168.1.254.69: 51 RRQ
> "pxelinux.cfg/C0A80120" octet tsize 0 blksize 1408
> 16:12:51.804993 IP 192.168.1.254.32981 > 192.168.1.32.57091: UDP,
> length 19
> 16:12:51.807434 IP 192.168.1.32.57092 > 192.168.1.254.69: 50 RRQ
> "pxelinux.cfg/C0A8012" octet tsize 0 blksize 1408
> 16:12:51.808191 IP 192.168.1.254.32981 > 192.168.1.32.57092: UDP,
> length 19
> 16:12:51.810559 IP 192.168.1.32.57093 > 192.168.1.254.69: 49 RRQ
> "pxelinux.cfg/C0A801" octet tsize 0 blksize 1408
> 16:12:51.811367 IP 192.168.1.254.32981 > 192.168.1.32.57093: UDP,
> length 19
> 16:12:51.816844 IP 192.168.1.32.57094 > 192.168.1.254.69: 48 RRQ
> "pxelinux.cfg/C0A80" octet tsize 0 blksize 1408
> 16:12:51.817791 IP 192.168.1.254.32981 > 192.168.1.32.57094: UDP,
> length 19
> 16:12:51.823196 IP 192.168.1.32.57095 > 192.168.1.254.69: 47 RRQ
> "pxelinux.cfg/C0A8" octet tsize 0 blksize 1408
> 16:12:51.823948 IP 192.168.1.254.32981 > 192.168.1.32.57095: UDP,
> length 19
> 16:12:51.829294 IP 192.168.1.32.57096 > 192.168.1.254.69: 46 RRQ
> "pxelinux.cfg/C0A" octet tsize 0 blksize 1408
> 16:12:51.830026 IP 192.168.1.254.32981 > 192.168.1.32.57096: UDP,
> length 19
> 16:12:51.835317 IP 192.168.1.32.57097 > 192.168.1.254.69: 45 RRQ
> "pxelinux.cfg/C0" octet tsize 0 blksize 1408
> 16:12:51.836045 IP 192.168.1.254.32981 > 192.168.1.32.57097: UDP,
> length 19
> 16:12:51.841257 IP 192.168.1.32.57098 > 192.168.1.254.69: 44 RRQ
> "pxelinux.cfg/C" octet tsize 0 blksize 1408
> 16:12:51.842057 IP 192.168.1.254.32981 > 192.168.1.32.57098: UDP,
> length 19
> 16:12:51.847670 IP 192.168.1.32.57099 > 192.168.1.254.69: 50 RRQ
> "pxelinux.cfg/default" octet tsize 0 blksize 1408
> 16:12:51.848590 IP 192.168.1.254.32981 > 192.168.1.32.57099: UDP,
> length 26
> 16:12:51.848683 IP 192.168.1.32.57099 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.848790 IP 192.168.1.254.32981 > 192.168.1.32.57099: UDP,
> length 1009
> 16:12:51.849125 IP 192.168.1.32.57099 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.853268 IP 192.168.1.32.57100 > 192.168.1.254.69: 47 RRQ
> "screens/intro.txt" octet tsize 0 blksize 1408
> 16:12:51.854254 IP 192.168.1.254.32981 > 192.168.1.32.57100: UDP,
> length 25
> 16:12:51.854358 IP 192.168.1.32.57100 > 192.168.1.254.32981: UDP, length 4
> 16:12:51.855629 IP 192.168.1.254.32981 > 192.168.1.32.57100: UDP,
> length 542
> 16:12:51.855837 IP 192.168.1.32.57100 > 192.168.1.254.32981: UDP, length 4
>
> Corin
>
> Corin Langosch schrieb:
>> Hi!
>>
>> I added all caps, but it still does not work :-(
>>
>> buero:/etc/vservers# cat system/bcapabilities
>> NET_RAW
>> NET_BROADCAST
>> SYS_TIME
>> SYS_NICE
>> SYS_RESOURCE
>>
>> The caps must be set as the dhcp server inside the vserver is running
>> fine, which
>> wont without the caps.
>>
>> No tftp server is not running inside the host, I unsinatlled it
>> there. "netstat -l -p" confirms this.
>> Otherwise the tftpd inside the host wouldn't be able to bind to the
>> port neither..?
>>
>> This is my tcpdump from the host:
>>
>> buero:/etc/vservers# tcpdump -n | grep '\.1\.203'
>> tcpdump: verbose output suppressed, use -v or -vv for full protocol
>> decode
>> listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
>> 16:02:32.108114 IP 192.168.1.203.67 > 255.255.255.255.68: BOOTP/DHCP,
>> Reply, length 300
>> 16:02:34.198749 IP 192.168.1.203.67 > 255.255.255.255.68: BOOTP/DHCP,
>> Reply, length 300
>> 16:02:34.206389 arp who-has 192.168.1.203 tell 192.168.1.32
>> 16:02:34.206410 arp reply 192.168.1.203 is-at 00:13:8f:56:02:96
>> 16:02:34.206614 IP 192.168.1.32.2070 > 192.168.1.203.69: 27 RRQ
>> "pxelinux.0" octet tsize 0
>> 16:02:34.207638 IP 192.168.1.32.2070 > 192.168.1.203.32973: UDP,
>> length 17
>> 16:02:34.207674 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203
>> udp port 32973 unreachable, length 53
>> 16:02:34.214165 IP 192.168.1.32.2071 > 192.168.1.203.69: 32 RRQ
>> "pxelinux.0" octet blksize 1456
>> 16:02:34.215175 IP 192.168.1.32.2071 > 192.168.1.203.32974: UDP, length 4
>> 16:02:34.215207 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203
>> udp port 32974 unreachable, length 40
>> 16:02:37.968200 IP 192.168.1.32.2071 > 192.168.1.203.32972: UDP, length 4
>> 16:02:37.968234 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203
>> udp port 32972 unreachable, length 40
>> 16:02:39.216366 IP 192.168.1.32.2071 > 192.168.1.203.32974: UDP, length 4
>> 16:02:39.216400 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203
>> udp port 32974 unreachable, length 40
>> 16:02:42.972429 IP 192.168.1.32.2071 > 192.168.1.203.32972: UDP, length 4
>> 16:02:42.972464 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203
>> udp port 32972 unreachable, length 40
>> 16:02:44.220570 IP 192.168.1.32.2071 > 192.168.1.203.32974: UDP, length 4
>> 16:02:44.220606 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203
>> udp port 32974 unreachable, length 40
>> 16:02:49.224788 IP 192.168.1.32.2071 > 192.168.1.203.32974: UDP, length 4
>> 16:02:49.224822 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203
>> udp port 32974 unreachable, length 40
>> 16:02:54.225850 IP 192.168.1.32.2071 > 192.168.1.203.32974: UDP, length 4
>> 16:02:54.225885 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203
>> udp port 32974 unreachable, length 40
>> 16:02:59.230023 IP 192.168.1.32.2071 > 192.168.1.203.32974: UDP, length 4
>> 16:02:59.230059 IP 192.168.1.203 > 192.168.1.32: ICMP 192.168.1.203
>> udp port 32974 unreachable, length 40
>> 16:03:10.223642 IP 192.168.1.32.2072 > 192.168.1.203.69: 32 ACK block 0
>>
>> For me it seems that the chosen data-port for the transfer by the
>> server is somehow not reachable?
>> What could the reason be, how to solve it?
>>
>> Corin
>>
>>
>> Thomas Weber schrieb:
>>> Am Montag, den 18.02.2008, 19:15 +0100 schrieb Corin Langosch:
>>>
>>>> Hi!
>>>>
>>>> I already had NET_RAW in my bcapabilities for dhcp-server. Adding
>>>> RAW_ICMP to
>>>> ccapabilities didn't change anything.
>>>>
>>>> buero:/etc/vservers/system# cat bcapabilities
>>>> CAP_NET_RAW
>>>> CAP_NET_BROADCAST
>>>> CAP_SYS_TIME
>>>>
>>>
>>> ehm... try without the CAP_
>>> /etc/vservers/services# cat bcapabilities
>>> SYS_NICE
>>> SYS_RESOURCE
>>> NET_RAW
>>>
>>> not sure if you need all of these for atfpd. But with these bind9, dhcp,
>>> atftd plus some others work fine.
>>>
>>>
>>>> buero:/etc/vservers/system# cat ccapabilities
>>>> RAW_ICMP
>>>>
>>>
>>> no need for ccapabilities here.
>>>
>>>
>>>> Any other hints? How to trace the traffic flow?
>>>>
>>>
>>> I know its a stupid question: did you make sure to disable the tftpd on
>>> the root system?
>>>
>>> You can capture the traffic with tcpdump on the host.
>>>
>>> Tom
>>>
>>>
Received on Tue Feb 19 15:27:30 2008