What am I missing?

Brad Willson <[email protected]>
Newsgroups gmane.linux.highavailability.ultramonkey
Organization UW GeneTests
Message-ID <[email protected]>
Hello All,

I'm using http://www.ultramonkey.org/3/topologies/ha-lb-eg.html as the
checklist.  Having gone over it several times; I still cannot get a
packet past the eth0 interface. The following files are mirrored on both
directors: ha.cf, authkeys, haresources, and ldirectord.cf.  There are
public IP addresses on eth0 and Class C's on eth1.

Packet Forwarding results:
[root@beast ~]# sysctl -p
net.ipv4.ip_forward = 1

Diffs from comparing my ha.cf to the file posted on the site:
debugfile /var/log/ha-debug                                   |
#debugfile /var/log/ha-debug
logfile /var/log/ha-log                                       |
#logfile        /var/log/ha-log
baud    19200                                                 | #baud
19200
serial  /dev/ttyS0                                            | #serial
/dev/ttyS0      # Linux
bcast   eth0 eth1       # Linux                               | #bcast
eth1 eth2       # Linux
mcast   eth0 225.0.0.1 694 1 0                                | mcast
eth0 225.0.0.1 694 1 0
mcast   eth1 225.0.0.1 694 1 0                                | mcast
eth1 225.0.0.1 694 1 0
auto_failback   on                                            |
auto_failback off
node    beast.genetests.org                                   <
node    ketchup.genetests.org                                 <
ping xxx.xxx.xxx.254                                          | ping
192.168.6.254

Diffs from my haresources and the UM version:
ketchup.genetests.org \                                       |
b1.lab.ultramonkey.org \
         IPaddr2::xxx.xxx.xxx.42/24/eth0 \                     |
IPaddr2::192.168.6.240/24/eth0 \
         MailTo::[email protected]::Firewall             <

Diffs from the installed ldirectord.cf and the UM example:
checktimeout=3                                                |
checktimeout=10
checkinterval=1                                               |
checkinterval=2
autoreload=yes                                                |
autoreload=no
logfile="/var/log/ldirectord.log"                             |
#logfile="/var/log/ldirectord.log"
logfile="local0"
logfile="local0"

virtual=xxx.xxx.xxx.42:80                                     |
virtual=192.168.6.240:80
         real=192.168.7.10:80 masq                             |
fallback=127.0.0.1:80
         real=192.168.7.11:80 masq                             |
real=192.168.7.4:80 masq
         httpmethod=HEAD                                       |
real=192.168.7.5:80 masq
         virtualhost=target.host                      <
#       receive="Test Page"                                   |
receive="Test Page"

virtual=xxx.xxx.xxx.42:443                                    |
virtual=192.168.6.240:443
         real=192.168.7.10:443 masq                            |
fallback=127.0.0.1:443
         real=192.168.7.11:443 masq                            |
real=192.168.7.4:443 masq
#       fallback=127.0.0.1:443                                |
real=192.168.7.5:443 masq
         service=https                                         |
service=https
         virtualhost=target.host                      |
request="index.html"
         httpmethod=HEAD                                       |
receive="Test Page"
         request="index.html"                                  |
scheduler=rr
#       #receive="Test Page"                                  |
#persistent=600
         scheduler=rr                                          |
protocol=tcp
#       #persistent=600                                       |
checktype=negotiate
#       #netmask=255.255.255.255                              |
         protocol=tcp                                          <

virtual=xxx.xxx.xxx.42:3306                                   | #virtual
= 192.168.6.240:3306
         real=192.168.7.11:3306 masq                           | #
real=192.168.7.4:3306 masq
         real=192.168.7.10:3306 masq                           | #
real=192.168.7.5:3306 masq
         login = "root"                                        | #
fallback=127.0.0.1:3306 masq
         passwd = " "                                          | #
checktype = negotiate
         database = "test"                                     | #
login = "readuser"
         request = "SELECT version()"                          | #
passwd = "genericpassword"
         service=mysql                                         | #
database = "portal"
         checkport=3306                                        | #
request = "SELECT * FROM link"
         checktype=negotiate                                   | #
scheduler = wrr
         scheduler=rr                                          <

Finally my iptables reads simply:

[root@beast ~]# iptables-save
# Generated by iptables-save v1.2.11 on Tue Aug  1 20:26:04 2006
*nat
:PREROUTING ACCEPT [8501:1287827]
:POSTROUTING ACCEPT [14425:1205905]
:OUTPUT ACCEPT [16150:1332054]
-A POSTROUTING -s 192.168.7.0/255.255.255.0 -j MASQUERADE
COMMIT
# Completed on Tue Aug  1 20:26:04 2006
# Generated by iptables-save v1.2.11 on Tue Aug  1 20:26:04 2006
*mangle
:PREROUTING ACCEPT [103323:16708286]
:INPUT ACCEPT [103323:16708286]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [102462:10834414]
:POSTROUTING ACCEPT [107502:11747676]
COMMIT
# Completed on Tue Aug  1 20:26:04 2006
# Generated by iptables-save v1.2.11 on Tue Aug  1 20:26:04 2006
*filter
:INPUT ACCEPT [40154:6411031]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [102462:10834414]
COMMIT
# Completed on Tue Aug  1 20:26:04 2006

tcpdump -i eth0 port 80 shows
20:27:57.643623 IP xxx.xxx.xxx.xxx.35361 > target.host.http: S
317305050:317305050(0) win 5840 <mss 1460,sackOK,timestamp 88242876
0,nop,wscale 6>
but obviously nothing is coming back from eth1.

Conversely tcpdump -i eth1 port 80 shows all kinds of traffic passing
back and forth from the active director and the real servers.  I can
telnet the various ports from the directors back to the real servers
with no problems.

ip addr sh looks nearly identical to the example on UM.

[root@beast ~]# ip addr sh
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
     inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
     link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
     inet xxx.xxx.xxx.1/24 brd xxx.xxx.xxx.255 scope global eth0
     inet xxx.xxx.xxx.42/24 brd xxx.xxx.xxx.255 scope global secondary eth0
     inet6 fe80::202:b3ff:fe19:ed1c/64 scope link
        valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
     link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
     inet 192.168.7.1/24 brd 192.168.7.255 scope global eth1
     inet 192.168.7.240/24 brd 192.168.7.255 scope global secondary eth1
     inet6 fe80::202:b3ff:fe19:ed1d/64 scope link
        valid_lft forever preferred_lft forever
4: sit0: <NOARP> mtu 1480 qdisc noop
     link/sit 0.0.0.0 brd 0.0.0.0

ip route shows the correct upstream gateway, as does route -n.

[root@beast ~]# ip route
192.168.7.0/24 dev eth1  proto kernel  scope link  src 192.168.7.1
xxx.xxx.xxx.0/24 dev eth0  proto kernel  scope link  src xxx.xxx.xxx.1
169.254.0.0/16 dev eth1  scope link
default via xxx.xxx.xxx.100 dev eth0

Any ideas?  Are there any other config files that would be helpful to
diagnose this?

-- 
Brad Willson, Sr. Computer Specialist
UW GeneTests, UW Box: 358735
EM: [email protected]
W: 206.221.4674, C: 425.891.2732
http://www.genetests.org


-- 
Ultra Monkey - http://www.ultramonkey.org/
To UNSUBSCRIBE, email to [email protected], with a body:
unsubscribe ultramonkey-users [email protected]
where "[email protected]" is YOUR email address.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.