OVH Community, your new community space.

failover problems after I switched them


gregoryfenton
20-09-2012, 16:40
Ahh that is what triggers the arp email, I had one of those during the "wtf is going on" stage of fixing things.

I will check my settings now to see if I have ff.ff.ff.ff.

edit: yup, all set to ffffffff

marks
20-09-2012, 15:07
that was a quick conversation. not time to jump in! :-)

Glad that you sorted the problem.

Also, reminder that the netmask of the IP failovers must always be 255.255.255.255
Otherwise, you'll get the arp who-has email about packets sent to the network and your IP could be blocked.

gregoryfenton
20-09-2012, 12:11
After waiting for the enforced timeout between making each change to the virtual mac page I am pleased to announce that the server is happily serving.

Thanks everybody for your help, it is very much appreciated.

gregoryfenton
20-09-2012, 11:57
Gaaah.

Yay for the virtual mac feature. I had left the other 2 IP addresses set as virtual macs.

Maybe a warning could be in order when you switch the failover to another server?

"Hey, you know that the failover ip w.x.y.z is pointing at a virtual mac, right?" kind of thing.

Hopefully this is the end of it. Let's see.

gregoryfenton
20-09-2012, 11:53
My new /etc/network/interfaces is as follows:
PHP Code:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
iface lo inet loopback
auto lo eth0 eth0
:0 eth0:1 eth0:2

iface eth0 inet 
static
        
address 176.31.254.88
        netmask 255.255.255.0
        network 176.31.254.0
        broadcast 176.31.254.255
        gateway 176.31.254.254
        post
-up /sbin/ifconfig eth0:0 94.23.158.88 netmask 255.255.255.255 broadcast 94.23.158.88
        post
-down /sbin/ifconfig eth0:0 down
        post
-up /sbin/ifconfig eth0:1 94.23.158.215 netmask 255.255.255.255 broadcast 94.23.158.215
        post
-down /sbin/ifconfig eth0:1 down
        post
-up /sbin/ifconfig eth0:2 94.23.158.94 netmask 255.255.255.255 broadcast 94.23.158.94
        post
-down /sbin/ifconfig eth0:2 down

iface eth0 inet6 
static
        
pre-up /sbin/modprobe -q ipv6 ; /bin/true
        address 2001
:41d0:8:f58::1
        netmask 64
        up ifconfig eth0 inet6 add 2001
:41d0:8:f58::2/64

###############

iface eth0:0 inet static
        
address 94.23.158.88
        netmask 255.255.255.0
        broadcast 94.23.158.255
        network 94.23.158.0
        
#gateway 94.23.158.254


iface eth0:1 inet static
        
address 94.23.158.215
        netmask 255.255.255.0
        broadcast 94.23.158.255
        network 94.23.158.0
        
#gateway 94.23.158.254

iface eth0:2 inet static
        
address 94.23.158.94
        netmask 255.255.255.0
        broadcast 94.23.158.255
        network 94.23.158.0
        
#gateway 94.23.158.254

############### 
I can ping my main IP and get a pong.
I can ping eth0:0 (94.23.158.88) and get a pong.
If I ping eth0:1 (94.23.158.215) or eth0:2 (94.23.158.94) I get no reply.

Running
PHP Code:
tcpdump -ni eth0 icmp 
and pinging each IP in turn I can see the following:
Code:
tcpdump -ni eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:23:12.391238 IP 94.172.41.234 > 94.23.158.94: ICMP echo request, id 6652, seq 1, length 64
11:23:13.397351 IP 94.172.41.234 > 94.23.158.94: ICMP echo request, id 6652, seq 2, length 64
11:23:14.403917 IP 94.172.41.234 > 94.23.158.94: ICMP echo request, id 6652, seq 3, length 64
11:23:15.413638 IP 94.172.41.234 > 94.23.158.94: ICMP echo request, id 6652, seq 4, length 64
11:23:17.524686 IP 94.172.41.234 > 94.23.158.88: ICMP echo request, id 6653, seq 1, length 64
11:23:17.524719 IP 94.23.158.88 > 94.172.41.234: ICMP echo reply, id 6653, seq 1, length 64
11:23:18.524768 IP 94.172.41.234 > 94.23.158.88: ICMP echo request, id 6653, seq 2, length 64
11:23:18.524804 IP 94.23.158.88 > 94.172.41.234: ICMP echo reply, id 6653, seq 2, length 64
11:23:19.526924 IP 94.172.41.234 > 94.23.158.88: ICMP echo request, id 6653, seq 3, length 64
11:23:19.526956 IP 94.23.158.88 > 94.172.41.234: ICMP echo reply, id 6653, seq 3, length 64
11:23:23.528926 IP 94.172.41.234 > 94.23.158.215: ICMP echo request, id 6654, seq 1, length 64
11:23:24.527076 IP 94.172.41.234 > 94.23.158.215: ICMP echo request, id 6654, seq 2, length 64
11:23:25.527213 IP 94.172.41.234 > 94.23.158.215: ICMP echo request, id 6654, seq 3, length 64
11:23:26.527370 IP 94.172.41.234 > 94.23.158.215: ICMP echo request, id 6654, seq 4, length 64
^C
14 packets captured
14 packets received by filter
0 packets dropped by kernel
As you can see the only IP that gives a reply is 94.23.158.88, the other two receive the ICMP echo request but ignore it.

I cannot understand why one failover IP works yet the other two which are identical in everything except for the last part of the IP address. I have even moved the .88 ip to a different eth0:n and restarted, I still only get a reply from .88.

I am stumped.

gregoryfenton
18-09-2012, 22:42
not working, let me look at it tomorrow.

Neil
18-09-2012, 16:33
Hi

If it is an IP Alias then you should only add the following:

