一些与GRE有关的问题,IPSec传输的远端“永久地粘在”环路上

所以,我设法使用racoon在两个主机之间通过ESP获得IPSec传输:“本地”主机1.1.1.1和远程2.2.2.2 。 它只适用于ICMP(其他stream量忽略了SA),但这是一个单独的问题。 为了试图让所有的stream量穿越安全的交通工具,我决定build立一个GRE隧道,改变我的setkeyconfiguration

 spdadd 2.2.2.2 1.1.1.1 any -P in ipsec esp / transport // require;
 spdadd 1.1.1.1 2.2.2.2 any -P out ipsec esp / transport // require;

 spdadd 2.2.2.2 1.1.1.1 gre -P in ipsec esp / transport // require;
 spdadd 1.1.1.1 2.2.2.2 gre -P out ipsec esp / transport // require;

随着flush; spdflush flush; spdflush头。

从本质上讲,我在这之后所做的工作就是设置双方的GRE隧道,据我所知尽可能正确configurationGRE隧道,但最终没有经过IPSec处理,据我所知。 (隧道/端点地址是正确的,路由到位)。 无论如何,我在这个结尾摧毁了gre1 ,然后down gre0 ,这似乎不是可销毁的。

现在,所有到2.2.2.2stream量都被redirect到lo (根据tcpdump),而这个地址并不关联。 没有route ,也没有任何iptables转发或类似的东西,没有在/etc/hosts 。 无论racoon是否正在运行 – 即使它返回到与ICMP一起使用的完全相同的configuration(即上面的第一个configuration),这仍然存在。

我想返回到“正确的”状态,而不用重新启动,但更重要的是,我对迄今为止所说的这种行为是可能的感兴趣。 如果他们有帮助,很乐意提供更多的细节。

按照Lairsdragon的要求, 编辑额外的输出:

ip address

 1:lo:mtu 65536 qdisc noqueue state UNKNOWN组默认 
    链接/回放00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8作用域主机lo
       永远永远的preferred_lft永久valid_lft
     inet6 :: 1/128作用域主机 
       永远永远的preferred_lft永久valid_lft
 2:dummy0:mtu 1500 qdisc noop state DOWN组默认值 
     link / ether 0e:09:76:da:e2:22 brd ff:ff:ff:ff:ff:ff
 3:eth0:mtu 1500 qdisc pfifo_fast状态UP组默认qlen 1000
     link / ether f2:3c:91:50:42:a1 brd ff:ff:ff:ff:ff:ff
     inet 1.1.1.1/24 brd 1.1.1.255 scope global eth0
       永远永远的preferred_lft永久valid_lft
     inet6 --- / 64范围全局mngtmpaddrdynamic 
        valid_lft 2591995sec preferred_lft 604795sec
     inet6 --- / 64范围链接 
       永远永远的preferred_lft永久valid_lft
 4:teql0:mtu 1500 qdisc noop状态DOWN组默认qlen 100
    链接/空白 
 5:tunl0 @NONE:mtu 1480 qdisc noop state DOWN组默认值 
     link / ipip 0.0.0.0 brd 0.0.0.0
 6:gre0 @NONE:mtu 1476 qdisc noqueue state DOWN组默认值 
     link / gre 1.1.1.1 brd 2.2.2.2
     inet 2.2.2.2/8 scope global gre0
       永远永远的preferred_lft永久valid_lft
     inet 10.0.0.1/32 scope global gre0
       永远永远的preferred_lft永久valid_lft
 7:gretap0 @ NONE:mtu 1462 qdisc noop state DOWN组默认qlen 1000
    链接/以太网00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
 8:ip_vti0 @ NONE:mtu 1428 qdisc noop state DOWN组默认值 
     link / ipip 0.0.0.0 brd 0.0.0.0
 9:ip6_vti0:mtu 1500 qdisc noop state DOWN组默认值 
     link / tunnel6 :: brd ::
 10:sit0:mtu 1480 qdisc noop state DOWN组默认值 
     link / sit 0.0.0.0 brd 0.0.0.0
 11:ip6tnl0:mtu 1452 qdisc noop state DOWN组默认值 
     link / tunnel6 :: brd ::
 12:ip6gre0:mtu 1448 qdisc noop state DOWN组默认值 
     link / gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00 :00:00:00:00:00:00:00:00

ip route show 2.2.2.2

本地2.2.2.2 dev lo src 2.2.2.2
    高速caching  

ip xfrm policy

 src 1.1.1.1/32 dst 2.2.2.2/32 proto tcp 
        目录优先2147483648 
         tmpl src 0.0.0.0 dst 0.0.0.0
                原型esp reqid 0模式传输
 src 1.1.1.1/32 dst 2.2.2.2/32 proto udp 
        目录优先2147483648 
         tmpl src 0.0.0.0 dst 0.0.0.0
                原型esp reqid 0模式传输
 src 1.1.1.1/32 dst 2.2.2.2/32 proto icmp 
        目录优先2147483648 
         tmpl src 0.0.0.0 dst 0.0.0.0
                原型esp reqid 0模式传输
 src 2.2.2.2/32 dst 1.1.1.1/32 
        目录优先权2147483648 
         tmpl src 0.0.0.0 dst 0.0.0.0
                原型esp reqid 0模式传输
 src 2.2.2.2/32 dst 1.1.1.1/32 
        目录优先2147483648 
         tmpl src 0.0.0.0 dst 0.0.0.0
                原型esp reqid 0模式传输
 src 0.0.0.0/0 dst 0.0.0.0/0 
        套接字优先级为0 
 src 0.0.0.0/0 dst 0.0.0.0/0 
        套接字优先级为0 
 src 0.0.0.0/0 dst 0.0.0.0/0 
        套接字优先级为0 
 src 0.0.0.0/0 dst 0.0.0.0/0 
        套接字优先级为0 

你会注意到在ip address上有一个10.0.0.1 ,这是我试图build立的隧道的本地端点。 (另外,这里只是为了省面子,我没有看到任何与ip route show相关的输出,当然不是我们在这里看到的用ip route get 2.2.2.2

我喜欢build议执行以下命令清除您的networking的东西:

清除ipsec转换集

 ip xfrm policy flush ip xfrm state flush 

清除未使用的gre隧道的IP地址:

 ip address flush dev gre0 

这应该从正在运行的networkingconfiguration中删除不需要的部分。 请确保从你的发行版configuration文件中删除这些东西。

编辑 :根据A__A__0注释从gre0接口中删除@NONE。