如何使用gre協議搭建***服務
1、需求
現有兩個公網ip(不一定要是公網,只要是能夠互相通信,ping得通,就可以用來構建***),這裏以公司內網爲例
ip1:172.18.3.11
ip2:172.18.5.104
在這兩個ip之間構建***
2、配置
主機1
ip1:
eth0 172.18.3.11
eth0:1 172.18.7.100
ip tunnel add tun mode gre remote 172.18.5.104 local 172.18.3.11 ttl 255 //利用能夠相互通信的ip地址構建隧道
ip link set tun up //啓用隧道
ip addr add 10.10.10.2 peer 10.10.10.1 dev tun //給隧道配置ip地址
ip ro add 172.18.6.0/24 via 10.10.10.1 dev tun src 10.10.10.2 //添加路由
echo 1 > /proc/sys/net/ipv4/ip_forward
注意:主機1上的ip地址172.18.3.11是當作公網ip構建***通道使用的,這個ip可以不再主機1上,但一定要保證它和172.18.7.100是互通的。它真正的ip地址應該是172.18.7.0網段的
ip172.18.7.100,我們在主機2上可以看出來,構建***是爲了讓172.18.6網段和172.18.7網段通信,這兩個網段就是他們各自的IP地址所在的網段。
主機2
ip2:
eth0 172.18.5.104
eth0:1 172.18.6.100
ip tunnel add tun mode gre remote 172.18.3.11 local 172.18.5.104 ttl 255 //利用能夠相互通信的ip地址構建隧道
ip link set tun up //啓用隧道
ip addr add 10.10.10.1 peer 10.10.10.2 dev tun //給隧道配置ip地址
ip ro add 172.18.7.0/24 via 10.10.10.2 dev tun src 10.10.10.1 //添加路由
echo 1 > /proc/sys/net/ipv4/ip_forward
這樣***就算搭建好了,6網段和7網段也可以相互通信了,那如何驗證***是否搭建成功呢。
另外找一臺機器,ip配置成172.18.6.111,網關設置爲172.18.6.100
我們就在7.100上跟蹤一下路由,看看是不是走的我們搭建好的***
# traceroute 172.18.6.111
traceroute to 172.18.6.111 (172.18.6.111), 30 hops max, 40 byte packets
1 10.10.10.1 (10.10.10.1) 0.963 ms 0.862 ms 0.890 ms ------------------》沒錯,走的就是***隧道
2 172.18.6.111 (172.18.6.111) 1.394 ms 1.342 ms 1.611 ms
大功告成!