QOS of Site-to-Site VPN Tunnels

Thanks for your help.

We have a backup application running from one site to another.   Both sides are connected via ASG 110 and ASG 120 IPSec site-to-site (s2s) VPN.   We have QOS running successfully for our normal traffic (i.e. http to web, smtp to web, etc.).  However, I am having difficulty applying QOS rules to the s2s VPN.   I am not sure how to structure them.  I have read that QOS is applied to outbound traffic, but apparently the traffic is encrypted prior to hitting the QOS.  How exactly should I go about configuring the box to apply QOS to all s2s traffic?   How would I do it for specific (i.e. Http) traffic inside the s2s tunnel.   Is there something I am missing?

Any help is appreciated!

Thanks.
  • I too am having problems with this, VOIP calls fall apart.  Hope someone has an answer.
  • Hello rmanyc and jamiebah, and welcome to the Astaro User BB!

    You only can apply QoS rules to traffic leaving an interface, and you cannot apply QoS to traffic inside a VPN tunnel as it all looks like IPsec traffic.  The following links to a thread discussing QoS and VPNs: https://community.sophos.com/products/unified-threat-management/astaroorg/f/54/t/39516

    If you know what's eating up the bandwidth, you might be able to throttle it leaving the internal interface on the receiving end.

    Cheers - Bob
  • Bob is right, you can only create QoS Rules for the tunnel itself, but not for trsaffic INSIDE the tunnel.
    To guarantee a specific bandwithd for the tunnel itself, youse the tsaffic selctor
    source=external interface of local ASG
    service=any
    destination=external interface of remote ASG (tunnel endpoint)

    then the selctor matches all traffic between the two ASGs, which is indeed the IPSec traffic (and nothing else)
  • In reply to Ölm:

    Hello guys,

    I have read this thread through and many others, and I still don't have a clear answer on how to configure a QoS for VoIP over a site-to-site IPSec VPN connection.
    We have phone system and two locations. There are two Astaros used to connect two sites via IPSec VPN. VPN is used for both voice and data communication. The voice quality is poor.
    What can I do?

    Thank you.
  • Hey, Costak, welcome to Astaro andthe user BB!

    I wish there were more to tell you, but ...

    I have read this thread through and many others, and I still don't have a clear answer on how to configure a QoS for VoIP over a site-to-site IPSec VPN connection.

    You only can apply QoS rules to traffic leaving an interface, and you cannot apply QoS to traffic inside a VPN tunnel as it all looks like IPsec traffic. The following links to a thread discussing QoS and VPNs: https://community.sophos.com/products/unified-threat-management/astaroorg/f/54/t/39516


    We have phone system and two locations. There are two Astaros used to connect two sites via IPSec VPN. VPN is used for both voice and data communication. The voice quality is poor.
    What can I do?

    If you know what's eating up the bandwidth, you might be able to throttle it leaving the internal interface on the receiving end.


    Then again, if you were to create a separate tunnel with SSL for the VoIP traffic, you could guarantee bandwidth for HTTP traffic between the two sites.  Of cousrse, the VoIP devices must be on subnets that don't overlap with the data subnets.

    Cheers - Bob
  • In reply to BAlfson:

    Thanks Bob.
    My phone equipment is still on main subnet at each location (it would be a pain to isolate them, but if necessary I can do that). In regards to IPSec traffic, I would give it secondary priority.
    Now, I created a new site-to-site SSL VPN. How can I ensure the voice traffic goes across SSL pipe, not the IPSec one?
  • Because you need to make sure the SSL tunnel doesn't create duplicatee copies of IPs on both sides, you really need to change the VoIP traffic to specific subnets.  I think that would be a lot less work and a lot clearer than creating lots of hosts, network groups and SNAT rules - ugly!

    Assume these subnets are named "VoIP1" and "VoIP2" and are created in both Astaros.  Assume also that the non-VoIP devices are in subnets "Data1" and "Data2" and also are in both Astaros.

    SSL

    Astaro-1: Local network = VoIP1 and Remote Network = VoIP2



    IPsec

    Astaro-1: Local network = Data1 and Remote Network = Data2


    Astaro-2: Local network = Data2 and Remote Network = Data1



    QoS then is done with a traffic selector.  You would create a guaranteed Bandwidth Pool on the External interface of each Astaro.  On Astaro-1, your traffic selector would be 'Any -> HTTPS -> {public IP of Astaro-2}'.  On Astaro-2, your traffic selector would be 'Any -> HTTPS -> {public IP of Astaro-1}'.

    If there already is HTTPS traffic between the two sites, then you might want to put the VoIP traffic through the IPsec tunnel and prefer IPsec traffic instead of HTTPS traffic.

    Cheers - Bob
  • Thanks Bob. Looks nice and clean.
    Question. Why instead of
    "Any -> HTTPS -> {public IP of Astaro-2}"
    use
    "VoIP1 -> HTTPS -> {public IP of Astaro-2}"
    Would this eliminate the concurrence between Data1 and VoIP1? Or there is no concurrence?
  • Actually, because this is traffic between the public IPs, you could use "External (Address)" instead of "Any" in the traffic selector.  Remember that the "real" content of the packets are now encapsulated in IPsec messages between the two Astaros.

    Cheers - Bob
  • While doing this testing, I have faced with another problem which might be a subject for a separate thread (?).
    Originally, I mentioned, our sites were connected via IPSec VPN. Then, I created another VPN of SSL type just to see if I am still going to have s2s connection. Here are the settings:

    IPSec VPN:
    {Site1.LocalNetwork}={Site1.PublicIP}  {Site2.PublicIP}={Site2.LocalNetwork} established

    SSL VPN:
    {Site1.LocalNetwork}={Site1.PublicIP}:443  {Site2.PublicIP}:43598={Site2.LocalNetwork} established

    Both connections' statuses are established, but when I disable the IPSec by clicking the traffic light icon, I have no s2s connection from my computer located at Site1, which I assume supposed to be on via SSL VPN. I can't ping any host on Site2.
    What am I doing wrong?
  • I suspect the routing tables are confused because you have two VPNs established for the same networks.  You need somethiing like:

    IPSec VPN:
    {Site1.LocalNetwork.subnetA}={Site1.PublicIP}  {Site2.PublicIP}={Site2.LocalNetwork.subnetC}

    SSL VPN:
    {Site1.LocalNetwork.subnetB}={Site1.PublicIP}:443  {Site2.PublicIP}:43598={Site2.LocalNetwork.subnetD}

    Cheers - Bob
    PS What is the reason for using 43598 on one end?  How do you make that work?
  • 43598 was created by the system, I did not assign it, I just copied the information available on the "Site-to-Site VPN" page in WebAdmin.
    Thank you Bob, I will continue testing.
  • Hi Bob,
    Unfortunately, the problem is still there even after I subnetted my phone equipment. I am sure, the firewall is capable to do QoS properly, there is something wrong with my configuration.
    Here it my s2s VPN:
    IPSec VPN:
    {Site1.dataSubnetA}={Site1.PublicIP}  {Site2.PublicIP}={Site2.dataSubnetB}

    SSL VPN:
    {Site1.voipSubnetC}={Site1.PublicIP}  {Site2.PublicIP}={Site2.voipSubnetD}

    I have also attached the screen shots for the QoS configuration.
    Temporary, I have disabled all traffic-consuming services to let voice go through. Please help as soon as you can. Thanks!
  • In your traffic selectors, try "Any" instead of "External (WAN) Address".

    Does that work?

    Also, have you tried momentarily disabling the IPsec VPN to prove that VoIP traffic all goes through the SSL VPN?

    Cheers - Bob
  • "Any" or "External" make no difference (just tried)
    When I did the change, I tested, the phone traffic uses SSL line, and data uses IPSec.
    There is no SSL traffic other than VoIP right now, and voice is still scrambled when data traffic is high.