У "исходного" анонимуса будет таже ошибка что и была, т.к. $gw_ip не в его сегменте, а вообще черт знает где.
Расскажи поробно, что у тебя есть и что ты хочешь получить. Судя по тому что ты написал, у тебя и так все настроено.
Телепатия мне подсказывает, что ты хочень попасть в приватную сеть, через чужую сеть, которая про 192.168.1.0/24 ничего не знает. (Если бы знала, то и через default работало бы). Поэтому чтобы почилось, нужно либо на всех промежуточных маршрутизаторах прописать соответсвующие маршруты, либо поднять туннель, между тобой и $gw_ip.
PS. А сделать то что проситься в исходном ворпосе, при условии что $gw_ip не directly connected в линуксе, можно только через zebra которая будет это дело отслеживать. В Сisco и на FreeBSD подобная команда будет корректна.