Hi,

I've got Apache 2.0.55 built from source and am seeing an odd problem related to multiple IP addresses on VLANs.

The server has a trunked connection back to our switch and has the IP addresses 172.24.12.9, 172.24.11.3 and 172.16.14.104. These are configured as bond0, bond0:2 and bond0.2 respectively. There are other aliases IP addresses on bond0 but they're probably irrelevant for this problem.

Apache is listening on all interfaces, port 80 and 443.

I have a client at 172.16.40.32 attempting to connect to port 80 on 172.24.11.3. The following occurs:

# telnet 172.24.11.3 80
Trying 172.24.11.3...
Connected to 172.24.11.3 (172.24.11.3).
Escape character is '^]'.
Connection closed by foreign host.


An strace against httpd shows:

[pid 31138] accept(3, {sa_family=AF_INET, sin_port=htons(44894), sin_addr=inet_addr("172.16.40.32")}, [16]) = 16
[pid 31138] semop(6914069, 0xb79f0c, 1) = 0
[pid 31138] futex(0x837c474, FUTEX_WAKE, 1 <unfinished ...>
[pid 31130] <... futex resumed> )       = 0
[pid 31138] <... futex resumed> )       = 1
[pid 31138] semop(6914069, 0xb79f12, 1) = 0
[pid 31138] poll( <unfinished ...>
[pid 31130] futex(0x837c43c, FUTEX_WAKE, 1) = 0
[pid 31130] getsockname(16, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("172.24.11.3")}, [16]) = 0
[pid 31130] fcntl64(16, F_GETFL)        = 0x2 (flags O_RDWR)
[pid 31130] fcntl64(16, F_SETFL, O_RDWR|O_NONBLOCK) = 0
[pid 31130] read(16, 0x83eccf8, 8000) = -1 EAGAIN (Resource temporarily unavailable) [pid 31130] poll([{fd=16, events=POLLIN, revents=POLLIN|POLLERR|POLLHUP}], 1, 300000) = 1 [pid 31130] read(16, 0x83eccf8, 8000) = -1 ECONNRESET (Connection reset by peer)
[pid 31130] gettimeofday({1138182161, 971221}, NULL) = 0
[pid 31130] shutdown(16, 1 /* send */) = -1 ENOTCONN (Transport endpoint is not connected)
[pid 31130] close(16)                   = 0


If I then perform 'ifconfig bond0.2 down', 'ifconfig bond0.2 up' and repeat the test everything works as expected! It carries on working for a while and then gives up the ghost again!

Apache is receiving the connection and I can see from a packet capture that the three-way handshake is completing but for some reason it's dropping the connection - almost like tcpwrappers does!

Whilst Apache is refusing the connections, I can still ssh to the same IP address.

This one has me puzzled - if anyone can shed some light on it, it would be much appreciated!

Many thanks in advance,


                                Neil.

--
Neil Hillard                    [EMAIL PROTECTED]
Westland Helicopters Ltd.       http://www.whl.co.uk/

Disclaimer: This message does not necessarily reflect the
            views of Westland Helicopters Ltd.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to