Routing under Suse Linux SLES 11 SP1

Hi all, Urgent please need your help

I have 2 servers acting as active/standby and these server have each other 2 interfaces using float IP.

1-Network 1 is configured on eth0 of each server (bond1 for the float) float IP 192.168.1.200
2-Network 2 is configured on eth2 of each server (bond2 for float) using float IP 192.168.2.15

How can i do that float IP 192.168.1.200 reach and send packets to 192.168.2.15 and vis versa, 192.168.2.15 can reach and send packet to 192.168.1.200.
Please help me, i’m not very familiar with routing in Suse Linux.

THANK YOU IN ADVANCE.

It sounds like you are stating that both servers have both IP addresses at
the same time. I’m guessing that’s a typo since it does not make sense.
Does “float” IP address mean a shared IP address? Which
NICs/interfaces/devices have individual, non-shared IP addresses, and what
are those addresses? Is the communication from server-to-server meant to
be for cluster negotiation (determining which box is up and which is down
at any given time) and which interface is meant to handle that?

Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below…

Hello,

Sorry my be my english is not very well, let me explain to you:

Let me explain,

Suppose that i have 2 servers working as active standby, these server use cluster negotiation, one should online and the another offline. Each server have each other 2 interfaces that have their own IP.
Suppose that eth0 is configured for network range 192.168.1.XX and eth2 is configured for network 192.168.2.XX (for each server). One service running in the server using the IP range 192.168.1.XX have to send HTTP request to 192.168.2.XX, but pblm is the network is different. So how can i do route configuration that network range 192.168.1.XX can reach and send/receive packet from network 192.168.2.XX of eth2.

Thanks.

Hi tsivery,

the network is different. So how can i do route configuration that network range 192.168.1.XX can reach and send/receive packet from network 192.168.2.XX of eth2.

To do so, you need at least one system with active interfaces in both networks - the “router”.

A typical configuration is:

  • each interface has it’s fixed address in the target network (i.e. 192.168.1.101 on server1, 192.168.1.102 on server2, and similar for the other network)
  • there’s a floating “service” address assigned to the active server’s interface (i.e. 192.168.1.100, either active on server1 or server2)

As both servers have active IP addresses in the respective networks, they can reach the service address at any time directly.

If, on the other hand, you don’t want to have such a configuration, but only the service IP addresses, you’ll need an external router that is active in both networks and set up the routing appropriate for your environment.

This all is nothing specific to SUSE Linux or even SLES - it’d be the same for MacOS, Microsoft Windows and any other OS running an IP stack.

Regards,
Jens

On 11/17/2013 11:34 PM, tsivery wrote:[color=blue]

Hello,

Sorry my be my english is not very well, let me explain to you:

Let me explain,

Suppose that i have 2 servers working as active standby, these server
use cluster negotiation, one should online and the another offline. Each
server have each other 2 interfaces that have their own IP.[/color]

This is where I was confused. I interpreted your original message as
meaning that both servers not only had IPs in the same networks, but had
the exact same IPs in each network, which seemed like a misconfiguration.
[color=blue]

Suppose that eth0 is configured for network range 192.168.1.XX and eth2
is configured for network 192.168.2.XX (for each server). One service
running in the server using the IP range 192.168.1.XX have to send HTTP
request to 192.168.2.XX, but pblm is the network is different. So how[/color]

Is it normal for your active server to send data to your passive server,
or vice versa, since the passive server is, well, passive? If you have
one cluster resource active on one system and passive on another, and then
vice versa for another cluster resource, I could see the desire for this,
but that seems less like one whole system being passive than single
services being active or passive on one of many systems.

Another question: Why would server1 want to send something from its
192.168.1.x NIC to server2 on its 192.168.2.x NIC, when both have NICs on
the same networks (192.168…1.x and 192.168.2.x) which can be used directly?

The way that IP routing works (on any platform) out of the box is that
when an IP address is bound to a NIC, and set properly with a subnet mask,
the routing table within the system knows that access to something within
that “network” (meaning within the range of IPs that match that subnet
mask on the network) will be sent-to directly, via the NIC with that
common IP address, rather than going through another NIC. As a result,
assuming you have a /24 (255.255.255.0) subnet mask assigned to each of
these bonded devices, data intended for 192.168.1.x will be sent out of
the 192.168.1.x-bound NIC/device, and data for 192.168.2.x will be sent
out of the 192.168.2.x NIC/device. Assuming the 192.168.1.x NICs (from
both systems) are plugged into a switch/hub, the data should get to the
other box nicely. If all four NICs are plugged into the same switch, it
should also work nicely.
[color=blue]

can i do route configuration that network range 192.168.1.XX can reach
and send/receive packet from network 192.168.2.XX of eth2.[/color]

If you really want to do something odd like this without involving routers
(which are the network devices that handle this type of thing all across
the Internet and in most people’s homes, again regardless of OS) you could
change the subnet mask on both systems, for all four NICs, to make
everything happen on one logical network.

Since you have not included any subnet masks in your description I assume
you are assigning these as /24 networks, meaning that 192.168.x.0 is the
network address, 192.168.x.255 is the broadcast address, and everything in
between is assignable to something. If you changed the subnet mask to /22
(255.255.252.0) then your network address would be 192.168.0.0, your
broadcast address would be 192.168.3.255, and everything in between would
be assignable to a NIC, meaning all 1,022 IP addresses would be able to
reach eachother directly without involving a router. With that option
presented, I think it is counter to your clustering goals, since usually
clusters intentionally run different NICs on different “networks” for
communication between nodes, and that seems likely to be the case here, in
which case you should have redundant (for failover) hardware for the
different networks and a router setup between them, assuming you really
need that (doubtful).


Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below…