在具有活动OpenVPN客户端的服务器上允许SSH

我有一台运行CentOS 7的VPS,我用SSH连接.我想在VPS上运行OpenVPN客户端,以便通过VPN路由互联网流量,但仍允许我通过SSH连接到服务器.当我启动OpenVPN时,我的SSH会话断开连接,我无法再连接到我的VPS.如何配置VPS以允许在VPS的实际IP(104.167.102.77)上打开传入的SSH(端口22)连接,但是仍然通过VPN路由传出流量(例如从VPS上的Web浏览器)?

我使用的OpenVPN服务是PrivateInternetAccess,示例config.ovpn文件是:

client
dev tun
proto udp
remote nl.privateinternetaccess.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
tls-client
remote-cert-tls server
auth-user-pass
comp-lzo
verb 1
reneg-sec 0
crl-verify crl.pem

VPS的ip addr:

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:be:16:f7 brd ff:ff:ff:ff:ff:ff
    inet 104.167.102.77/24 brd 104.167.102.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:febe:16f7/64 scope link
       valid_lft forever preferred_lft forever
4: tun0:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none
    inet 10.172.1.6 peer 10.172.1.5/32 scope global tun0
       valid_lft forever preferred_lft forever

VPS的ip路由:

0.0.0.0/1 via 10.172.1.5 dev tun0
default via 104.167.102.1 dev ens33  proto static  metric 1024
10.172.1.1 via 10.172.1.5 dev tun0
10.172.1.5 dev tun0  proto kernel  scope link  src 10.172.1.6
104.167.102.0/24 dev ens33  proto kernel  scope link  src 104.167.102.77
109.201.154.177 via 104.167.102.1 dev ens33
128.0.0.0/1 via 10.172.1.5 dev tun0
最佳答案
我遇到了类似的问题,并且一直在尝试this forum post中描述的修复.

我们的想法是,当您连接到公共IP地址时,返回数据包将通过VPN路由.您需要强制通过公共接口路由这些数据包.

这些路由命令有望成功:

ip rule add from x.x.x.x table 128

ip route add table 128 to y.y.y.y/y dev ethX

ip route add table 128 default via z.z.z.z

如果x.x.x.x是您的公共IP,y.y.y.y / y应该是您的公共IP地址的子网,ethX应该是您的公共以太网接口,z.z.z.z应该是默认网关.

请注意,这对我没有用(使用Debian和PrivateInternetAccess),但可能会帮助你.

转载注明原文:在具有活动OpenVPN客户端的服务器上允许SSH - 代码日志