如何为ubuntu配置GRE隧道?

如何为ubuntu配置GRE隧道?

我正在尝试在两台 Ubuntu PC 之间配置 gre 隧道:第一台使用 wlan1 接口 192.168.1.51,第二台使用 wlan2 192.168.1.2。

电脑1:

ip link add gre1 type gretap remote 192.168.1.2 local 192.168.1.51
ip link set dev gre1 up

gre1@NONE: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1462 qdisc pfifo_fast state
UNKNOWN mode DEFAULT group default qlen 1000
link/ether 92:d0:28:8b:3e:a6 brd ff:ff:ff:ff:ff:ff promiscuity 0 
gretap remote 192.168.1.2 local 192.168.1.51 ttl inherit 

电脑2:

ip link add gre1 type gretap remote 192.168.1.51 local 192.168.1.2
ip link set dev gre1 up

7: gre1@NONE: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1462 qdisc pfifo_fast
state UNKNOWN mode DEFAULT group default qlen 1000
link/ether ba:09:9a:66:85:02 brd ff:ff:ff:ff:ff:ff promiscuity 0 
gretap remote 192.168.1.51 local 192.168.1.2 ttl inherit 

但是当我从 .51 ping 到 .2 时,我没有看到任何 GRE 封装。它只是通过 wlan 接口。

电脑1:

10.1.0.0/16 dev eth0  proto kernel  scope link  src 10.1.0.51  metric 1 
192.168.1.0/24 dev wlan1  proto kernel  scope link  src 192.168.1.51

答案1

配置缺少隧道接口的 IP 地址。

PC1:192.168.1.51(假设隧道IP:10.200.0.51)

ip tunnel add gre1 mode gre remote 192.168.1.2 local 192.168.1.51 ttl 255
ifconfig gre1 up
ifconfig gre1 10.200.0.51

PC2:192.168.1.2(隧道IP:10.200.0.2)

ip tunnel add gre1 mode gre remote 192.168.1.51 local 192.168.1.2 ttl 255
ifconfig gre1 up
ifconfig gre1 10.200.0.2

答案2

我知道这是一个老问题,但在寻找其他东西时,我发现了这个并决定回答。

长话短说,事实并非如此。

答案有点长:两端都需要单独的 IP:隧道端点将获得比 WLAN 地址更不同的 IP。因此,您将 192.168.1.0/24 作为您的主(物理)网络。然后,您将拥有 10.0.0.0/24 作为您的虚拟 (GRE) 网络。如果您为 gre1 接口提供 10.0.0.0/24 子网中的 IP,然后进行 ping 操作,它们将通过 GRE 链路。观察 wlan 连接上的流量应该会显示 GRE 封装。

相关内容