linux架设gre tunnel/隧道

GRE隧道是IP-over-IP隧道,可以封装IPv4/IPv6和单播/多播流量。要在Linux上创建GRE隧道,需要ip_gre内核模块。

先查看系统p_gre模块

sudo modprobe ip_gre
lsmod | grep gre

《linux架设gre tunnel/隧道》

在2个不同VPS或者服务器直接架设GRE隧道链接,例如VPS1,VPS2
VPS1: 172.168.1.2
VPS2: 172.168.1.3

在VPS1上是操作,gre1看你自己喜欢用什么都可以,但是有的机器gre0默认已经使用了

sudo ip tunnel add gre1 mode gre remote 172.168.1.3 local 172.168.1.2 ttl 255
sudo ip link set gre1 up
sudo ip addr add 10.10.10.1/24 dev gre1

这个是在VPS1创建一个名为gre1的GRE类型隧道,并将其远程地址设置为172.168.1.3。隧道数据包将来自192.168.1.2(本地IP地址),其TTL字段将设置为255.隧道设备的IP地址为10.10.10.1,网络掩码为255.255.255.0。

现在验证GRE隧道的路由是否已正确设置:

ip route show

《linux架设gre tunnel/隧道》

然后在VPS2重复上面的操作

VPS2操作

sudo ip tunnel add gre1 mode gre remote 172.168.1.2 local 172.168.1.3 ttl 255
sudo ip link set gre1 up
sudo ip addr add 10.10.10.2/24 dev gre1

然后VPS1和VPS2建立GRE隧道了,现在在VPS1可以测试一下:

root@VPS1 ~ # ping 10.10.10.2
PING 10.10.10.2 (10.10.10.2) 56(84) bytes of data.
64 bytes from 10.10.10.2: icmp_seq=1 ttl=64 time=120 ms
64 bytes from 10.10.10.2: icmp_seq=2 ttl=64 time=120 ms
64 bytes from 10.10.10.2: icmp_seq=3 ttl=64 time=119 ms

如果要关掉卸载GRE

sudo ip link set gre0 down
sudo ip tunnel del gre0

建静态路由,在VPS1上操作,1.1.1.0/24通过GRE隧道路由。请注意,网关地址10.10.10.2是分配给GRE隧道远程端点的IP地址(VPS2)。

sudo ip route add 1.1.1.0/24 via 10.10.10.2/24 dev gre1

link:http://ask.xmodulo.com/create-gre-tunnel-linux.html

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您必须启用 javascript 在这里查看验证码!

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据