GRE隧道路由问题

我试图在运行Linux(V2.6.39.3)的GW上build立GRE隧道。 networking拓扑如下:

本地:

  • PC_A连接到GW
  • PC_A由GW主机中的专用RND(路由networking设备)VLAN表示
  • GRE隧道对象在GW主机上创build
  • erouter0 iterface是WAN的GW接口

远程(GRE服务器):

  • erouter0 iterface是WAN的GW接口
  • GRE隧道对象在GRE服务器主机上创build

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<本地>>>>>>>>>>>>>>> >>>>>>>>>>>> <=远程
PC_A <===> VLAN接口<===> GRE隧道接口<====> erouter0 <== Internet ==> erouter0 <==> GRE隧道

  • PC_A:192.168.2.20
  • VLAN接口:192.168.2.1
  • GRE隧道(本地) – ? (不知道如果一个IP地址是强制性的)
  • erouter0(本地) – 10.139.39.59
  • erouter0(远程) – 10.139.39.148
  • GRE隧道(远程) – ? (不知道如果一个IP地址是强制性的)

我正在使用以下过程在本地创buildGRE隧道:

  1. ip tunnel add gretun0 mode gre remote 10.100.39.148 local 10.100.39.59 dev erouter0
  2. ip link set dev gretun0 up
  3. ip规则添加iif l2sd0.2表4
  4. ip route add table 4默认dev gretun0

****可以注意到,我没有为GRE隧道设置IP地址(这是必要的吗?)

问题:

一旦从PC_A生成Iperf UDPstream量到GRE服务器,stream量就不会到达目的地。 而且,一旦使用tcpdump分析了通过相关接口的stream量,我只能观察到达本地RND VLAN接口的数据包,但是它们决不会到达GRE隧道接口和本地erouter0接口。

我试图找出问题是否与我使用的错误configuration有关,但直到现在我找不到问题的根本原因。

我感谢你的善意的build议/援助。

谢谢,奥伦