CommuniGate Pro is a network server, and it needs to know the configuration of your network.
Most of the settings are retrieved automatically from your OS setup,
but you may want to change these settings and/or specify additional settings.
This section describes the CommuniGate Pro network settings.
Many CommuniGate Pro components use Network (IP) Address lists.
These lists are specify Client and Blacklisted addresses,
access restrictions for Listeners, etc.
This section describes the Network Address List format.
A Network Address List is specified as multi-line text data.
Each text line should contain one of the following:
one IP address
an address range - two IP addresses separated with the minus (-) symbol: a range includes both IP addresses and all
addresses between them
an address and a numeric mask, separated with the slash (/) symbol.
The mask value should be between 1 and 32 for IPv4 addresses and between 1 and 128 for IPv6 addresses.
It specifies how many higher bits of the specified address are valid. The remaining lower bits of the
address must be zero. The range includes all addresses with the specified higher bits.
The first IP address can be preceded with the exclamation point (!) symbol. In this case
the specified IP address or the address range is excluded from the list composed using the preceding lines.
A comment (separated with the semicolon (;) symbol) the can be placed at the end of a line.
Lines starting with the semicolon symbol, and empty lines are comment lines.
If you use CommuniGate Pro in a corporate environment, most of your users
will connect to the Server from the corporate LAN(s).
Use the WebAdmin Interface to specify your LAN Addresses.
Open the Network pages in the Settings realm, then open the LAN IPs page.
The LAN IP Addresses table initially contains the addresses the CommuniGate Pro
software retrieved from the Server OS configuration. Correct this list to include all
LAN (local networks) the CommuniGate Pro Server needs to serve.
The Network Address Lists section explains the list format.
Usually, you want all E-mail and Real-Time (VoIP/IM) clients connecting from the LAN addresses
to be able to relay E-mails and Signals to any Internet destination. In this case
you may want to include the LAN addresses into the Client IP Addresses list.
The list of LAN IP Addresses is used to support Real-Time (voice, video, etc.) communications,
so the CommuniGate Pro Server knows which addresses are belong to NAT'ed ("local") addresses,
i.e. which addresses cannot be contacted directly from the Internet.
Use the Server LAN IP Address setting to select the Server own IP Address
the Server OS uses to communicate with computers on the LAN.
CommuniGate Pro can let the OS select "ephemeral ports" for outgoing TCP connections,
or it can allocate these ports itself.
The ports used for Media Proxies and
active FTP data connections are always allocated
by the CommuniGate Pro Server itself.
Use the WebAdmin Interface to specify the port allocation parameters.
Open the Network pages in the Settings realm, then open the LAN IPs page.
UDP
This setting specifies the port number range to be used for UDP proxy operations.
If the CommuniGate Pro Server is behind a NAT/Firewall, make sure that all UDP packets received by
the NAT/Firewall for these ports are relayed to the CommuniGate Pro Server.
TCP Ports
This setting specifies the port number range to be used for outgoing TCP connections, including proxy operations.
If the CommuniGate Pro server is behind a NAT/Firewall, make sure that all TCP connections received by the NAT/Firewall for these ports
are relayed to the CommuniGate Pro Server.
Round-Robin Allocation
When this option is selected, UDP and TCP ports are allocated evenly using the entire port range.
When this option is not selected, UDP and TCP ports are allocated using the first (lowest) available port in the port range.
Reusage Delay
An explicitly allocated TCP port can be re-used after a pause, which should not be smaller than the OS TCP TIME_WAIT time period.
Use this setting to specify the re-usage delay.
Use for Media Proxy only
When this option is selected, TCP ports are explicitly allocated for TCP media proxy and FTP data channels only.
When this option is not selected, TCP ports are explicitly allocated for all outoging TCP connections (SMTP, SMPP, RPOLL, etc.)
You can specify a list of trusted Proxy server addresses.
Use the WebAdmin Interface to specify the Trusted Proxy Servers Addresses.
Open the Network pages in the Settings realm, then open the LAN page.
If the Proxy server is included in the list of trusted servers, it must send PROXY protocol headers. For the HTTP protocol, the Proxy server can instead send Forwarded or X-Forwarded-For headers. If the server does not receive these headers, the connection will be closed.
When the server receives a request with PROXY protocol headers or an HTTP request with Forwarded or X-Forwarded-For headers set by the proxy server, it checks whether the IP address of the Proxy server is included in the list of trusted addresses. If the Proxy server is trusted, the server considers the IP address obtained from the PROXY protocol headers or the Forwarded or X-Forwarded-For headers as the client's original address. Otherwise, the IP address from the headers is ignored.
For the administrator interface to function correctly, the HTTP Proxy server must include the port number in the HTTP Host header where the Proxy server accepts connections to the administrator interface. For example: Host: myhost:8010.
In a Cluster environment, both the Server-wide or Cluster-wide Trusted Proxy servers list are checked.
CommuniGate Pro can provide SIP and XIMSS signaling,
and media communications for remote clients located behind NAT devices, implementing the far-end NAT traversal functionality.
your CommuniGate Pro Server is installed behind a NAT/Firewall device;
or
your CommuniGate Pro Server has at least two network interfaces, one connected to the LAN,
and one - to the Internet (WAN).
WAN IPv4 Address
If your CommuniGate Pro Server has several network interfaces, some connecting it to the LAN,
and some - to the WAN (Internet), use this setting to specify the IP address the Server OS uses
by default when connecting to remote hosts over the Internet:
If your CommuniGate Pro Server is installed on a LAN behind a NAT/Firewall, the NAT/Firewall device
should be configured to relay all connections on its communication (POP, SMTP, SIP, XMPP, etc.) ports to the
CommuniGate Pro Server LAN address. Use this setting to specify the IP address your NAT/Firewall "relays"
to CommuniGate Pro.
For example, if your CommuniGate Pro Server has the 10.0.1.12 IP address on your LAN,
and the NAT/Firewall relays all incoming connections coming to the 77.77.77.77 IP address to the 10.0.1.12
address, specify the 77.77.77.77 IP address in this setting:
WAN IPv6 Address
If your CommuniGate Pro Server is connected to the IPv6 network, specify the Server IP address
the Server OS uses by default to connect to remote hosts over the IPv6 Internet.
Use the WebAdmin Interface to configure the Resolver settings.
Open the Network pages in the Settings realm, and follow the DNS Resolver link.
Log Level
Use this setting to specify what kind of information the Domain Name Resolver
should put in the Server Log. Usually you should use the Major
or Problems levels. In the later case you will see the information about all failed
DNS lookups. If you use the RBL services, you may see a lot of failed lookups in the Log.
When you experience problems with the Domain Name Resolver, you may want
to set the Log Level setting to Low-Level or All Info:
in this case protocol-level or link-level details will be recorded in the
System Log as well.
The Resolver records in the System Log are marked with the DNR tag.
Concurrent Requests
This setting limits the number of concurrent requests the Resolver can send to Domain Name
Servers. On a heavily-loaded Mail or Signal relay processing many thousand requests per second,
this parameter should be selected after some testing: older DNS servers may crash if requested to
process too many concurrent requests.
DNS Addresses
This setting specifies how the CommuniGate Pro Server selects the DNS servers to use.
If the OS-specified option is selected, the Server reads the DNS server addresses from
the Server host OS. To force the server to re-read those addresses, click the Refresh button on the General
page in the Settings section.
If the Custom option is selected, the CommuniGate Pro Server will use the DNS servers
addresses listed in the text field next to this pop-up menu.
If no DNS server address is specified, the CommuniGate Pro Server uses the 127.0.0.1 address,
trying to connect to a DNS server that can be running on the same computer as the CommuniGate Pro Server.
Balance Server Load
If this option is disabled, then the initial request is always sent to the first DNS server
in the list, and if there is no response from that server, the request is resent to the second DNS server, etc.
If this option is enabled, then initial requests are sent to different DNS servers: the first initial
request is sent to the first DNS server (and if it fails - the request is resent to the second DNS server),
the second initial request is sent to the second DNS server (and if it fails - the request is resent to the third DNS server), etc.
Enable this option if your Server performs a lot of DNR operations and it can use several equally effective DNS servers.
Use Supplementary Responses
If this option is enabled, then "supplementary" records in MX and SRV requests are processed.
These records contain the IP addresses (A and AAAA records) for the domain names listed in an MX or SRV response,
so no additional DNR request is needed to retrieve these IP addresses.
Initial Time-out
The Domain Name System uses the connectionless UDP protocol by default, and if there any network
trouble, a UDP request or response can be lost (while the TCP protocol automatically resends lost packets).
The Domain Name Resolver waits for a response from a DNS server for the period of time
specified with this option.
If a response is not received, the Resolver resends the request, and waits twice longer,
if it times out again, it can resend the request again and wait three times longer.
If you have several Domain Name Servers specified, each time the resolver needs to repeat a
request, it sends it to the next DNS server in the list.
Retry Limit
This option specifies how many time the Resolver should re-send the same request if
it has not received any response from a DNS server.
Note: when a request is an RBL request, the Resolver
sends the same request not more than twice, and both times it uses the same (Initial)
response time-out.
Source IP Address
This option selects the source network address and port for UDP DNR requests send.
If an IP address and/or a port is not specified, the address and/or port is selected using the Server host OS.
The Domain Name Resolver uses TCP connections if a DNS server sent a UDP response with
the "Truncated" flag set. This feature allows the Resolver to retrieve very large records from DNS servers.
Dummy IP Addresses
This Address List setting allows you to specify network (IP) addresses that should be considered
as "non-existent".
Some DNS authorities may choose to "map" all non-existent names within their domains to some special IP address(es).
When a domain name is resolved into IP addresses, the Resolver checks the first address.
If this address is listed in the Dummy IP Addresses list, the Resolver returns the "unknown host/domain name" error code.
The Domain Name Resolver caches responses to SRV-type DNS requests.
Cache
Limit:
Cache Negative:
Limit
The maximum Cache size. When the number of items in the cache exceeds this limit, the oldest unused records are being removed from the cache.
Cache Negative
Use this setting to specify for how long negative (failure) DNS responses should be cached.
The Tester allows to test responses to some sorts of DNS requests.
Test Address:
The Tester can be used to check:
the true domain name in Punycode, if the domain name contains International characters
the Source and the target DNS Server IP addresses, and if the Balance Server Load setting works
the response time
the returned result
errors, if any.
Unlike the real Resolver the Tester tries only one time ignoring the Retry Limit setting.
The CommuniGate Pro Server provides full support for both IPv4 and IPv6 network protocols
for the following Server Operating Systems:
Linux
FreeBSD
MacOS X
Windows (Vista and newer)
Solaris
AIX
If the Server runs on a platform with IPv6 support, and it detects any local IPv6 address,
it assumes that the IPv6 networking is enabled.
In this case, the Server creates all network sockets as IPv6 sockets.
These sockets communicate with IPv4 systems using the IPv4-mapped IPv6 address method.
Note: The IPv4-mapped IPv6 address method is disabled by default in FreeBSD
system kernels. Use the
sysctl -w net.inet6.ip6.v6only=0
command in your OS startup scripts to enable this method.
You can explicitly instruct the Server to switch IPv6 networking support on or off by using the
--IPv6Command Line Option:
--IPv6 NO switches the IPv6 support off, even if some local IPv6 addresses are detected.
--IPv6 YES switches the IPv6 support on, even if no local IPv6 local address is detected,
but the Server OS supports IPv6 networking.
You may want to deny access to your Server for all incoming TCP connections and UDP packets coming
from certain IP Addresses.
Use the WebAdmin Interface to specify the Denied Addresses.
Open the Network pages in the Settings realm, then open the Blacklisted IPs page.
The TCP and UDP Listeners consult with this IP Address list before
they check their own restrictions settings.
In a Cluster environment, connections and packets from an IP Address
are denied if that Address is included into either Server-wide or Cluster-wide Denied IP Addresses list.