我有两个Linux机箱之间configuration的GRE隧道。 隧道工作正常。 我可以从每个主机ping其他私人IP。
head privateip:10.0.0.1
publicip:8.8.8.8
尾巴privateip:10.0.0.2
publicip:7.7.7.7
尾部的公共IP具有通过7.7.7.7接口静态路由的networking块9.9.9.0/23。 这个想法是使9.9.9.0/23 IPS在8.8.8.8networking上的服务器上工作。
我configuration尾部主机来路由/ 23块。 我在头部服务器上安装了一个9.9 IP。 我可以将9.9 ip从尾部连接到头部。
我无法从公网上ping 9.9 ip。
我觉得我需要添加一些其他的路由,因为网关问题,但我似乎无法绕过它(不是一个路由器的人,只是通过我以前从未做过,依稀理解的东西打我的方式)
–danks
这有点晚了,但是如果你没有解决这个问题,这里是如何:
给你的例子只是取代:
公共ips:
与gre隧道:
在A:
# adding the interface for the tunnel $ ip tunnel add tun2 mode gre remote 70.2.2.3 ttl 64 # setting the private ip address $ ifconfig tun2 10.0.201.1/24 $ ifconfig tun2 up # A point to point $ ifconfig tun2 pointopoint 10.0.201.2 # enabling multicast (it's not necessary for this) $ ifconfig tun2 multicast $ ifconfig tun2 arp $ ifconfig tun2 broadcast # default route for the tunnel $ ip route add 10.0.201.2 dev tun2 # enable ip forward $ echo 1 > /proc/sys/net/ipv4/ip_forward # add the permanent entries to the arp table in order to get the complete loop. (without this doesn't work) # replace the public ips for your ips, and the mac for your real mac for your interface # the word pub it's the most important here, if it's not there the arps will never go outside $ arp -s 50.2.2.20 00:00:00:00:00:00 -i eth0 pub $ arp -s 50.2.2.21 00:00:00:00:00:00 -i eth0 pub $ arp -s 50.2.2.22 00:00:00:00:00:00 -i eth0 pub
在B:
# adding the interface for the tunnel $ ip tunnel add tun2 mode gre remote 50.2.2.2 ttl 64 # setting the private ip address $ ifconfig tun2 10.0.201.2/24 $ ifconfig tun2 up # point to point B $ ifconfig tun2 pointopoint 10.0.201.1 # enabling multicast (it's not necessary for this) $ ifconfig tun2 multicast $ ifconfig tun2 arp $ ifconfig tun2 broadcast # default route for the tunnel $ ip route add 10.0.201.1 dev tun2 $ echo 1 > /proc/sys/net/ipv4/ip_forward # putting the ips to listen in the eth0 as secondary ips $ ip ad add 50.2.2.20/32 dev eth0 $ ip ad add 50.2.2.21/32 dev eth0 $ ip ad add 50.2.2.22/32 dev eth0
就是这样,你应该有一个function齐全的隧道,并且能够路由远离你想使用它的ips,所以你现在可以开始把一些守护进程绑定到这些IP上。
还有一件事要记住,如果你有这么多的IP,你必须小心点A上的广播域,如果你打算隧道超过500个IP,那么你必须改变默认Linux为arp表的值,以保持所有条目:
$ echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh1 $ echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh2 $ echo 16384 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
资料来源:
我很久以前也在找同样的东西,find你的post。
路线需要双向存在,一直贯穿path。 我不太清楚你的描述究竟是什么不工作。