IKE2 VPN Setup Guide for MikroTik
IKE2 VPN Setup Guide for MikroTik
VPN server
Nikita Tarikin
nikita@[Link]
Protocol UDP UDP over UDP/ESP TCP GRE TCP UDP, ESP
Connection
Medium Slow Slow Medium Medium Very fast
establishment
Requires strong
CPU for No Yes Yes No Yes Yes
encryption
Multicore CPU
Yes Yes No Yes Yes Yes
load balance
Nikita
Nikita Tarikin / nikita@[Link]
Network diagram
My laptop
Magic
Internet
My laptop
My router
Internet
LAN
WAN WAN
MikroTik
Router
WAN
DNS
WAN Apache
Wordpress
WWW
DNS https
WAN IPSec
Ethernet LTE
IP EoIP
TCP IPv6 OpenVPN
vlan OSPF GRE
OSPF
MTU vrrp MPLS
RSTP PPPoE BGP WAN
LACP
QoS VPLS
IPv4
IPSec
PPTP WAN ssh DNS
SSTP
WWW
IKE2
https
Nikita Tarikin / nikita@[Link]
WAN
VPN clients
[Link]/24
NAT
RouterOS VPN
Router
LAN
[Link]/24
Network diagram
Nikita Tarikin / nikita@[Link]
WAN
VPN clients
[Link]/24
NAT
IPSec ike2
VPN RouterOS VPN
RouterOS Router
Router Head office
Branch office
Network diagram
Nikita Tarikin / nikita@[Link]
Configure RouterOS
Nikita
Nikita Tarikin / nikita@[Link]
1. MTCNA knowledge (recommended)
Before you 2. RouterOS 6.44 or newer
start 3.
4.
Lab environment (recommended)
Default configuration 6.41+
5. Aware of IPSec changes since 6.43
Checklist for your
demo lab
Nikita
Nikita Tarikin / nikita@[Link]
Upgrade RouterOS to 6.44+
settings 2.
3.
Timezone
NTP
4. Loopback bridge
5. IP pool
Nikita
Nikita Tarikin / nikita@[Link]
WAN IP and DNS addresses for IKE2 VPN server
Nikita
Nikita Tarikin / nikita@[Link]
Generate CA SSL certificate
/certificate sign
c1@[Link] ca=[Link]
/certificate export-certificate
c1@[Link] type=pkcs12
export-passphrase=keepinsecret
/certificate
export-certificate [Link]
IPSec 3.
4.
Setup Proposals
Setup Peers
5. Setup Policy Groups
6. Setup Policies
7. Setup Identities
Nikita
Nikita Tarikin / nikita@[Link]
IPSec mode config
Nikita
Nikita Tarikin / nikita@[Link]
Setting up Firewall
Understanding the default firewall filter
Setting up ALLOW
D
DENY AR
Firewall FO
RW
UT
UT
P
TP
IN
OU
src-nat
D
AR
RW
[Link]/24
FO
1. Default firewall overview
2. IPSec traffic rules RouterOS Router
OUTPUT
3. VPN traffic rules [Link]/24
PUT
4. Testing IN
LAN
[Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Default FROM LAN WAN
Firewall D
AR
overview FO
RW
src-nat
[Link]/24
a. From LAN
RouterOS Router
b. To LAN
[Link]/24
c. From RouterOS PUT
IN
d. To RouterOS
e. From WAN
LAN
f. To WAN [Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Default To LAN WAN
Firewall
overview
src-nat
D
AR
RW
[Link]/24
FO
a. From LAN
RouterOS Router
b. To LAN OUTPUT
[Link]/24
c. From RouterOS
d. To RouterOS
e. From WAN
LAN
f. To WAN [Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Default From RouterOS WAN
Firewall
overview
UT
TP
OU
src-nat
[Link]/24
a. From LAN
RouterOS Router
b. To LAN OUTPUT
[Link]/24
c. From RouterOS
d. To RouterOS
e. From WAN
LAN
f. To WAN [Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Default To RouterOS WAN
Firewall
overview
UT
P
IN
src-nat
[Link]/24
a. From LAN
RouterOS Router
b. To LAN
[Link]/24
c. From RouterOS PUT
IN
d. To RouterOS
e. From WAN
LAN
f. To WAN [Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Default FROM WAN WAN
Firewall
overview
UT
P
IN
src-nat
D
AR
RW
[Link]/24
FO
a. From LAN
RouterOS Router
b. To LAN
[Link]/24
c. From RouterOS
d. To RouterOS
e. From WAN
LAN
f. To WAN [Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Default TO WAN WAN
Firewall D
AR
overview FO
RW
UT
TP
OU
src-nat
[Link]/24
a. From LAN
RouterOS Router
b. To LAN
[Link]/24
c. From RouterOS
d. To RouterOS
e. From WAN
LAN
f. To WAN [Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
RouterOS 6.41+ default configuration firewall overview
Short summary
Firewall ALLOW
DENY
overview ALLOW ONLY ICMP
UT
P
IN
src-nat
[Link]/24
a. From LAN
RouterOS Router
b. To LAN
[Link]/24
c. From RouterOS PUT
IN
d. To RouterOS ICMP
e. From WAN
LAN
f. To WAN [Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Default FROM WAN WAN
Firewall ALLOW
DENY
overview ALLOW ONLY ICMP
UT
DST-NAT
P
IN
src-nat
D
AR
RW
[Link]/24
FO
a. From LAN
RouterOS Router
b. To LAN
[Link]/24
c. From RouterOS
d. To RouterOS
e. From WAN
LAN
f. To WAN [Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
RouterOS default firewall WAN
Setting up ALLOW
D
DENY AR
Firewall FO
RW
ICMP
UT
UT
DST-NAT
P
TP
IN
OU
src-nat
D
AR
RW
[Link]/24
FO
1. Default firewall overview
2. IPSec traffic rules RouterOS Router
OUTPUT
3. VPN traffic rules [Link]/24
PUT
4. Testing IN
LAN
[Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Empty FIREWALL ALLOW
DENY WAN
D
AR
RW
FO
UT
UT
P
TP
IN
OU
src-nat
D
AR
RW
[Link]/24
FO
rta nt OUTPUT
RouterOS Router
Impo [Link]/24
PUT
IN
LAN
[Link]/24
IPSec traffic
rules VPN clients
Disconnected
UT
P
src-nat
IN
[Link]/24
RouterOS Router
[Link]/24
PUT
IN
LAN
[Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
WAN
IPSec traffic
rules INPUT:
+ IPSec-esp
+ UDP 500
+ UDP 4500
src-nat
[Link]/24
RouterOS Router
[Link]/24
LAN
[Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Firewall filter rules for IPSec ike2 packets (defconf)
INPUT chain
+ UDP 500
+ UDP 4500
+ IPSec-esp
IPSec-esp
UDP 500
UDP 4500 [Link]
rules LAN
[Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Setting up Firewall
VPN traffic rules
Firewall FO
UT
UT
P
TP
IN
OU
src-nat
D
AR
RW
[Link]/24
FO
1. Default firewall overview
RouterOS Router
2. IPSec traffic rules OUTPUT
[Link]/24
3. VPN traffic rules
PUT
4. Testing IN
LAN
[Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
Default ipsec rules (defconf)
FORWARD chain
D
FO
AR
RW
AR
RW
D
FO
ipsec-in ipsec-out
FO
D
RW
AR
AR
RW
D
FO
Nikita Tarikin / nikita@[Link]
Traffic rules from VPN hosts to RouterOS
INPUT chain WAN
src-nat
[Link]/24
INPUT
src-nat
FORWARD
VPN clients [Link]/24
[Link]/24
[Link]/24 RouterOS Router
[Link]/24
FORWARD
VPN = [Link]/24
LAN = [Link]/24
[Link]/0
src-nat
FORWARD
VPN clients [Link]/24
[Link]/24
[Link]/24 RouterOS Router
[Link]/24
FORWARD
VPN = [Link]/24
WAN = [Link]/0
Setting up dst-address:
[Link]
NAT 123.45.67.
RouterOS Router
192.168.88.
1. Default src-nat
overview
LAN
2. SRC-NAT VPN [Link]/24
traffic to WAN
[Link]
Nikita
Nikita Tarikin / nikita@[Link]
PING [Link]
WAN
src-address:
[Link]/24
[Link]/0
dst-address:
[Link]
Setting up
[Link]/24
NAT SRC-NAT RouterOS Router
[Link]/24
1. Default src-nat
overview
2. SRC-NAT VPN src-address:
traffic to WAN [Link]
dst-address:
LAN
[Link] [Link]/24
Nikita
Nikita Tarikin / nikita@[Link]
PING [Link] WAN
src-address:
[Link]/0
[Link]/24
dst-address:
[Link]
RouterOS Router
1. Default src-nat
overview
src-address:
2. SRC-NAT VPN *.*.*.*
traffic to WAN
dst-address:
[Link]
Nikita
Nikita Tarikin / nikita@[Link]
Masquerade non-IPSec WAN traffic (defconf)
ipsec-out: none
[Link]/0
src-address:
PING [Link] [Link]/24
SRC-NAT
dst-address:
[Link]
[Link]/24
LAN
[Link]/24
TCP MSS
Nikita
Nikita Tarikin / nikita@[Link]
IP Understanding MTU
TCP
HTTPS (simplified)
Ethernet
MTU 1500
Ethernet
MTU 1500 WAN Asia
Ethernet
MTU 1500
Ethernet WAN
PPPoE MTU 1500 Europe Ethernet
MTU 1492 MTU 1500
Ethernet
MTU 1500
WAN
Africa WWW
IP PACKET SIZE
1500 bytes 1500 bytes
1500 bytes
Ethernet WAN
PPPoE MTU 1500 Europe
MTU 1492 1500 bytes
Ethernet
MTU 1500
WAN
Africa WWW
PPPoE
1500 bytes MTU 1492 WAN
Europe Ethernet
Ethernet MTU 1500
MTU 1500
48 bytes
1492 bytes
1492
1492
IP PACKET WAN 48
FRAGMENTATION Africa 48 WWW
48 bytes
1500 1492 bytes
Ethernet
MTU 1500 IPSec tunnel
MTU 1400
1500
48 bytes
1400 bytes
PPPoE 132 bytes
MTU 1492
48 bytes
1492 bytes
WWW
Ethernet
MTU 1500
IP packet
IP DATA
1400 bytes
1500 bytes
1400 bytes
1400 bytes
1500 bytes
Nikita Tarikin / nikita@[Link]
Understanding IPSec MTU (simplified)
1400 bytes
20
IP IP DATA
bytes
20 bytes
TCP SEGMENT
TCP
1360 bytes
TCP Segment size
1400 bytes
Ethernet
MTU 1500
— Hey, Foxy!
1400 I can transfer you TCP 1460 MSS!
IPSec
MTU 1400 TCP syn ack 1460
WAN
— Sorry, guys! ¯\_(ツ)_/¯ Ethernet
MTU 1500 WWW
TCP syn 1360
1400 IPSec
MTU 1400
WAN
1400 IPSec
MTU 1400
WAN
IPSec ike2
MTU 1400
IP Packet size = 1400 bytes
TCP Segment size = 1360 bytes
1400
Ethernet
MTU 1500
WAN
Nikita
Nikita Tarikin / nikita@[Link]
Demo lab 1. Request certificate via form
2. Receive certificates
Free live demo is 3. Connect to VPN server
available 4. Access via Winbox
Nikita
Nikita Tarikin / nikita@[Link]
Request your certificate via form
[Link]
Demo lab
1. Request certificate
via form
2. Receive certificates
3. Connect to VPN
server
4. Access via Winbox
Nikita
Nikita Tarikin / nikita@[Link]
Demo lab
Wait for your certificate
1. Request certificate via Manual processing for this LAB, sorry :)
form
2. Receive certificates
3. Connect to VPN
server
4. Access via Winbox
Nikita
Nikita Tarikin / nikita@[Link]
Demo lab
IKE2 VPN Server address
1. Request certificate via <check your email>
form
2. Receive certificates
3. Connect to VPN
server
4. Access via Winbox
Nikita
Nikita Tarikin / nikita@[Link]
Demo lab Access LAB router via Winbox
Address
1. Request certificate via [Link]
form
Login lab
2. Receive certificates
Password lab
3. Connect to VPN
server
4. Access via Winbox
Nikita
Nikita Tarikin / nikita@[Link]
Configure clients
Nikita
Nikita Tarikin / nikita@[Link]
Agenda for next slides
Nikita
Nikita Tarikin / nikita@[Link]
Windows 10: Import SSL certificates
Type your
SSL certificate password
—> Next
Automatic
—> Next
SSL Certificate
imported successfully
—> OK
Internet address:
[Link]
Destination name:
c1@[Link]
—> Create
Type of VPN:
IKEv2
Data encryption:
Maximum strength
encryption
Authentication:
Use machine
certificates
—> OK
route -4 print
Destination
[Link]/0 (default)
Gateway:
On-link
Interface:
[Link]
Metric (distance):
26
— [Link]/0 ???
✔ TCP/IPv4
—> Properties
TCP/IPv4 Properties
✔ Obtain an IP address automatically
✔ Obtain DNS address automatically
—> Advanced
Advanced TCP/IP Settings
Use default gateway on remote network
Nikita
Nikita Tarikin / nikita@[Link]
MacOS: Import SSL certificates
Keychain:
login (default)
—> Add
Type your
SSL certificate password
—> OK
Keychain access
Keychain access
Keychain access
Compare CA certificate
fingerprints
Keychain access
✅ IP Security (IPSec)
❌ Everything else
Keychain access
Type your
MacOS password
—> Update settings
Keychain access
Type your
MacOS password
—> Update settings
Interface:
VPN
VPN Type:
IKEv2
Service name:
c2@[Link]
—> Create
Server Address:
[Link]
Remote ID:
[Link]
Local ID:
c2@[Link]
Authentication Settings
Authentication Settings:
None
Certificate:
—> Select
Authentication Settings
—> Continue
Don’t forget
💡 to lock settings
≥ version 9
Nikita
Nikita Tarikin / nikita@[Link]
iOS: Import SSL certificates
Nikita
Nikita Tarikin / nikita@[Link]
Android: Install StrongSwan
[Link]
Nikita Tarikin
nikita@[Link]
Demo lab
Nikita
Nikita Tarikin / nikita@[Link]