Address IP.OF.FAIL.OVER
Netmask 255.255.255.255
Broadcast IP.OF.FAIL.OVER

If you have done this and it does not work then please open a ticket.

gregoryfenton
17-09-2012, 21:04
I changed that in an early testing stage.

I have set it back to x.x.x.255 with no luck.
I have also added the default gw stuff too, still no joy.

Myatu
17-09-2012, 20:41
Quote Originally Posted by Myatu
In the new eth0:x, you specify the broadcast as the ip address:

Code:
inet 94.23.158.215/24 brd 94.23.158.215
This can only be if the netmask is the 255.255.255.255.

Myatu
17-09-2012, 20:39
In the new eth0:x, you specify the broadcast as the ip address:

Code:
inet 94.23.158.215/24 brd 94.23.158.215

gregoryfenton
17-09-2012, 19:25
I should have made clear - the eth0 itself works fine and is running.

DigitalDaz
17-09-2012, 19:24
At the end of the eth0:2 stanza try:

post-up route add 176.31.254.254 dev eth0
post-up route add default gw 176.31.254.254 dev eth0

That should do you for the eth0:2.

gregoryfenton
17-09-2012, 19:20
I tried that one

K.Kode
17-09-2012, 19:17
Try the Debian 6 method listed here: http://help.ovh.co.uk/IpAlias#link8

gregoryfenton
17-09-2012, 17:49
Hi all

I have 2 servers, let's call them old and new. They both run ubuntu 12.04 64 bit.

old had 3 failovers pointed at it and was working fine - you could ping the ips, and connect to them.

In the ovh manager I have pointed my failovers to new in preparation of dropping old.

I have copied most of my /etc/network/interfaces from old to new (the parts dealing with the failover IPs - eth0:0, eth0:1, eth0:2).

What worked perfectly on old does not work on new and I am stumped.

old /etc/network/interfaces:
PHP Code:
iface lo inet loopback
auto lo eth0

iface eth0 inet 
static
        
address 91.121.5.142
        netmask 255.255.255.0
        broadcast 91.121.5.255
        network 91.121.5.0
        gateway 91.121.5.254

iface eth0 inet6 
static
        
pre-up /sbin/modprobe -q ipv6 ; /bin/true
        address 2001
:41D0:1:588E::1
        netmask 64
        up ifconfig eth0 inet6 add 2001
:41D0:1:588E::2/64

#iface eth0:0 inet static
#       address 94.23.158.88
#       netmask 255.255.255.0
#       broadcast 94.23.158.255
#       network 94.23.158.0
#       #gateway 94.23.158.254


#iface eth0:1 inet static
#       address 94.23.158.215
#       netmask 255.255.255.0
#       broadcast 94.23.158.255
#       network 94.23.158.0
#       #gateway 94.23.158.254

#iface eth0:2 inet static
#       address 94.23.158.94
#       netmask 255.255.255.0
#       broadcast 94.23.158.255
#       network 94.23.158.0
#       #gateway 94.23.158.254 
new /etc/network/interfaces:
PHP Code:
iface lo inet loopback
auto lo eth0 eth0
:0 eth0:1 eth0:2

iface eth0 inet 
static
        
address 176.31.254.88
        netmask 255.255.255.0
        network 176.31.254.0
        broadcast 176.31.254.255
        gateway 176.31.254.254

iface eth0 inet6 
static
        
pre-up /sbin/modprobe -q ipv6 ; /bin/true
        address 2001
:41d0:8:f58::1
        netmask 64
        up ifconfig eth0 inet6 add 2001
:41d0:8:f58::2/64

iface eth0
:0 inet static
        
address 94.23.158.215
        netmask 255.255.255.0
        broadcast 94.23.158.215
        network 94.23.158.0
        
#gateway 94.23.158.254
        #gateway 176.31.254.254

iface eth0:1 inet static
        
address 94.23.158.94
        netmask 255.255.255.0
        broadcast 94.23.158.94
        network 94.23.158.0
        
#gateway 94.23.158.254
        #gateway 176.31.254.254

iface eth0:2 inet static
        
address 94.23.158.88
        netmask 255.255.255.0
        broadcast 94.23.158.88
        network 94.23.158.0
        
#gateway 94.23.158.254
        #gateway 176.31.254.254 
Output from `ip a s`:
PHP Code:
ip a s
1
lo: <LOOPBACK,UP,LOWER_UPmtu 16436 qdisc noqueue state UNKNOWN 
    link
/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1
/8 scope host lo
    inet6 
::1/128 scope host 
       valid_lft forever preferred_lft forever
2
eth0: <BROADCAST,MULTICAST,UP,LOWER_UPmtu 1500 qdisc pfifo_fast state UP qlen 1000
    link
/ether 38:60:77:21:d1:aa brd ff:ff:ff:ff:ff:ff
    inet 176.31.254.88
/24 brd 176.31.254.255 scope global eth0
    inet 94.23.158.215
/24 brd 94.23.158.215 scope global eth0:0
    inet 94.23.158.94
/24 brd 94.23.158.94 scope global secondary eth0:1
    inet 94.23.158.88
/24 brd 94.23.158.88 scope global secondary eth0:2
    inet6 2001
:41d0:8:f58::2/64 scope global 
       
valid_lft forever preferred_lft forever
    inet6 2001
:41d0:8:f58::1/64 scope global 
       
valid_lft forever preferred_lft forever
    inet6 fe80
::3a60:77ff:fe21:d1aa/64 scope link 
       valid_lft forever preferred_lft forever 
I have tried changing the gateway to the failover.255, the failover, the server ip.

I just can't understand why it doesn't work when all I did was copy/paste and change the failover to point to the new server.

All help gratefully received