Тоже долго не мог разобраться (подключаюсь по L2TP/IPSec), вписывал и 192.168.xx.150 (IP клиента) и 192.168.xx.1 (Gateway IP), но решилось тем, что вписал IP адрес из параметра P-t-P из вывода ifconfig:
# ifconfig
...
ppp3 Link encap:Point-to-Point Protocol
inet addr:192.168.xx.150 P-t-P:>>>>1.0.0.1<<<< Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1392 Metric:1
RX packets:75585 errors:0 dropped:0 overruns:0 frame:0
TX packets:50265 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:62505563 (59.6 MiB) TX bytes:3430496 (3.2 MiB)
...
В моём случае будет gw = 1.0.0.1;. После этого маршруты стали нормально создаваться.
Кстати, IP адрес 1.0.0.1 является публичным и принадлежит DNS-серверу Cloudflare. Это баг VPN-сервера, который я использую, в будущих версиях они собираются выдавать другой IP для L2-соединений.
По L2TP таким образом заработало, а с OpenVPN настроить пока не получается (такая же ошибка "invalid gw address", что бы ни вписывал), экспериментирую.