配置

参考1

★ 1 Groups

IP -> IPSec -> Groups

新建项

Name: ikev2-group

Snipaste_2025-05-15_03-30-08

命令式:

/ip ipsec policy add group=ikev2-group proposal=ikev2-proposal template=yes

★ 2 Proposals

IP -> IPSec -> proposal

新建项

Name: ikev2-proposal

Auth.Algorithms:

  • sha1
  • sha256

Encr.Algorithms:

  • aes-256 cbc

PFS Group: modp2048

Snipaste_2025-05-15_03-09-07

命令式:

/ip ipsec proposal add auth-algorithms=sha256,sha1 enc-algorithms=aes-256-cbc name=ikev2-proposal pfs-group=modp2048

★ 3 Profiles

IP -> IPSec -> Profiles

新建项

Name: ikev2-profile

Hash Algorithms: sha256

PRF Algorithms: auto

Encyption Algorithm:

  • aes-256

DH Group:

  • modp1024
  • nodp2048

Proposal Check: obey

  • NAT Traversal

DPD Interval: 30

DPD Maximum Failures: 10

Snipaste_2025-05-15_03-11-05

DPD Interval

  • 作用:指定检测报文发送的间隔时间。
  • 单位:秒(seconds)
  • 例子:如果设置为 10,表示每 10 秒发送一次 DPD 检测包。

DPD Maximum Failures

  • 作用:指定在连续多少次未收到对端响应后,认为连接失效。
  • 例子:如果设置为 5,表示连续 5 次未收到回应就判定对端已经掉线。
/ip ipsec profile add dpd-interval=1m dpd-maximum-failures=10 enc-algorithm=aes-256 hash-algorithm=sha256 name=ikev2-profile

★ 4 Peers

IP -> IPSec -> Peers

新建项

Name: ikve2-peer

Profile:ikev2-profile

Exchange Mode:IKE2

  • Passive
  • Send INITIAL_CONTACT

Snipaste_2025-05-15_03-19-37

/ip ipsec peer add exchange-mode=ike2 name=ikev2-peer passive=yes profile=ikev2-profile

★ 5 Policies

IP -> IPSec -> Policies

新建项

  • template

Group: ikev2-group

Proposal: ikev2-proposal

Snipaste_2025-05-15_03-31-48

/ip ipsec policy add group=ikev2-group proposal=ikev2-proposal template=yes

6 Mode Configs

IP -> IPSec -> Mode Configs

Name: ikev2-mode

  • Responder

Address Pool: 地址池

Address Prefix Length: 24

Split Include:

  • 192.168.8.0/24
  • 192.168.89.0/24

Split DNS:

  • xyh.moe

  • System DNS

Static DNS

System DNS: 勾选的话终端会继承路由器的 DNS IP,也就是IP -> DNS -> Servers 的值,不会从路由器解析 DNS。

/ip ipsec mode-config add address-pool=地址池 name=ikev2-cfg split-dns=xyh.moe split-include=192.168.8.0/24,192.168.89.0/24 static-dns=192.168.8.1 system-dns=no

7 Identities

密码认证

Peer: ikev2-peer

Auth.Method: pre shared key

Secert: 密码

Policy Template Group: ikev2-group

My ID Type: fqdn

My ID: example.com

Remote ID Type: auto

Match By: remote id

Mode Configuration: ikev2-mode

Generate Policy: port strict

证书认证

参考2

这就有点复杂了,先要生成CA,然后生成server端和client端证书及密钥

将CA证书,Server端证书及密钥,客户端证书安装在路由器

将CA证书和客户端证书及密钥安装在终端

Peer:ikev2-peer

Auth Method: digital signature

Certificate: 服务端证书

Remote Certificate: 客户端证书

Policy Template Group:ikev2-group

Notrack Chain:

My ID Type:auto

Remote ID Type:ignore

Match By: certificate

Mode Configuration:ikev2-cfg

Generate Policy:port strict

完整命令版


内网域名解析

参考3

默认情况下 IP 解析出来还是公网的地址

/ip firewall address-list
add address=192.168.0.0/24 list=LAN
add address=192.168.13.0/24 list=LAN
/ip firewall filter add action=accept chain=input protocol=tcp src-address-list=LAN comment="Internal Router access"
/ip firewall filter add action=accept chain=input protocol=udp src-address-list=LAN comment="Internal Router access"

将规则位置调整到 allow IKE 旁边

终端连接

windows

android

后记

参考1建立好了连接,但是完全无法访问内网任何地址,给chatgpt看了配置后,他告诉我 Policies 不能用 Template.于是在他的帮助下,新建了一个非 Template Policy 就能正常访问了。