我需要将 IPv4 封装在 IPv6 中以用于路由目的。一端是运行 quagga 的 Linux 机器,另一端是 Mikrotik CCR2004。怎么做?
答案1
与 Falcom Momot 上面发布的内容类似,你可以在这里找到我制作的有关各种 VPN 程序的完整 wiki 页面,并在此处链接https://wiki.pttlink.org/wiki/VPN
我在 IPSEC 下有一个部分,涵盖了 strongSwan 到 MikroTik 的链接。
以下内容摘自本节:
strongSwan 配置
以下配置将在安装了 strongSwan 的 FreeBSD 或 Linux 系统上运行。
注意:您也可以使用此配置连接两个非 MikroTik 系统。只需为要连接的每个系统复制以下配置即可。
ipsec配置文件
/etc/ipsec.conf:
conn <name>
authby=secret
auto=route
keyexchange=ike
left=<your local IP>
right=<remote IP of Mikrotik system>
leftikeport=500
rightikeport=500
type=transport
ike=aes256-sha1-modp1024!
esp=aes256-sha1!
dpddelay=5
dpdtimeout=20
dpdaction=clear
ipsec.secrets
/etc/ipsec.secrets:
<your local IP> <remote IP of Mikrotik system> : PSK "<Put your preshared key here>"
MikroTik 配置
最好从 MikroTik 设备上的终端完成以下配置。
注意:您可以使用以下配置连接两个 MikroTik 系统。只需在您想要连接的每个系统上复制以下配置即可。
/ip ipsec policy
add src-address=0.0.0.0/0 dst-address=<remote IP of strongswan system> proposal=ike2 ipsec-protocols=esp
/ip ipsec proposal
add name="ike2" auth-algorithms=sha256,sha1 enc-algorithms=aes-256-cbc,aes-128-cbc lifetime=30m pfs-group=none
/ip ipsec peer
add name="<name of strongswan system>" address=<local IP> profile=ike2 exchange-mode=main send-initial-contact=yes
/ip ipsec identity
add peer=<remote IP of strongswan system> auth-method=pre-shared-key secret="<Put your preshared key here>" generate-policy=no
/ip ipsec profile
add name="ike2" hash-algorithm=sha1 enc-algorithm=aes-256,aes-192,aes-128,3des,des dh-group=modp2048,modp1024 lifetime=8h proposal-check=obey nat-traversal=no dpd-interval=2m dpd-maximum-failures=5
答案2
我们将为此使用 PSK 身份,因为这是一个点对点链接,没有理由用证书使其复杂化。这适用于 Ubuntu 20.04 和 RouterOS 6.48.1。
在 Mikrotik 方面,只需这样做(真正的挑战是让 Strongswan 保持一致)。如果您将默认 IPSec 配置文件用于其他用途,则无法像我一样进行配置,除非每个人都可以使用相同的安全规范。
/ip ipsec proposal change 0 auth-algorithms=sha512 enc-algorithms=aes-256-cbc pfs-group=ecp521
/ip ipsec profile change 0 hash-algorithm=sha512 enc-algorithm=aes-256 dh-group=ecp521 nat-traversal=no
/interface gre6 add name=gre-whatever local-address=2002:1234::1 remote-address=2002:4321::1 ipsec-secret=changeme
在 Linux 中建立 GRE 隧道:
ip -6 tunnel add gre.wat remote 2002:1234::1 local 2002:4321::1
对于 strongswan,设置/etc/ipsec.secrets
:
2002:1234::1 2002:4321::1 : PSK changeme
为了/etc/ipsec.conf
:
conn sea1
fragmentation=yes
keyexchange=ike
authby=secret
ike=aes256-sha2_512-ecp521!
esp=aes256-sha2_512-ecp521!
left=2002:4321::1
leftid=2002:4321::1
leftsubnet=%dynamic[gre]
right=2002:1234::1
rightid=2002:1234::1
rightsubnet=%dynamic[gre]
auto=route
type=transport
现在,您可以在隧道的任一端配置 IPv4 地址,并且它们将通过 1390 的 MTU 进行隧道传输(除非您启用 MTU=9000)。