AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1065397
Accepted
David Kamer
David Kamer
Asked: 2018-08-15 11:55:38 +0800 CST2018-08-15 11:55:38 +0800 CST 2018-08-15 11:55:38 +0800 CST

如何通过 vpn 适配器路由所有流量?

  • 772

我正在使用 SoftEther,但这可能无关紧要。

我有以下适配器:

vpn_myadapter: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 [redacted]  prefixlen 64  scopeid 0x20<link>
        ether [redacted]  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我有以下路线:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         dslrouter.netge 0.0.0.0         UG    600    0        0 wlp4s0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 virbr0
192.168.123.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.254.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp4s0

我需要知道如何轻松使用 Ubuntu 通过我的 VPN 适配器路由所有互联网流量。

networking vpn routing
  • 1 1 个回答
  • 19152 Views

1 个回答

  • Voted
  1. Best Answer
    David Kamer
    2018-08-15T21:46:25+08:002018-08-15T21:46:25+08:00

    此答案假定您已经成功连接您的帐户并拥有一个工作适配器。

    好的,在筛选了有关 IP 表/路由的教程后,我找到了适用于 SoftEther 的解决方案,该解决方案应该与其他 VPN 适配器一起使用,以通过适配器传输流量。

    首先运行 ip neigh 以获取 VPN 网络的默认网关和该网络的默认网关。您还需要远程服务器 IP。如果这没有为您获取信息,请在您的 VPN 适配器ifconfig的tcpdumpIP 上运行。

    您可以轻松地将以下步骤组合到 bash 脚本中和/或反转它们以断开 VPN 适配器:

    首先,您需要从服务器获取 DHCP 信息:

    sudo dhclient vpn_myadapter
    

    vpn_myadapter是可以通过 找到的适配器名称ifconfig。

    其次,您必须创建一条从您的 VPN 服务器的 IP 地址到您的本地 Internet 网关的路由,该路由将您带到 Internet。55.55.55.55是我将用作示例服务器地址的地址。此外,您还需要知道您的 Internet 连接和 VNA(虚拟网络适配器)的适配器名称,您可以使用ifconfig. 您还可以使用ip neigh获取适配器及其网关的简明列表。

    创建从 VPN IP 到本地网关的路由的命令(在本例中为 192.168.0.1)

    sudo ip route add 55.55.55.55/32 via 192.168.0.1 dev eth0
    

    确保 eth0 设置为与本地网关对应的适配器

    接下来,您将删除默认路由所有流量的默认路由。

    sudo ip route del default
    

    现在您将添加一个将使用VPN 的默认网关的默认路由。此信息可以从您的提供商、您设置的服务器或使用 、 和 的tcdump组合ip neigh收集ifconfig。此时您可能能够找到信息,但ip neigh如果您现在无法找到信息,则应该在开始时运行。我将使用 SoftEther 提供的默认网关,即192.168.30.1.

    sudo ip route add default via 192.168.30.1 dev vpn_myadapter
    

    这应该通过远程网络路由您的所有流量。如果您仍然无法连接到互联网,您将需要在您的服务器上运行(您不应该DhcpEnable,SecureNatEnable但可能需要NatEnable根据您的配置运行)如果您在连接客户端后无法获得 dhcp 或互联网工作通过这些步骤或您的dhclient命令不起作用。我不确定您的服务器在更新后是否需要重新启动。

    编辑:SecureNatEnable将启用 NAT 和 DHCP。

    • 6

相关问题

  • 如何设置 VLAN 转发?

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve