Ubuntu 服务器和 OpenVPN 客户端,SSH 访问!

Ubuntu 服务器和 OpenVPN 客户端,SSH 访问!

我在谷歌云上有一个实例,它运行的是 ubuntu 服务器 18.04 LTS,我设置了 openvpn,但一旦连接,它就会将我从 SSH 中移除。我正在运行 nordvpn,我知道不允许端口转发,但是有没有办法让它将我的原始 IP 地址连接到 ssh?

我的公共 IP 是:35.246.229.999 我的 eth0 是:10.156.0.39 和环回:127.0.0.1

VPN IP 我们猜是 89.9.8.1(我怀疑现在不需要)

那么如何设置呢?我必须对 IP 路由进行一些操作,但我就是搞不清楚!所有这些默认网关、子网,我都是菜鸟,有人能帮我设置一下吗?

答案1

我并不是 Ubuntu 或 Linux 专家,但去年对此进行了大量研究,并且找到了一个对我来说非常有效的解决方案。

在连接到 VPN 客户端之前获取 VM 的网络信息

ifconfig

ens4      Link encap:Ethernet  HWaddr 42:01:0a:8a:00:04  
          inet addr:10.138.0.4  Bcast:10.138.0.4  Mask:255.255.255.255
          inet6 addr: fe80::4001:aff:fe8a:4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1460  Metric:1
          RX packets:1981508 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1035619 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12219837340 (12.2 GB)  TX bytes:3879977314 (3.8 GB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:56603 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56603 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:30401852 (30.4 MB)  TX bytes:30401852 (30.4 MB)

记下适配器和 IP 地址,因为 GCP 是有线的,您必须直接从 GCP 门户获取子网。

图片 1

图片 1

一旦您获得 IP/网络信息,工作就开始了。

  1. 备份路由表并向现有表添加 VPNBypass。

    sudo su
    cp /etc/iproute2/rt_tables /etc/iproute2/rt_tables_orig
    echo "250   vpnbypass" >> /etc/iproute2/rt_tables
    exit
    

    用于cat /etc/iproute2/rt_tables确认绕过条目rt_table

    在继续操作之前请确保该条目已存在。

  2. 更新绕过绕过 VPN 进行子网通信的表

    请注意,我使用子网和以太网名称将规则添加到 vpnbypass 表

    sudo ip rule add from 10.138.0.0/20 table vpnbypass #Allow communication from Subnet
    sudo ip rule add to 10.138.0.0/20 table vpnbypass  #Allow communication to Subnet
    sudo ip rule add to 169.254.169.254 table vpnbypass  #Allow communication to Metadata Service
    sudo ip route add table vpnbypass to 10.138.0.0/20 dev ens4 #Selecting route for vpnbypass table
    sudo ip route add table vpnbypass default via 10.138.0.1 dev ens4 #selecting gateway
    
  3. 连接到您的 VPN,连接不应断开。您可以使用curl ipinfo.io来确认您已使用 VPN。

选修的

您可以编辑该rc.local文件以确保在重启时重新应用配置。

sudo vi /etc/rc.local

将以下行添加到文件

sudo ip rule add from 10.138.0.0/20 table vpnbypass #Allow communication from Subnet
sudo ip rule add to 10.138.0.0/20 table vpnbypass  #Allow communication to Subnet
sudo ip rule add to 169.254.169.254 table vpnbypass  #Allow communication to Metadata Service
sudo ip route add table vpnbypass to 10.138.0.0/20 dev ens4 #Selecting route for vpnbypass table
sudo ip route add table vpnbypass default via 10.138.0.1 dev ens4 #selecting gateway

相关内容