12

I'm using Linux CentOS 7 Server and I already installed OpenVPN and NordVPN servers which I use to connect my Linux to.

After establishing the VPN Connection, immediately my SSH access got disconnected.

How to allow SSH access to the server while it's connected to VPN Server? And how to make it work whenever the server is rebooted?

I used this tutorial on my setup: https://nordvpn.com/tutorials/linux/openvpn/

2 Answers 2

15

When using the NordVPN Linux client, iptables are used to change traffic instead of modifying the routes. To allow SSH to go through, you need to whitelist the SSH port.

nordvpn whitelist add port 22

2
  • 5
    Hi, Thanks for the answer, but could you elaborate? When I'm running (on the server) nordvpn connect ; nordvpn whitelist add port 22 I still can't ssh into the server afterwards using the servers real IP address, and I don't know the remote IP address.
    – chw21
    Dec 12, 2019 at 5:28
  • cool, that worked for me too
    – soupdiver
    Jan 8, 2021 at 8:55
9

I were able to find a solution for my issue by:

when you connect to the Server by its public IP address, the return packets get routed over the VPN. You need to force these packets to be routed over the public eth0 interface. These route commands should do the trick:

ip rule add from x.x.x.x table 128
ip route add table 128 to y.y.y.y/y dev eth0
ip route add table 128 default via z.z.z.z

Where x.x.x.x is your Server public IP, y.y.y.y/y should be the subnet of your Server public IP address, eth0 should be your Server public Ethernet interface, and z.z.z.z should be the default gateway.

3
  • This doesn't seem to be working for me and I'm not sure how to go about debugging it. Anyone got any suggestions? Dec 27, 2019 at 19:50
  • Thank you very much! This worked for me, but I had to change eth0 to the proper interface. And I had to whitelist port 22 as described before.
    – Thiago
    May 4, 2021 at 14:36
  • 2
    How do you find x.x.x.x y.y.y.y and z.z.z.z ?
    – yarek
    Nov 29, 2021 at 11:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.