I think Trent just supplied a great piece of this puzzle! I wasn't aware
of the 'ip' command. You are right that both before and after running
that script, something like 'netstat -rn' will show a default route
going out eth0, and not show you anything regarding 0:0. I thought it
should too, but that command seems to be more focused on the physical
port. However, running 'ip route list' shows that the src parameter has
changed.

In the past I've started up tcpdump or wireshark to sniff the network
traffic, and then start some outbound traffic, like pinging another
system. I could see that before the script runs my outbound ping (echo
requests) would have a source address of the regular interface, and
after the script runs they would come from the floating interface.

What do you see from 'ip route list'? You might also try playing with
the ip route src parameter as Trent suggested. It might make for a much
shorter script :-)

-Ty!

Trent Lloyd wrote:
> you can use "ip route" with "src" parameter to effect source ip of
> interface.
> you could add higher metric default route, or change the default.
>
> Alternatively you can set $APPLICATION to bind to the floating IP,
> presumign it starts after the IP is bound.
>
> Trent
>
> On 18/03/2009, at 10:40 PM, zhoupaul wrote:
>
>>
>> Thanks boyack. But this still didn't work. After I run this script, I
>> checked the routing table, the column device is still 0, I think it
>> should be 0:0, is that correct?
>>
>>> Date: Tue, 10 Mar 2009 19:51:53 -0600
>>> From: t...@nrel.colostate.edu
>>> To: linux-ha@lists.linux-ha.org
>>> Subject: Re: [Linux-HA] urgent dhcp problem
>>>
>>> I may be wrong here, but I think what is happening is that "normal"
>>> traffic is sent from a client to the floating IP (10.3.254.113), and
>>> then your server knows to send back packets that are FROM that same
>>> floating IP. But if your server STARTS the conversation, it sends it
>>> out
>>> on the native interface of 10.3.254.111. DHCP uses broadcasts to start
>>> the conversation, asking the entire network for a response, and then
>>> the
>>> server initiates the conversation from its native interface.
>>>
>>> I've had this trouble in the past, and have this script:
>>>
>>> #################### SNIP ######################
>>> #!/bin/sh
>>> #
>>> # Startup script to fake routing to a shared interface
>>> #
>>> # Use: Routing {start|stop}
>>> #
>>> # Licence: GPL
>>>
>>> # Source function library.
>>> . /etc/ha.d/shellfuncs
>>>
>>>
>>> Rstart () {
>>> ha_log "info: $0: Starting"
>>> sleep 5
>>> /sbin/route del default
>>> /sbin/route del -net 10.3.254.0/24 eth0
>>> /sbin/route add -net 10.3.254.0/24 eth0:0
>>> /sbin/route add default gw 10.3.254.254
>>> }
>>>
>>> Rstop () {
>>> ha_log "info: $0: Shutting down"
>>> sleep 5
>>> route del default
>>> route del -net 10.3.254.0/24 eth0:0
>>> route add -net 10.3.254.0/24 eth0
>>> route add default gw 10.3.254.254
>>> }
>>>
>>>
>>> # See how we were called.
>>> case "$1" in
>>> start)
>>> Rstart
>>> ;;
>>> stop)
>>> Rstop
>>> ;;
>>> *)
>>> echo "Usage: $0 {start|stop}"
>>> exit 1
>>> esac
>>>
>>> exit 0
>>>
>>>
>>> #################### SNIP ######################
>>>
>>> This just simply tears down your normal route out eth0 and addes a new
>>> route that goes out the floating address eth0:0. Doing that will remove
>>> your normal default route (gateway), so it adds that back in.
>>>
>>> I put this script in ha.d/resource.d as a file called 'Routing' (but
>>> that is probably not a very good name).
>>>
>>> I add this to my haresources immediately after the IP address, before I
>>> start any services (yours would be 'node1-name 10.3.254.113 Routing
>>> httpd sendmail dhcpd nagios')
>>>
>>> Note that I edited the file to use the addressed you supplied, but I
>>> guessed on your netmask (assuming it was a 24 bit netmask, or
>>> 255.255.255.0), and I guessed on your gateway, assuming it was
>>> 10.3.254.254. You may need to change the values to match your network.
>>>
>>> Good luck,
>>>
>>> -Ty!
>>>
>>>
>>>
>>>
>>> zhoupaul wrote:
>>>> I have set up two nodes HA server and the haresources file like:
>>>> node1-name 10.3.254.113 httpd sendmail dhcpd nagios. Two nodes have
>>>> a static IP address as: 10.3.254.111 10.3.254.112. Everything seems
>>>> ok except when I run ipconfig on windows client, I got dhcp server
>>>> 10.3.254.111. It should be the virtual IP 10.3.254.113, what is
>>>> wrong with this, how can I resolve this problem? I need to solve
>>>> this problem as soon as possible, thanks for any solutions and
>>>> suggestions.
>>>>
>>>> _________________________________________________________________
>>>> 上Windows Live 中国首页,下载最新版 MSN!
>>>> http://im.live.cn/
>>>> _______________________________________________
>>>> Linux-HA mailing list
>>>> Linux-HA@lists.linux-ha.org
>>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>>> See also: http://linux-ha.org/ReportingProblems
>>>>
>>>>
>>>
>>>
>>> ---===========================-
>>> Ty! Boyack
>>> NREL Unix Network Manager
>>> t...@nrel.colostate.edu
>>> (970) 491-1186
>>> -===========================-
>>>
>>> _______________________________________________
>>> Linux-HA mailing list
>>> Linux-HA@lists.linux-ha.org
>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>> See also: http://linux-ha.org/ReportingProblems
>>
>> _________________________________________________________________
>> MSN安全保护中心,免费修复系统漏洞,保护MSN安全!
>> http://im.live.cn/safe/
>> _______________________________________________
>> Linux-HA mailing list
>> Linux-HA@lists.linux-ha.org
>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>> See also: http://linux-ha.org/ReportingProblems
>>
>
> _______________________________________________
> Linux-HA mailing list
> Linux-HA@lists.linux-ha.org
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems
>


-- 
-===========================-
  Ty! Boyack
  NREL Unix Network Manager
  t...@nrel.colostate.edu
  (970) 491-1186
-===========================-

_______________________________________________
Linux-HA mailing list
Linux-HA@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to