我完全configuration(远程)Debian GNU / Linux专用服务器托pipe的专用服务器,并且我有一个networking路由问题(AFAICT正好符合serverfault的常见问题)。
该专用服务器具有静态IPv4 IP和非常简单的路由:
route -n Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 94.xx.yy.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 94.xx.yy.254 0.0.0.0 UG 0 0 0 eth0
我只有一个静态IP,在同一个子网上有很多其他的专用服务器,我不能搞乱。
该服务器托pipe/服务我们公司的主Web应用程序(Apache + Tomcat),并运行Squid。 我自己做了所有的configuration。 一旦预算允许,我会移动Squid到另一台服务器。
现在,我想添加OpenVPN到该服务器(最好使用tun,而不是点击),我想知道需要做些什么来确保我的接口不会与其他专用服务器“冲突”。
我不明白应该怎么做,我对这条路线最终会变成什么样子感到困惑。
为了帮助我理解“大局”,有人可以给出一个确切的例子:
基本上我有点迷路,在开始之前我想了解在OpenVPN服务器上如何完成路由。
据我了解,OpenVPN客户端应该与OpenVPN服务器(使用10.0.0.0/8networking)在同一个networking上,但是我打了一个心理障碍,试图弄清楚客户端将如何使用'tun'接口,然后最终使用94.xx.yy.254网关。
假设VPN客户端具有以下IP设置:
IP eth0: 192.168.1.100 Default gateway: 192.168.1.1
那么,所有的非本地stream量都将通过192.168.1.1出去。 如果有局域网上的另一个主机的stream量,它只会去那个主机。
OpenVPN启动,客户端得到一个新的接口tun0,然后我们看到如下所示:
IP eth0: 192.168.1.100 IP tun0: 10.8.0.13 Default gateway: 192.168.1.1 VPN routing: 10.8.0.1 for the network 10.8.0.0/24
这假定OpenVPN服务器没有推送任何额外的路由。 所以,一个networking包,比如说8.8.8.8,仍然会穿过局域网的默认网关192.168.1.1。 例如10.8.0.204的数据包将穿过OpenVPN隧道,到达10.8.0.1的OpenVPN服务器以进一步路由。
如果OpenVPN服务器为其局域网(例如172.16.0.0/24)推送路由,那么上面的VPN路由可能如下所示:
VPN routing: 10.8.0.1 for the network 10.8.0.0/24 10.8.0.1 for the network 172.16.0.0/24
因此,类似地,172.16.0.24的数据包将进一步路由到10.8.0.1。
如果OpenVPN服务器也在推送设置"redirect-gateway def1" ,那么VPN客户端的默认网关是不同的。 你会看到像这样的东西:
IP eth0: 192.168.1.100 IP tun0: 10.8.0.13 Default gateway: 10.8.0.1 (other gateway with lower priority): 192.168.1.1 Static route: 94.xx.yy.zz uses 192.168.1.1
其中94.xx.yy.zz是你的OpenVPN服务器的公共IP地址。
在这种情况下,直接为您的OpenVPN服务器的通信将通过LAN默认网关192.168.1.1。 本地到192.168.1.0/24的stream量将按照预期进入主机。 其他任何stream量都将使用10.8.0.1; 不直接与OpenVPN服务器的公共IP相关的非本地stream量将穿过VPN隧道,并从94.xx.yy.254出现。
您可能会看到路由表中保留192.168.1.1作为网关的另一个默认路由,但它将具有比10.8.0.1更低的优先级。 我想,这更多的是OpenVPN客户端的占位符,这样它就知道一旦VPNclosures,就可以将默认路由设置回。 别担心那个条目。