Unix VM listen behavior?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Unix VM listen behavior?

Andreas.Raab
 
Hi Folks -

I have a quick question about the expected behavior of the Unix VM when
running on a machine with multiple IP addresses. We have a box with two
interfaces (eth0 and eth1 respectively) and only eth0 was originally
enabled. Listening without specifying an interface worked fine for
clients connecting to the (static) IP configured for eth0.

Then, we enabled eth1 and gave it its own (static) IP address. We had
two images running, one without specifying the interface, one specifying
the IP for eth1 (both images had been restarted after the change was
made). The result was that clients could connect to the image running on
eth1 but not to the one running on eth0. Only when we changed that image
to use the explicit IP address configured for eth0 everything worked as
expected (i.e., clients could connect to either IP address).

Question: Is this the expected behavior? I'm not sure if not specifying
the interface implies that the VM accepts connections on all interfaces,
or only the first one, the last one, a random one or not at all. Any
insights are greatly appreciated - we have a working setup but it would
be nice to know whether this is what we should expect to see or not.

Cheers,
   - Andreas
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unix VM listen behavior?

Bert Freudenberg
 

On 14.01.2009, at 07:38, Andreas Raab wrote:

> Hi Folks -
>
> I have a quick question about the expected behavior of the Unix VM  
> when running on a machine with multiple IP addresses. We have a box  
> with two interfaces (eth0 and eth1 respectively) and only eth0 was  
> originally enabled. Listening without specifying an interface worked  
> fine for clients connecting to the (static) IP configured for eth0.
>
> Then, we enabled eth1 and gave it its own (static) IP address. We  
> had two images running, one without specifying the interface, one  
> specifying the IP for eth1 (both images had been restarted after the  
> change was made). The result was that clients could connect to the  
> image running on eth1 but not to the one running on eth0. Only when  
> we changed that image to use the explicit IP address configured for  
> eth0 everything worked as expected (i.e., clients could connect to  
> either IP address).
>
> Question: Is this the expected behavior? I'm not sure if not  
> specifying the interface implies that the VM accepts connections on  
> all interfaces, or only the first one, the last one, a random one or  
> not at all. Any insights are greatly appreciated - we have a working  
> setup but it would be nice to know whether this is what we should  
> expect to see or not.


Well, I would expect it to listen on all interfaces.

What does netstat say (or lsof)?

- Bert -

Reply | Threaded
Open this post in threaded view
|

Re: Unix VM listen behavior?

Andreas.Raab
 
Bert Freudenberg wrote:

> On 14.01.2009, at 07:38, Andreas Raab wrote:
>> Hi Folks -
>>
>> I have a quick question about the expected behavior of the Unix VM
>> when running on a machine with multiple IP addresses. We have a box
>> with two interfaces (eth0 and eth1 respectively) and only eth0 was
>> originally enabled. Listening without specifying an interface worked
>> fine for clients connecting to the (static) IP configured for eth0.
>>
>> Then, we enabled eth1 and gave it its own (static) IP address. We had
>> two images running, one without specifying the interface, one
>> specifying the IP for eth1 (both images had been restarted after the
>> change was made). The result was that clients could connect to the
>> image running on eth1 but not to the one running on eth0. Only when we
>> changed that image to use the explicit IP address configured for eth0
>> everything worked as expected (i.e., clients could connect to either
>> IP address).
>>
>> Question: Is this the expected behavior? I'm not sure if not
>> specifying the interface implies that the VM accepts connections on
>> all interfaces, or only the first one, the last one, a random one or
>> not at all. Any insights are greatly appreciated - we have a working
>> setup but it would be nice to know whether this is what we should
>> expect to see or not.
>
>
> Well, I would expect it to listen on all interfaces.
>
> What does netstat say (or lsof)?

I'll have to check. This happened in an emergency (DDOS on our shiny new
data center which wasted more bandwidth than I could previously imagine)
and I couldn't spend much time on investigating the details. If things
are quiet tomorrow I can run a few tests. But it is useful to know that
the expected behavior is that it should be listening on all interfaces.

Lesson of the day: Big pipes are no replacement for a fallback system on
the other end of the world with all your data replicated on it. Well,
lesson learned :-(

Cheers,
   - Andreas