Guest User!

You are not Sophos Staff.

[CONFIRMED] [7.385] Multipath rules issue

Hi,

we have try the new features "MULTIPATH RULES & UPLINK BALANCING....." on a ASG appliance 220 with OS v 7.380 for testing.

We are using two different adsl lines, first bound on eth1 and second on eth2. (eth0 is for internal network)

The configuration we used in our case is as follows :

A) Uplink Balancing : 

Type: Multipath
Interfaces: eth1 (first)
                eth2 (second)
Automatic monitoring: ON

--------------------------------------------------------------

B) Multipath rules :

1- Internal Network --> Any --> Any --> ADSL1 (eth1, itf.persistence by interface) 

2- Internal Network --> Http --> Any --> ADSL2 (eth2, itf.persistence by interface)

--------------------------------------------------------------

First only rule 1 is active and we see that correctly traffic comes through ADSL1 interface.

After that we have activated the second rule and also correctly we see that now traffic went out via ADSL2 interface.

Then we deactivated second rule.
Now we aspect that traffic go out through ADSL1 again but strangely it still leave via ADSL2!!
We disabled both rules but it persists to go out through ADSL2!

Can some one help us?

many thanx
Parents
  • Hi there, 

    the magic is that if traffic came in through adsl2, it also will go out adsl2 automagically, even without a multipath rule.

    The multipath rule only affects outbound traffic coming from the firewall or the internal network. 

    i hope that explains it. 

    regards
    Gert
  • Thanks Gert, we know this.

    We also know that, if ADSL1 interface go down, automagically (as you say) traffic switch to ADSL2 and this sound good...

    But we want to get something like this :

    all http traffic from internal network must go out through ADSL1 and

    everything else traffic (FTP,SMTP,VOICE,POP,ecc.) to ADSL2.

    Is this possible with Multipath rules or not?

    We also want to decide when http traffic must exit via ADSL1 or not.
    Is this possible enabling/disabling an appropriate multipath rule?

    Do you have any advice for us?

    thx
  • With 1st rule active I have this /proc/net/multipath :

    [00] proto 6 src 192.168.0.0-192.168.0.255 port 0-65535 dst 0.0.0.0-0.0.0.0 port 8080-8080 :: static 2
    [01] proto 6 src 192.168.0.0-192.168.0.255 port 0-65535 dst 0.0.0.0-0.0.0.0 port 80-80 :: static 2
    [02] proto 6 src 192.168.0.0-192.168.0.255 port 0-65535 dst 0.0.0.0-0.0.0.0 port 3128-3128 :: static 2
    [03] proto 6 src 192.168.0.0-192.168.0.255 port 0-65535 dst 0.0.0.0-0.0.0.0 port 443-443 :: static 2
    [04] proto 0 src 192.168.0.0-192.168.0.255 port 0-0 dst 0.0.0.0-0.0.0.0 port 0-0 :: static 1

    and http traffic goes over ADSL2

    Without 1st rule active I have :

    [00] proto 0 src 192.168.0.0-192.168.0.255 port 0-0 dst 0.0.0.0-0.0.0.0 port 0-0 :: static 1


    but if I go for example to What Is My IP Address? - IP Address Lookup, Internet Speed Test, IP Info, plus more, I see again the ip address of my ADSL2 !
  • You can enable debugging of multipath rules with the following command:
    "echo debug > /proc/net/multipath"

    or disable it again with:
    "echo nodebug > /proc/net/multipath"

    All debug messages go to /var/log/kernel.log. Can you see that the rule is matching and the source IP address is correct?
  • Other mysterious things are :

    If UPLINK is enabled in failover mode on dashboard I see that eth2 is in state "STANDBY" and link is in "ERROR".

    Also if UPLINK is enabled, but in multipath mode, on dashboard I see that eth2 link is in "ERROR" again and state in "UP" this time.

    Nevertheless, I can ping successfully from firewall my router attached to eth2 and I can also ping via eth2 outside (ping -I eth2 some.thing.outside) in both case. This means that link is "UP".
    So why asg dashboard tell me that it is in ERROR??

    Could this affects the multipath rules functionality?

    Only if I disable UPLINK feature on dashboard I can see eth2 link "UP" ....

    see attachments...

    [:S]
  • ok 
    Debugging multipath I got a lot of useful infos

    this is a part of kernel.log 

    2009:01:20-11:42:06 BETA kernel: [ASG MultiPath] [2] 192.168.0.30:0 -> 217.199.191.101:80 proto 6
    2009:01:20-11:42:06 BETA kernel: [ASG MultiPath] We got a winner! Rule 1

    this is ok. If traffic is HTTP, rule 1 is matched so traffic goes over ADSL1

    but then I find this :

    2009:01:20-11:53:58 BETA kernel: [ASG MultiPath] [2] 192.168.0.30:0 -> X.X.X.X:21 proto 6
    2009:01:20-11:53:58 BETA kernel: [ASG MultiPath] We got a winner! Rule 4
    2009:01:20-11:53:58 BETA kernel: [ASG MultiPath] Rule 4 skipped due negative interface status!
    2009:01:20-11:53:58 BETA kernel: [ASG MultiPath] [2] 192.168.0.30:0 -> X.X.X.X:21 proto 6
    2009:01:20-11:53:58 BETA kernel: [ASG MultiPath] We got a winner! Rule 4
    2009:01:20-11:53:58 BETA kernel: [ASG MultiPath] Rule 4 skipped due negative interface status!

    I try to make a ftp session with an our external ftp server.
    The rule 4 is matched but SKIPPED DUE NEGATIVE INTERFACE STATUS!

    Infact my eth2 LINK on dashboard is shown as in ERROR...! [:O]
  • Seems the interface is marked as unusable, means there is an connectivity error.
    Whats in the service_monitor log?

    Can you post the output of the command "/var/mdw/scripts/service_monitor status"
  • Hi,

    this is the output

    BETA:/root # /var/mdw/scripts/service_monitor status
    Checking for service ASG Load Balancing Service Monitor               running
    ALIVE:
    [multipath 0] TRACEROUTE 192.168.2.29 since Wed Jan 21 09:03:45 2009

    DEAD:
  • Ok this has allowed me to understand the reason for the problem ...
    In Uplink balancing page, I have set "Automatic monitoring". In this way ASG is able to autoconfigure a host to ping on the Internet for ADSL1 but it isn't able for ADSL2.
    So in dashboard I see link "ERROR" for ADSL2.

    If this can help, this is the result of a traceroute from both ADSL lines :

    ADSL1 :
    traceroute to 192.58.128.30 (192.58.128.30), 30 hops max, 40 byte packets
     1  10.4.17.49 (10.4.17.49)  0.322 ms   1.060 ms   0.610 ms
     2  10.4.16.1 (10.4.16.1)  0.525 ms   1.591 ms   0.506 ms
     3  192.168.2.17 (192.168.2.17)  1.105 ms   0.550 ms   1.204 ms
     4  192.168.0.105 (192.168.0.105)  1.164 ms   2.204 ms   1.752 ms
     5  192.168.255.232 (192.168.255.232)  1.664 ms   2.604 ms   2.015 ms
     6  x.y.z.w (A.B.C.D)  34.335 ms   32.906 ms   33.198 ms
     7  r.s.t.u (E.F.G.H)  43.636 ms   48.162 ms   45.743 ms
     ...........


    ADSL2 :
    traceroute to 192.58.128.30 (192.58.128.30), 30 hops max, 40 byte packets
     1  192.168.1.254 (192.168.1.254)  41.614 ms   40.970 ms   36.432 ms
     2  * * *
     3  f.g.h.i (A.B.C.D)  42.351 ms   42.235 ms   41.788 ms
     4  l.m.n.o (E.F.G.H)  48.313 ms   47.073 ms   49.436 ms
     ..................


    For ADSL2 the 2nd HOP is not "unreacheable"..... Can this cause the problem? [H]

    -thx-
  • Mhm thats strange. No this should not be a problem,
    service_monitor uses the third pingable hop.

    Whats in /etc/service_monitor.conf ?

    Can you restart the service montor with "/var/mdw/scripts/service_monitor restart",
    wait some minutes and mail me the log file /var/log/service_monitor.log afterwards
    to uweber@astaro.com ?
  • ok

    for now this is the /etc/service_monitor.conf 

    [config]
      branding=yes
      tcp_timeout=5
      udp_timeout=5
      icmp_timeout=5


    [multipath 0]
      #REF_PuPwOVFGAZ
      service auto://traceroute:
      interval 15
      bind 10.4.17.54

      action confd_link REF_PuPwOVFGAZ
      action proc multipath 0


    [multipath 1]
      #REF_iqCxsdOuty
      service auto://traceroute:
      interval 15
      bind 192.168.1.66

      action confd_link REF_iqCxsdOuty
      action proc multipath 1


    As soon you will receive also the service_monitor.log on your mail address uweber@astaro.com

    thx
  • Problem occured due activated IPS on ADSL Modem.

    Changed code of traceroute to send RFC conform ping packets.
    Will be fixed in final 7.400 version.

    Thanks for finding this bug!
Reply Children
No Data