如何为我的 vpn 连接设置路由

fl0*_*00r 19 vpn routing internet vpnc

在我之前的问题中,我询问了有关设置 vpnc 连接的问题。我已经安装network-manager-vpnc好了,现在我可以直接从网络管理器 gui 配置所有这些东西。

我从相关主题中得到了这张漂亮的图片:

我从相关主题中得到了这张漂亮的图片:

所以问题是如何确定我应该使用什么地址、网络掩码和网关来仅通过 vpn 传递此流量。

作为基础,我有一个ip和一个我想通过 vpnc 使用的外部服务的端口。所以 inernet 和其他流量应该像往常一样通过以太网或 wifi。

  • 外网ip:10.20.30.40
  • 端口:1433(实际上是sql server)

小智 21

  1. 现在单击“IPv4 设置”选项卡,然后单击“路由...”
  2. 单击“添加”,然后在“地址”框中输入您要访问的机器的 IP 地址。对于我们的 XYZ 服务器,这是“203.0.113.3”。在“网络掩码”框中输入“255.255.255.255”(表示我们只需要这个 IP 地址)。将网关和指标框留空。
  3. 选择“仅将此连接用于其网络上的资源”
  4. 在“编辑 IPv4 路由”框中单击“确定”
  5. 点击“保存...”

复制自http://blog.rac.me.uk/2013/10/20/linux-setting-up-a-vpn-to-only-route-specific-ip-addresses/

  • 这是前一段时间,所以现在您不能将网关列留空。 (4认同)
  • @Andy 如果您将 0.0.0.0 设置为网关,它似乎可以工作 (4认同)

est*_*rdo 10

我在办公室使用 VPN 连接到我的内部网络。我想使用我的提供商来保持我的互联网访问,但我也想访问办公室内的多台机器

为此,我选择:

  • 仅将此连接用于其网络上的资源
  • 添加一条新路线:
    • IP address: 192.168.100.0(我的办公网络地址;不仅仅是一台特定的机器)
    • Netmask: 255.255.255.0
    • Gateway: 192.168.100.143(我第一次连接VPN后从路由表中获取IP)。
    • Metric: 1

此命令行与上述配置相同:

sudo route add -net 192.168.100.0/24 gw 192.168.100.143 metric 1
Run Code Online (Sandbox Code Playgroud)

之后,我可以使用 ssh、remmina 等连接到该网络上的任何办公室主机。


小智 7

如果您只想为单个主机添加静态路由,请尝试运行此命令

nmcli connection modify <Connection-Name> ipv4.routes '10.20.30.40/32'
Run Code Online (Sandbox Code Playgroud)

或者如果您想添加到子网的静态路由

nmcli connection modify <Connection-Name> ipv4.routes '10.20.30.0/24'
Run Code Online (Sandbox Code Playgroud)

设置的一般语法ipv4.routes是:'ip[/prefix] [next-hop] [metric] [attribute=val]... [,ip[/prefix] ...]'。此处的文档: https: //developer.gnome.org/NetworkManager/unstable/nm-settings.html

要找出您的 VPN 连接名称,只需运行nmcli connection show.

执行此类操作(而不是通过 UI)的副作用是,如果不先删除此路由,则无法再通过 UI 修改内容。恕我直言,这是一个漂亮的转储验证,但您可以从 UI 中删除路由,执行您想要的任何其他更改,然后重新运行命令nmcli


小智 6

我以这种方式得到了“地址”、“网络掩码”和“网关”:

1)正常连接VPN

2)运行“ifconfig”命令。输出是这样的:

eth0      ....
          .... 

lo        ....
          .... 

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:172.16.11.15  P-t-P:172.16.11.1  Mask:255.255.255.255
          .... 
          .... 
Run Code Online (Sandbox Code Playgroud)

现在:

  • 将“地址”设置为您要通过 VPN 连接到它的 IP 地址
  • 在 ppp0 输出中将“网络掩码”设置为“掩码”值
  • 在 ppp0 输出中将“网关”设置为“ptp”值