UCoIP DNS/firewall configuration

From wiki.IPBRICK.COM
Revision as of 10:41, 24 January 2019 by Hrocha (Talk | contribs)

Jump to: navigation, search

DNS configuration

In order to get the full UCoIP concept working at LAN/Internet it's necessary to configure some DNS records at internal and external DNS servers of the company domain.

Next is given an example for the public DNS zone configuration. In that example lets suppose that:

DNS domain: domain.com
IPBrick FQDN: srv001.domain.com
Public IP associated to IPBrick: 85.86.87.88
User UCoIP page to create: jsmith.domain.com 

So in this case we need to configure the following DNS records:

A records:

srv001.domain.com.            IN A     85.86.87.88
voip.domain.com.              IN A     85.86.87.88
webrtc.domain.com.            IN A     85.86.87.88
cafe.domain.com.              IN A     85.86.87.88
ucoip.domain.com.             IN A     85.86.87.88
im.domain.com.                IN A     85.86.87.88
iportaldoc.domain.com.        IN A     85.86.87.88

CNAME records:

contacts.domain.com.           IN CNAME   srv001.domain.com.
jwchat.domain.com.             IN CNAME   srv001.domain.com.
light.domain.com. 	       IN CNAME   srv001.domain.com.
webphone.domain.com.           IN CNAME   srv001.domain.com.
groupware.domain.com.	       IN CNAME   srv001.domain.com.
webmail.domain.com. 	       IN CNAME   srv001.domain.com.
webrtcproxy.domain.com.        IN CNAME   srv001.domain.com.
autoconfig.domain.com.         IN CNAME   srv001.domain.com.
autodiscover.domain.com.       IN CNAME   srv001.domain.com.
*.domain.com.                  IN CNAME   ucoip.domain.com.

SRV records for VoIP (SIP):

_sips._tcp.domain.com.     IN     SRV   1   0   5061   voip.domain.com.
_sip._tcp.domain.com.      IN     SRV   1   0   5060   voip.domain.com.
_sip._udp.domain.com.      IN     SRV   1   0   5060   voip.domain.com.

SRV records for chat (Jabber/XMPP):

_jabber._tcp.domain.com.       IN SRV 5 0 5269 im.domain.com.
_xmpp-server._tcp.domain.com.  IN SRV 5 0 5269 im.domain.com.
_xmpp-client._tcp.domain.com.  IN SRV 5 0 5222 im.domain.com.

SRV record for UCoIP:

_ucoip._tcp.domain.com.        IN SRV 1 0 80   ucoip.domain.com.

SRV record for CAFE:

_cafe._tcp.domain.com.         IN SRV 1 0 443  cafe.domain.com.

SRV record for WebRTC:

_webrtc._tcp.domain.com.       IN SRV 1 0 8888 webrtc.domain.com.


If IPBrick will be the email server, we need to modify/add the MX record:

domain.com.         IN MX       5     srv001.domain.com.

SPF - Sender Policy Framework

domain.com          IN TXT      "v=spf1 mx ip4:85.86.87.88 -all"

Costumer ISP must add this PTR record at reverse DNS zone:

 88.87.86.85.in-addr.arpa.     IN PTR      srv001.domain.com.

Firewall/Router configuration

UCoIP concept uses many services running on their standard ports. IPBrick firewall is prepared to accept all this traffic at public interface (eth1).

But if IPBrick public interface is behind a NAT at Router/Firewall, its necessary to forward the necessary traffic to IPBrick. The list is:

HTTP           - 80 TCP
HTTPS          - 443 TCP
SMTP           - 25 TCP
SIP            - 5060 UDP/TCP
SIPS           - 5061 TCP
RTP            - 40000:45000 UDP  (RTP Fax T38 - when the IP PBX is connected to the Internet using eth0 as gateway)
RTP            - 50000:55000 UDP  (RTP Audio - when the IP PBX is connected to the Internet using eth0 as gateway)
RTP            - 55000:60000 UDP  (CAFE Phone webRTC2SIP)
RTP            - 60000:65000 UDP  (RTP Audio - when the IP PBX is connected to the Internet using eth1 or other interface rather then eth0 as gateway - rtpproxy utilization)
XMPP-client    - 5222 TCP
XMPP-server    - 5269 TCP
XMPPS          - 5223 TCP
WebRTC         - 8888 TCP
Webphone       - 10060 UDP/TCP
Webphone       - 10062 TCP


It's mandatory ensure that IPBrick can access the local addresses, so coud be necessary configure the DNS hosts.

If IPBrick public interface is behind a NAT and:

- IPBrick have 2 network interfaces (ETH0 and ETH1) configured with private IPs

- The communication between IPBrick and the router is done by ETH1

- Public IP is on the router

- Public DNS zone configured in IPBrick and all registers are resolved to public IP

- IPBrick resolves local addresses in your local DNS (public zone)


Then, requests made from IPBRICK to any of their addresses are always going to be routed to the public IP.

As these orders leave and re-enter, they are blocked, so you need configure the IPBrick DNS hosts to resolve the local addresses to the internal IP.


On IPBrick interface ("DNS -> Name Resolution -> Local names resolution") add the following entries:

   - cafe.<domain>       ->   Internal IP
   - contacts.<domain>   ->   Internal IP
   - groupware.<domain>  ->   Internal IP
   - im.<domain>         ->   Internal IP
   - iportaldoc.<domain> ->   Internal IP
   - ucoip.<domain>      ->   Internal IP
   - voip.<domain>       ->   Internal IP
   - webrtc.<domain>     ->   Internal IP


NOTE: With update04_6.1, it's crucial too to have a Wildcard SSL Certificate. More information here:

Update04 security guide

How to buy and configure a SSL certificate at IPBrick