When Application-level Gateway receives a connection request from a client, it tries to select a rule matching the parameters of the connection. The following parameters are considered.
Name in MC | Name in policy.py |
---|---|
VPN | reqid |
Source Interface | src_iface |
Source Interface Group | src_ifgroup |
Protocol | proto |
Source Port | src_port |
Destination Port | dst_port |
Source Subnet | src_subnet |
Source Zone | src_zone |
Destination Subnet | dst_subnet |
Destination Interface | dst_iface |
Destination Interface Group | dst_ifgroup |
Destination Zone | dst_zone |
Table 6.1. Evaluated Rule parameters
Application-level Gateway selects the rule that most specifically matches the connection. Selecting the most specific rule is based on the following method.
The order of the rules is not important.
The parameters of the connection act as filters: if you do not set any parameters, the rule will match any connection.
If multiple connections would match a connection, the rule with the most-specific match is selected.
For example, you have configured two rules: the first has the
Source Zone
parameter set as theoffice
(which is a zone covering all of your client IP addresses), the second has theSource Subnet
parameter set as192.168.15.15/32
. The other parameters of the rules are the same. If a connection request arrives from the192.168.15.15/32
address, Application-level Gateway will select the second rule. The first rule will match every other client request.Application-level Gateway considers the parameters of a connection in groups. The first group is the least-specific, the last one is the most-specific. The parameter groups are listed below.
The parameter groups are linked with a logical AND operator: if parameters of multiple groups are set in a rule, the connection request must match a parameter of every group. For example, if both the
Source Interface
andDestination Port
is set, the connection must match both parameters.Parameters within the same group are linked with a logical OR operator: if multiple parameters of a group are set for a rule, the connection must match any one of the parameters. If there are multiple similar rules, the rule with the most-specific parameter match for the connection will be selected.
Note In general, avoid using multiple parameters of the same group in one rule, as it may lead to undesired side-effects. Use only the most-specific parameter matching your requirements.
For example, suppose that you have a rule with the
Destination Zone
parameter set, and you want to create a similar rule for a specific subnet of this zone. In this case, create a new rule with theDestination Subnet
parameter set, do not set theDestination Zone
parameter in both rules. Setting theDestination Zone
parameter in both rules and setting theDestination Subnet
parameter in the second rule would work for connections targeting the specified subnet, but it would cause Application-level Gateway to reject the connections that target other subnets of the specified destination zone, because both rules would match for the connection.The parameter groups are the following from least-specific to most-specific. Parameters within each group are listed from left-to-right from least-specific to most-specific.
Destination Zone
>Destination Interface Group
>Destination Interface
>Destination Subnet
Source Zone
>Source Subnet
Destination Port
(Note that port is more specific than port range.)Source Port
(Note that port is more specific than port range.)Protocol
Source Interface Group
>Source Interface
>VPN
If no matching rule is found, Application-level Gateway rejects the connection.
Note It is possible to create rules that are very similar, making debugging difficult.
Published on June 04, 2020
© 2007-2019 BalaSys
Send your comments to support@balasys.hu