Ubuntu 14.04,linux内核3.13.0-77-generic
我有3台服务器A,B和C.服务器A和B位于同一网络(Rackspace),服务器C位于另一个网络(AWS)中。我有一个从服务器B到服务器C所在的VPC的VPN连接.VPN连接工作,我可以通过它从服务器B向服务器C发送流量,反之亦然。我无法弄清楚的是如何将流量从服务器A路由到服务器C.我相信解决方案是在服务器A上添加静态路由,如下所示:
$> route add -net 10.0.0.0 netmask 255.252.0.0 gw xxx.xxx.xxx.xxx
其中xxx.xxx.xxx.xxx是服务器B的私有IP地址。但是,此命令的输出是
SIOCADDRT: Network is unreachable
我可以ping并从服务器A将流量路由到服务器B,因此我假设无法访问的网络是跨越VPN隧道的网络。
#/ect/sysctl.conf on server B
-----------------------------
net.ipv4.ip_forward=1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 1
net.ipv4.conf.eth0.arp_notify = 1
vm.swappiness = 0
net.ipv4.tcp_rmem = 4096 87380 33554432
net.ipv4.tcp_wmem = 4096 65536 33554432
net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
不确定我是否错误地使用route
命令,或者这是将服务器A的流量从vpn路由到服务器C的正确方法。
我还尝试在route add
命令中指定单个主机 - 服务器C的私有ip(而不是整个VPC的CIDR),但我得到相同的输出。
答案 0 :(得分:0)
服务器A和B必须位于链接本地范围内。检查地址和掩码。 托盘使用 ip route ,如: ip route通过xxx.xxx.xxx.xxx
添加10.0.0.0/14答案 1 :(得分:-1)
地址x.x.x.x位于Rackspace服务网(所有rackspace实例共享的专用网络)中。根据 Rackspace支持,不可能修改他们的服务网路由(以我想要的方式)。他们建议创建一个云网络(实际专用网络),然后设置网关并修改该网络中的路由。