|
Thanks Chris.
What you are describing is attaching a server program to a specific
interface. That is not what I am trying to do. I am talking about selecting
a specific interface for outgoing connections.
Albert York
-----Original Message-----
From: Chris Bipes [SMTP:chris.bipes@xxxxxxxxxxxxxxx]
Sent: Friday, May 09, 2003 8:09 AM
To: 'Midrange Systems Technical Discussion'
Subject: RE: Selecting an ethernet line
Yes you can bind to a specific IP address. What I would do is
create a
virtual IP address on your AS400. Just like adding a physical with
a couple
of parameters changed. Then on your default router add the two
physical IP
addresses as routes to the Virtual IP address, which must be in it's
own
subnet.
For example with both Ethernets in the same subnet:
Eth01 = 10.0.0.1 / 255.255.255.0
Eth02 = 10.0.0.2 / 255.255.255.0
VirtIP= 10.254.254.1 / 255.255.255.255
Route 1 = 10.254.254.1 255.255.255.255 10.0.0.1 metric 1
Route 2 = 10.254.254.1 255.255.255.255 10.0.0.2 metric 2
This does not give you inbound balancing but will give you outbound
balancing.
For example with each ethernet in a different subnet:
Eth01 = 10.0.1.1 / 255.255.255.0
Eth02 = 10.0.2.1 / 255.255.255.0
VirtIP= 10.254.254.1 / 255.255.255.255
Router in subnet 1 = 10.0.1.254:
Route 1 = 10.254.254.1 255.255.255.255 10.0.1.1 metric 1
Route 2 = 10.254.254.1 255.255.255.255 10.0.2.254 metric 2
Router in subnet 2 = 10.0.2.254:
Route 1 = 10.254.254.1 255.255.255.255 10.0.2.1 metric 1
Route 2 = 10.254.254.1 255.255.255.255 10.0.1.254 metric 2
This will give you failover in each subnet but no outbound load
balancing.
For inbound load balancing you will need an external box running
monitoring
and load balancing software.
Now we let our server programs bind to all IP address but only hand
out the
Virtual IP via Wins and DNS. As far as client connecting
consistently using
the same interface or the Virtual IP interface, here is a code
snippet:
d dsServerAddr ds
d sin_family 5i 0 inz
d sin_port 5u 0 inz
d sin_addr 10i 0 inz
d sin_zero 8a inz
* Bind server IP & port to socket descriptor
c eval sin_port = s_ports
c eval sin_family = AF_INET
c eval sin_addr =
INetAddr(*VirtualIP*)
<-retrieved using DNS query
c eval sin_zero = X'0000000000000000'
c eval iServiceAddrLen = %size(dsServerAddr)
c eval iRC = Bind( iListeningSocket
c : %addr(dsServerAddr)
c : iServiceAddrLen )
-----Original Message-----
From: York, Albert
I have an AS/400 with two ethernet cards in it, for redundancy.
They each
have their own IP address.
Is there a way for me to select a specific ethernet line when I open
a
socket? The AS/400 always seems to select the first line unless its
interface is inactive.
_______________________________________________
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo.cgi/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.