Setting up a PPTP VPN on MikroTik routers provides a quick way to enable remote access for administrators, developers, and small teams. While PPTP is an older protocol with known security limitations, it remains useful for legacy devices, simple remote administration, and scenarios where ease-of-setup and broad client support are prioritized. This article walks you through a detailed, step-by-step configuration on RouterOS, covers firewall and NAT considerations, explains troubleshooting techniques, and highlights security best practices and alternatives.
Before you begin: prerequisites and planning
Preparation ensures a smooth deployment. Gather the following:
- Access to a MikroTik router with RouterOS version supporting PPTP (v6.x and v7.x; commands can differ slightly).
- Administrative access via Winbox, WebFig or SSH/console.
- A static public IP or dynamic DNS for remote clients to reach the router.
- IP addressing plan for VPN clients (dedicated pool or subnet that does not conflict with LAN networks).
- Decisions about authentication: local user database vs RADIUS.
High-level design
Typical deployment elements:
- A PPTP server on the MikroTik that assigns virtual IPs to clients.
- A PPP profile defining DNS, routes, and interface behavior.
- Firewall rules to permit GRE and TCP/1723 and to protect LAN resources.
- NAT or routing adjustments depending on whether clients must access the internet via VPN.
Step 1 — Configure an IP pool for VPN clients
Create an IP address pool that will be assigned to PPTP clients. The pool must not overlap existing LAN subnets.
Example (CLI):
/ip pool add name=ppp-pool ranges=10.10.99.10-10.10.99.50
Notes:
- Adjust the range size based on expected simultaneous VPN users.
- Reserve addresses for static assignments if needed.
Step 2 — Create a PPP profile
PPP profiles define the attributes of the PPP session: DNS servers, local address, and remote address (from the pool). Create a profile named “pptp-profile”.
Example (CLI):
/ppp profile add name=pptp-profile local-address=10.10.99.1 remote-address=ppp-pool dns-server=8.8.8.8,8.8.4.4
Considerations:
- If clients should use the router as their gateway for internet traffic, set the local-address to the VPN network gateway (as shown).
- Use internal or preferred DNS servers for corporate networks where needed.
Step 3 — Add PPTP server settings
Enable the PPTP server and bind it to the created profile. You can also set maximum sessions and authentication options.
Example (CLI):
/interface pptp-server server set enabled=yes max-mtu=1450 max-mru=1450 mrru=disabled allow-fastpath=yes default-profile=pptp-profile
Notes:
- MTU/MRU adjustments can help solve fragmentation issues. 1450 is a common safe setting.
- PPTP uses TCP/1723 and GRE (protocol 47) — ensure these are allowed through your firewall and any upstream devices.
Step 4 — Add PPP users (secrets)
For small deployments, local PPP secrets (user accounts) are easy to manage. For larger environments, integrate RADIUS.
Example (CLI):
/ppp secret add name=vpnuser password=StrongP@ss profile=pptp-profile service=pptp comment=”Remote admin”
Tips:
- Use strong, unique passwords; consider certificate-based or RADIUS authentication for better security.
- Set time-based or IP-based restrictions if supported.
Step 5 — Configure firewall rules
Proper firewalling prevents unauthorized access. At a minimum, permit PPTP traffic to the router and restrict access to sensitive services from VPN clients.
Example (CLI) minimal allow rules (insert before default drop rules):
/ip firewall filter add chain=input protocol=tcp dst-port=1723 action=accept comment=”Allow PPTP TCP control”
/ip firewall filter add chain=input protocol=gre action=accept comment=”Allow GRE for PPTP”
Then create rules to allow established/related connections and to control user access to LAN resources:
/ip firewall filter add chain=forward connection-state=established,related action=accept
/ip firewall filter add chain=forward src-address=10.10.99.0/24 dst-address=192.168.1.0/24 action=accept comment=”Allow VPN to LAN (adjust networks)”>
And restrict unwanted traffic:
/ip firewall filter add chain=forward src-address=10.10.99.0/24 action=drop comment=”Drop other VPN traffic”
Recommendations:
- Place specific allow rules before broad drop rules — RouterOS processes rules top-to-bottom.
- Log and monitor dropped VPN attempts for auditing.
- If NAT is used for internet access via VPN, ensure MASQUERADE is defined (see next section).
Step 6 — NAT (optional): route client internet traffic through the router
If you want remote clients to use the router’s internet connection, add a masquerade rule for the VPN subnet:
/ip firewall nat add chain=srcnat src-address=10.10.99.0/24 action=masquerade out-interface=
Replace <WAN-IF> with your internet-facing interface name.
Notes:
- Without NAT, ensure correct routing on remote networks to reach client IPs if two-way connectivity is needed.
- NAT is the simplest option for providing remote internet access through the VPN, but remember that traffic will exit with the router’s public IP.
Step 7 — Client configuration
Most modern operating systems include PPTP clients by default. Provide remote users with:
- Server address (public IP or hostname)
- User credentials
- Optional: encryption settings (MPPE), DNS server, and whether to use default gateway on remote network
Windows example:
- Network > VPN > Add a VPN connection
- VPN type: Point to Point Tunneling Protocol (PPTP)
- Advanced settings: enable encryption (MPPE) if supported
macOS and Linux: use built-in PPTP clients or network manager plugins. Commands or GUI interfaces vary per OS.
Troubleshooting and verification
Use RouterOS tools to verify connectivity and sessions:
- /ppp active print — shows active PPP sessions and assigned IPs.
- /ip pool print — confirm pool usage.
- /interface pptp-server print — server status and configuration.
- /log print where message~”pptp” — check PPTP-related logs for errors.
- For packet-level issues, use torch on the WAN interface to observe GRE and TCP/1723 traffic in real time.
Common problems and fixes:
- Connection attempts fail: ensure TCP/1723 and GRE are allowed on any upstream firewall or NAT device (many consumer routers block GRE by default).
- Assigned IP conflicts: verify the VPN pool does not overlap LAN networks.
- No internet for VPN clients: check NAT rules and whether the router’s firewall allows forward/masquerade for the VPN subnet.
- Frequent disconnects: adjust MTU/MRU, check ISP or intermediate NAT timeouts, and examine logs for MPPE-related issues.
Security considerations and best practices
PPTP has several security weaknesses: MS-CHAPv2 has known vulnerabilities and GRE does not provide confidentiality by itself. Use these mitigations and recommendations:
- Prefer stronger protocols: For sensitive environments, use L2TP/IPsec, OpenVPN, or WireGuard instead of PPTP.
- Use RADIUS or certificate-based authentication where possible to centralize and harden auth mechanisms.
- Enforce strong passwords, strict user permissions, and session timeouts.
- Limit access via firewall rules to only necessary internal resources; avoid broad access to the entire LAN.
- Monitor logs and enable account lockout policies to mitigate brute-force attempts.
- Keep RouterOS updated to latest stable version to patch vulnerabilities and improve stability.
When PPTP is acceptable
PPTP can be acceptable for:
- Legacy devices that do not support modern VPN protocols.
- Non-sensitive administrative access over trusted networks.
- Quick proof-of-concept or temporary remote access when stronger options are impractical.
When to avoid PPTP
Avoid PPTP for:
- Any scenario requiring strong confidentiality or compliance (e.g., GDPR, HIPAA).
- Large deployments where centralized authentication and granular access control are required.
Advanced topics and scaling
For larger or production-grade setups consider:
- Integrating RADIUS (FreeRADIUS, Microsoft NPS) for centralized authentication and accounting:
- Implementing split-tunneling vs full-tunneling according to traffic and privacy requirements.
- Monitoring and alerting: SNMP, Netwatch, or log shipping to a SIEM for visibility.
- High availability: configure redundant routers and synchronized configurations for failover.
/radius add service=ppp address=10.0.0.10 secret=radiussecret
Conclusion
Setting up PPTP on MikroTik routers is straightforward and quick, making it useful for small teams and legacy access scenarios. However, due to inherent security weaknesses, it should be used carefully and only when other secure alternatives are infeasible. Follow the steps outlined — IP pool, PPP profile, PPTP server enablement, PPP secrets, firewall rules, and optional NAT — to build a functional PPTP service on RouterOS. Apply the security best practices and monitoring recommendations to minimize risk.
For more detailed guides and alternatives to PPTP on MikroTik, visit Dedicated-IP-VPN at https://dedicated-ip-vpn.com/.