ipv4 over ipv6 隧道的流程

ipv4 over ipv6 隧道的流程

从 stackoverflow 重新发布我的问题

我正在尝试在两台机器之间通过 ipv6 隧道实现 ipv4 数据包流。最初我有以下设置

Linux1 eth0                                Linux2 eth0
128.247.19.203                            128.247.19.77
2000::1/64  ---------ipv6 tunnel-----   2000::3/64

当我从 Linux 1 执行 ping 操作时,即 ping 128.247.19.77,ping 通了,但我在wireshark 中看不到 ESP 数据包。我认为这些数据包不会通过 ipv6 隧道。我想我的设置可能是错误的。

所以,我想出了以下设置

Linux1                                         Linux2
eth0.1 -128.247.19.203                         eth0.1 128.247.19.77
eth0 2000::1/64  -----ipv6 tunnel------        eth0 2000::3/64

我在想,如果从 Linux1 ping 128.247.19.77,ipv4 数据包将通过 ipv6 隧道(即从 eth0.1 开始,经过 eth0,到达 Linnux2 上的 eth0 的另一端,然后到达 eth0.1)。我的理解对吗?而且 ping 也不起作用。我已添加 128.247.19.77 作为默认网关。

请告诉我我的理解是否正确并纠正我的错误。

这是我的 ipsec.conf 文件

# ipsec.conf - strongSwan IPsec configuration file
config setup
    strictcrlpolicy=no
    charondebug=all

conn %default
    left=128.247.19.77
    leftcert=/home/root/alphaCert.der
    leftid="C=US, O=Test, CN=alpha.test.org"
    right=128.247.19.92
    rightid="C=US, O=Test, CN=beta.test.org"
    keyexchange=ikev2
    ike=aes128-sha1-modp2048!
    type=tunnel
    esp=aes128ctr-sha1-modp2048-noesn!
    lifetime=168h
    ikelifetime=168h 
    reauth=no   
    mobike=no
    mediation=no

conn Alpha-Udp2
    leftprotoport=icmp
    leftsubnet=2000::3/64
    rightprotoport=icmp
    rightsubnet=2000::1/64
    auto=start

相关内容