Linux GRE 中使用source based routing

现在很多米国的机房都在使用cisco 的路由,禁止流量从不属于自己的ip space 中流出自己的network,这就给GRE tunnel 造成了很大的不变。

但是也不是没有解决办法,这就是source based routing。

分为三步:

1) 加个路由表

2) 让tunnel 过来的 IP 使用新家的路由表

3) 给新加的路由表添加一个默认的gateway就可以了,这样通过tunnel 过来的IP 就可以按照原路返回

code:

1) echo ‘100 GRE’ >> /etc/iproute2/rt_tables

2) ip rule add from 198.255.255.0/24 table GRE

这里认为你把整个c段198.255.255.0/24 tunnel 到你现在的这台机器上

3) ip route add default via 192.168.1.1 table GRE

让这个新的IP 段使用192.168.1.1的 gateway,按照原来返回