Difference between revisions of "UCoIP DNS/firewall configuration"
(→Firewall/Router configuration) |
|||
(30 intermediate revisions by 3 users not shown) | |||
Line 17: | Line 17: | ||
<pre> | <pre> | ||
− | srv001 | + | srv001.domain.com. IN A 85.86.87.88 |
− | voip | + | voip.domain.com. IN A 85.86.87.88 |
− | webrtc | + | webrtc.domain.com. IN A 85.86.87.88 |
− | cafe | + | cafe.domain.com. IN A 85.86.87.88 |
− | ucoip | + | ucoip.domain.com. IN A 85.86.87.88 |
− | im | + | im.domain.com. IN A 85.86.87.88 |
+ | iportaldoc.domain.com. IN A 85.86.87.88 | ||
</pre> | </pre> | ||
Line 28: | Line 29: | ||
<pre> | <pre> | ||
− | jwchat IN CNAME srv001 | + | contacts.domain.com. IN CNAME srv001.domain.com. |
− | webphone IN CNAME srv001 | + | jwchat.domain.com. IN CNAME srv001.domain.com. |
− | groupware | + | light.domain.com. IN CNAME srv001.domain.com. |
− | webmail | + | 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. | ||
</pre> | </pre> | ||
Line 47: | Line 52: | ||
<pre> | <pre> | ||
− | _jabber._tcp.domain.com. | + | _jabber._tcp.domain.com. IN SRV 5 0 5269 im.domain.com. |
− | _xmpp-server._tcp.domain.com. | + | _xmpp-server._tcp.domain.com. IN SRV 5 0 5269 im.domain.com. |
− | _xmpp-client._tcp.domain.com. | + | _xmpp-client._tcp.domain.com. IN SRV 5 0 5222 im.domain.com. |
</pre> | </pre> | ||
Line 55: | Line 60: | ||
<pre> | <pre> | ||
− | _ucoip._tcp.domain.com. | + | _ucoip._tcp.domain.com. IN SRV 1 0 80 ucoip.domain.com. |
</pre> | </pre> | ||
Line 61: | Line 66: | ||
<pre> | <pre> | ||
− | _cafe._tcp.domain.com. | + | _cafe._tcp.domain.com. IN SRV 1 0 443 cafe.domain.com. |
</pre> | </pre> | ||
Line 67: | Line 72: | ||
<pre> | <pre> | ||
− | _webrtc._tcp.domain.com. | + | _webrtc._tcp.domain.com. IN SRV 1 0 8888 webrtc.domain.com. |
</pre> | </pre> | ||
Line 77: | Line 82: | ||
</pre> | </pre> | ||
− | + | SPF - Sender Policy Framework | |
+ | <pre> | ||
+ | domain.com IN TXT "v=spf1 mx ip4:85.86.87.88 -all" | ||
+ | </pre> | ||
+ | Costumer ISP must add this PTR record at reverse DNS zone: | ||
+ | <pre> | ||
88.87.86.85.in-addr.arpa. IN PTR srv001.domain.com. | 88.87.86.85.in-addr.arpa. IN PTR srv001.domain.com. | ||
+ | </pre> | ||
=Firewall/Router configuration= | =Firewall/Router configuration= | ||
Line 88: | Line 99: | ||
<pre> | <pre> | ||
− | HTTP | + | HTTP - 80 TCP |
− | HTTPS | + | HTTPS - 443 TCP |
− | SMTP | + | SMTP - 25 TCP |
− | SIP | + | SIP - 5060 UDP/TCP |
− | SIPS | + | SIPS - 5061 TCP |
− | RTP | + | RTP - 40000:45000 UDP (RTP Fax T38 - when the IP PBX is connected to the Internet using eth0 as gateway) |
− | RTP | + | RTP - 50000:55000 UDP (RTP Audio - when the IP PBX is connected to the Internet using eth0 as gateway) |
− | RTP | + | RTP - 55000:60000 UDP (CAFE Phone webRTC2SIP) |
− | XMPP | + | RTP - 60000:65000 UDP (RTP Audio - when the IP PBX is connected to the Internet using eth1 or other interface rather than eth0 |
− | XMPP | + | as gateway - rtpproxy utilization) |
− | XMPPS | + | XMPP-client - 5222 TCP |
− | WebRTC | + | XMPP-server - 5269 TCP |
− | Webphone - 10060 UDP/TCP | + | XMPPS - 5223 TCP |
− | Webphone - 10062 TCP | + | WebRTC - 8888 TCP |
+ | Webphone - 10060 UDP/TCP | ||
+ | Webphone - 10062 TCP | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | 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: | ||
+ | <pre> | ||
+ | - 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 | ||
+ | </pre> | ||
+ | |||
+ | |||
NOTE: With update04_6.1, it's crucial too to have a Wildcard SSL Certificate. More information here: | NOTE: With update04_6.1, it's crucial too to have a Wildcard SSL Certificate. More information here: |
Latest revision as of 10:43, 24 January 2019
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 than 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: