Introduction
L2TP (Layer 2 Tunneling Protocol) combined with IPsec remains a practical choice for remote access VPNs where built-in client support across Windows, macOS, iOS and Android is required. MikroTik RouterOS offers flexible PPP/L2TP and advanced IPsec features, making it possible to deploy a secure L2TP/IPsec solution suitable for small to medium businesses and developer/test environments. This guide walks a network engineer, system administrator, or site owner through a secure, production-ready L2TP configuration on a MikroTik router, covering user authentication, IP addressing, encryption settings, firewall/NAT hardening, and operational considerations.
Design considerations before configuring
Before you begin, decide on these design elements:
- Authentication method: pre-shared key (PSK) vs certificates. PSK is simpler; certificates are recommended for higher security and better scalability.
- IP addressing: a dedicated IP pool for VPN clients and routing strategy (split-tunnel vs full-tunnel).
- DNS and WINS: whether clients should use internal DNS, public DNS, or both.
- Firewall/NAT location: whether the MikroTik is at the internet edge or behind another NAT device.
- Logging and monitoring: enable logging for PPP and IPsec events to aid troubleshooting.
Prerequisites and baseline checks
Ensure the RouterOS version supports the required IPsec features (RouterOS v6+ recommended; verify that L2TP and IPsec packages are installed). Confirm you have administrative access (Winbox/SSH/WebFig) and a working public IP or reachable hostname on the WAN interface.
- Check RouterOS version: System → RouterBOARD → Upgrade or run the command
/system package print. - Confirm NAT and firewall rules do not block UDP 500, UDP 4500 and ESP (protocol 50) if IPsec is used across the internet.
Step 1 — Create an IP pool for VPN clients
Allocate an IP range that won’t overlap with your LAN subnets. For example, use a /24 dedicated to VPN clients:
- Pool name: vpn-pool
- Range: 10.10.10.10-10.10.10.100
CLI example:
/ip pool add name=vpn-pool ranges=10.10.10.10-10.10.10.100
Step 2 — Configure PPP profile and L2TP server
Create a PPP profile that assigns addresses, DNS, and routes. Key items include local-address (router-side), remote-address (client pool) and DNS servers:
/ppp profile add name=l2tp-profile local-address=10.10.10.1 remote-address=vpn-pool dns-server=8.8.8.8,8.8.4.4 use-encryption=yes
Enable and configure the L2TP server with IPsec policy. For security, use IPsec with a secure proposal (strong algorithms) and optionally require certificate authentication later.
Basic enablement:
/interface l2tp-server server set enabled=yes default-profile=l2tp-profile use-ipsec=required ipsec-secret=YourStrongPSK
Note: Replace YourStrongPSK with a long, random passphrase if using PSK. For production, consider certificates instead.
Step 3 — Configure IPsec (strong proposals)
For strong security, configure IPsec policies and proposals to use modern algorithms (AES-GCM or AES-CBC with SHA2). RouterOS supports both. Example uses AES-256 and SHA256 with DH group 14 or higher.
Proposal example:
/ip ipsec proposal add name=strong-proposal auth-algorithms=sha256 enc-algorithms=aes-256-cbc pfs-group=modp2048
Set peer and policies. If using PSK:
/ip ipsec peer add address=0.0.0.0/0 exchange-mode=main secret=YourStrongPSK proposal=strong-proposal
When using certificates, import CA and server certificates, create identity with certificate-based authentication, and remove PSK. Certificates are configured under /certificate and IPsec peer identity uses certificate=your-cert-name.
Step 4 — Add PPP users or RADIUS integration
For small deployments, local PPP users are fine. For enterprise, integrate with RADIUS for central authentication and accounting (use winbox → PPP → Secrets or CLI).
Local user example:
/ppp secret add name=john password=ComplexPass service=l2tp profile=l2tp-profile
Best practices:
- Use long passwords or client certificates for users.
- Set appropriate idle-timeouts and session limits.
- Prefer RADIUS for multi-user environments and centralized credential management.
Step 5 — Firewall and NAT hardening
Secure the router by restricting access to administrative services and allowing only necessary ports for VPN traffic. Key ports for L2TP/IPsec:
- UDP 500 (ISAKMP)
- UDP 4500 (NAT-T)
- UDP 1701 (L2TP)
- ESP (IP protocol 50)
Suggested firewall rules (conceptual):
- Allow established/related.
- Allow UDP 500, 4500 and 1701 from the internet to the router’s WAN IP.
- Drop/Reject other direct attempts to the PPP/L2TP services from disallowed sources.
- Restrict Winbox/SSH/API to admin IPs or a management VLAN.
Example rule snippets:
/ip firewall filter add chain=input protocol=udp dst-port=500,4500,1701 action=accept comment="Allow IPsec/L2TP"
/ip firewall filter add chain=input connection-state=established,related action=accept
When the router performs masquerading for internet access, ensure VPN traffic is exempted if you need client-to-client or client-to-LAN routing:
/ip firewall nat add chain=srcnat src-address=10.10.10.0/24 action=accept
Then keep your existing masquerade rule for other subnets.
Step 6 — Routing and split/full tunnel decisions
Decide whether clients route all traffic through the VPN (full tunnel) or only traffic destined for internal networks (split tunnel). Configure routes accordingly:
- For full tunnel: push default route via PPP profile by setting add-default-route=yes in profile.
- For split tunnel: do not push default route; push only specific routes using ppp profile routes or RADIUS attributes.
Example to add default route via PPP profile:
/ppp profile set l2tp-profile use-default-route=yes
Step 7 — MTU/MRU and fragmentation
L2TP over IPsec can add significant overhead; adjust MTU/MRU to avoid packet fragmentation issues. Typical values:
- Set MTU/MRU to 1400 or 1420 on PPP profile if you experience fragmentation.
Configuration:
/ppp profile set l2tp-profile mru=1400 mtu=1400
Step 8 — Logging, monitoring and troubleshooting
Enable logs for PPP and IPsec to diagnose connection and negotiation failures. Use a remote syslog server for retention and analysis in production. Key commands:
/log print where topics~"ipsec"
/log print where topics~"ppp"
Useful troubleshooting steps:
- Check IPsec SA status: /ip ipsec active-peers and /ip ipsec installed-sa.
- View PPP sessions: /ppp active print.
- Observe packet counts and drops via /interface monitor-traffic for the L2TP interface.
- Use torch on the WAN interface to verify inbound UDP 500/4500/1701 packets.
Operational best practices
– Regularly update RouterOS to receive security fixes. Keep a maintenance window for upgrades.
– Rotate pre-shared keys periodically or migrate to certificate-based IPsec for long-term security.
– Limit administrator access to trusted IPs and use two-factor authentication where supported.
– Back up configuration after successful setup: /system backup save name=vpn-backup and export configs /export file=vpn-config.
Certificate-based IPsec: brief notes
For enterprises, use a CA to issue server and client certificates. Steps:
- Create or import a CA certificate on the MikroTik.
- Create a server certificate with the router’s FQDN in the subjectAltName.
- Import client certificates or configure clients to use certificate authentication.
- Configure IPsec peer/identity to use the server certificate and set auth-method=rsasig or similar.
Security checklist
- Use strong encryption (AES-256/AES-GCM) and SHA-2 hashing.
- Avoid weak DH groups — use modp2048 or better.
- Use certificates for scalable, secure authentication when possible.
- Lock down administrative access and monitor logs.
- Exclude VPN subnet from unwanted NAT and ensure proper firewall protection.
Conclusion
Deploying a secure L2TP/IPsec service on MikroTik routers requires careful attention to IP addressing, authentication, encryption selection, and firewall rules. By following the steps above — creating a dedicated IP pool and PPP profile, enforcing strong IPsec proposals, protecting the router with focused firewall rules, and choosing the right split/full-tunnel approach — you can provide reliable and secure remote access to your infrastructure. Regular updates, logging, and the use of certificates for authentication will improve long-term security and operational resilience.
For more detailed guides and managed solutions, visit Dedicated-IP-VPN at https://dedicated-ip-vpn.com/.