This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Application Routing Across Specific WAN Interfaces

I tried to search for this information but I couldn't find exactly what I needed.

I am a home user running 9.1. I have 1 Internal LAN connection and 3 External WAN interfaces (a slow DSL, a capped high speed 4G and an uncapped medium speed 4G).

I want to shape the traffic coming from my Internal network destined for the Internet by forcing specific traffic across specific External interfaces (HTTP/HTTPS via high speed 4G, Streaming Video/Priority Downloads via uncapped 4G, slow non-priority downloads via DSL, etc) 

I know I can use Policy Routing to do this by service type but I do not want to do it by service type. I want to do it by application type. 

For example, instead of creating a Service Definition for all the IPs and ports of all Streaming Video providers (Netflix, AppleTV, Hulu, etc) I want to use the application layer data stored under Application Control. The specific application layer information is already there. I should be able to use it for routing, ideally.

This provides much more flexibility and almost completely removes my need to maintain custom service groups.

Is this possible and I am just missing a setting somewhere or is this feature not supported?

Thanks!


This thread was automatically locked due to age.
  • Hi, the uplink balancing/multipath system should be able to do what you want.
    There are some docs about it on the Sophos knowledgebase.

    Barry
  • Thanks for the response, Barry.

    I looked at I don't see what I need. Uplink Balancing only deals specifically with interfaces while multipath only lists options for source, destination and service.

    I see nothing that allows me to use the application layer as selection criteria...
  • I just mapped out what I wanted to accomplish from a handshake/transmission control perspective and I don't think I can use application control data for multi-path routing.

    Let's say I have HTTP/HTTPS routed via my DSL and streaming data routed via my high speed 4G. If I was using netflix to select a movie, this would be done via HTTP so the netflix server would associate it with the external IP of my DSL. However, when I selected a movie and started to stream it, Netflix would authorize it using my external DSL IP and would expect the connection for the stream for my TV to originate from that IP. However, the UTM would be trying to route that connection via the external 4G connection and Netflix wouldnt recognize that external IP as authorized.

    It seems I am going to have to bundle Netflix IPs (and other streaming media sites) into custom services, hosts and groups for that to work.

    Application control will probably have to remain allow/block since routing apparently breaks it's functionality.

    Sigh... Thanks =)
  • Hi,

    Sorry, you're right, if it's all HTTP, then you can't designate routes via multipath.

    Unless you're using a specific computer for Netflix; you could force that computer's traffic to a specific uplink with multipath rules.

    Have you considered using uplink balancing + QOS?

    Barry
  • Hi, Doug, and welcome to the User BB!

    Barry, I think your first thought was right.  Doug, you should be able to make a Multipath rule that sends http/s requests to Netflix IPs out through the desired interface.

    Cheers - Bob
  • Hi Bob,

    The problem with that is the Netflix IPs... afaik they're still using AWS and there's no list of all their IPs.

    Barry
  • I've not touched Netflix, but wouldn't a DNS Host definition solve that problem?  Even though the stream might come from a different Netflix IP, wouldn't Netflix send it to the IP that originated the request?

    Cheers - Bob
  • Hi, I suspect when you connect to the site and get the list of movies, it sends you (via a new URL) to another server to stream the actual movie.

    So, I think you'd need DNS definitions for ALL of the URLs.
    And there are a LOT of them; see
    https://community.sophos.com/products/unified-threat-management/astaroorg/f/55/t/46018

    Barry
  • Yes, Barry, but I can't see the error in my logic. The stream will go to the public IP that sent the request, and the place to send requests is an FQDN with multiple A records - perfect for a DNS Group definition. Right?

    Cheers - Bob
  • Hi Bob,

    I believe the client will connect/start streaming from whatever hostname the Netflix 'catalog' server tells it to.

    Based on the list in the first post at https://community.sophos.com/products/unified-threat-management/astaroorg/f/55/t/46018 ,

    my understanding is that there's a near infinite number of possibilities for hostnames (look at the regexes in that post).

    Theoretical example (I don't have a Netflix account anymore so I can't actually test this):

    1. User goes to www.netflix.com in browser (this is easy to set a DNS definition for).
    2. User browses the movie list, and clicks on a movie and hits Play.
    3. The html on www.netflix.com contains a link (href or iframe or whatever, for the Play button) to a Silverlight (or Flash or HTML5 or whatever) file or stream on one of the servers in the list linked above (or potentially to a new server not in that list).

    Since regexes and wildcards can't be used in DNS definitions, I don't see a solution.
    Right?

    As I said, I don't have a Netflix account, but I can tell you the servers/sites I've worked on personally often use a different set of servers (or even a CDN) for media (images and/or streaming video), and link to them from the web servers. As the system admin, I could have told you all of the server names, but in the case of Netflix, it probably changes frequently, and varies by location.

    Barry