OpenVPN: Route only specific subnetwork through vpn - works for single IP adresses
Solution 1:
Your netmask is not valid for the IP address you're using. Specifically, if you take your IP addresses and convert them to binary you get:
IP = x.y.19.178 = XXXXXXXX.YYYYYYYY.00010011.10110010
MASK = 255.255.255.252 (/30) = 11111111.11111111.11111111.11111100
In order for an IP address to be valid for a subnet, the IP must be at the beginning of the subnet, or in binary terms, the IP can only have 1
s where the subnet mask has 1
s. So, if we remove the last 1
from the IP we get:
IP = x.y.19.176 = 00001010.00000000.00010011.10110000
So, the start of your subnet should actually be x.y.19.176
. You'll have to calculate appropriate IPs if you want a subnet different than a /30
. I used this tool to do some calculations.
Also note: if you just run the command given in the log at the command line
/sbin/ip route add x.y.19.178/24 via z.a.0.1
You'll get the error back. On my machine I got "Invalid argument", whereas this command succeeded:
/sbin/ip route add 192.168.19.176/24 via 192.168.0.1
Solution 2:
if you are having server-side(Openvpn server) access normally its under
/etc/openvpn/server/server.conf
or /etc/openvpn/server.conf
comment this configuration
#######push "redirect-gateway def1 bypass-dhcp"
just put your desire website ip address like
push "route 96.6.31.216 255.255.255.255"
save this file and restart your openvpn service systemctl restart [email protected]