Tutorial: Create a DMZ in Access Server⁠

Overview⁠

An Access Server demilitarized zone (DMZ) uses network address translation (NAT) to forward requests from a private or public IP address on the Access Server to a connected VPN client. The idea is to provide an external static IP for a service running on a VPN client in an internal network. Requests made from an IP address managed by the Access Server can be forwarded to a service running on the VPN client.

This tutorial describes the two ways to configure a DMZ in the Access Server: via the web interface or via the command line.

Implementation Notes⁠

  • Both the source and destination IP addresses are routed with NAT. The destination address of incoming packets is translated to the VPN IP address of the client. The source address is translated to the VPN gateway IP address of the first OpenVPN daemon of the Access Server. This means assuming a default configuration of 172.27.224.0/20 for the VPN subnet, the packets will have source IP 172.27.224.1.

  • The DMZ IP address can be any IP address that is on a network interface on the Access Server. When you specify a DMZ IP address with a specific protocol/port defined, only the traffic directed to that protocol/port is routed through. This means that if the DMZ IP address is also bound to an interface on the server, that interface can still handle other traffic.

  • Specifying an IP address only for the DMZ value will redirect all ports to the VPN client. Be aware that if you do this on the IP used by the Access Server itself for its web and VPN tunnel daemons, you would effectively be cutting yourself off from access to your Access Server. You should only do this on secondary IP addresses, not the primary IP address.

  • Clients connected to the VPN with reroute_gw defined can access a DMZ IP address through the tunnel.

  • A DMZ IP address works with a VPN client that uses either a static or dynamic VPN IP address.

  • Access Server ensures that clients don’t declare conflicting DMZ IP addresses.

  • A DMZ on Access Server heavily uses the iptables SNAT, DNAT, and MARK modules.

  • A DMZ on Access Server is subject to NAT limitations, and won’t work with protocols that have problems with NAT like SIP.