如何将特定网络路由到虚拟机?


0

我有以下配置:

  • Linux机器用ip 10.0.0.99
  • 使用ip 192.168.0.1桥接虚拟接口
  • linux中的lxc容器通过ip 192.168.0.2在桥上
  • 使用ip 172.xx.x.xxx在容器上使用vpn
  • vpn背后的机器在网络10.232.10.0/24中

我想从Linux机器上获取来自vpn的ips

为什么我尝试:ip route通过192.168.0.1 dev bridge_lxc添加192.168.0.0/24

ping / ssh适用于192.168.0.2

试图通过192.168.0.2路由vpn网络:ip route add 10.232.10.0/24 via 192.168.0.2 dev bridge_lxc RTNETLINK答案:网络无法访问

如何通过容器内的虚拟机路由所有vpn网络?


所以看起来我需要这样做:ip route add 10.232.10.0/24 via 192.168.0.2 dev bridge_lxc onlink
cristi 2013年

Answers:


0

该错误消息表明您尝试添加此路由的主机不知道192.168.0.2在哪里。您需要先提供该路线。

通常:如果您希望从10.xxx网络访问172.xxx网络范围,您将需要让10.xxx网络中的计算机知道您的主机是172.xxx范围的路由器。

您还需要在主机上为该范围设置足够的路由:

ip route add 172.x.x.x/xx via 192.168.0.2

如果您有水平分割VPN,则还需要向VPN客户端通告10.xxx网络范围(可能还有192.xxx范围)。

为了调试您的网络路由,我建议您熟悉该ip route get命令。它显示了通过哪个界面查看目标地址。请记住,路由需要双向工作。返回数据包必须找回路。


对我来说,它做了以下工作:ip route add 10.232.10.0/24 via 192.168.0.2 dev bridge_lxc onlink。我无法再使用机器来测试你的
消化
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.