Примерно так оно работает:
Запрос ->
vk.com (получаем IP адрес сервера) -> смотрим, есть ли маршрут на ПК. Если есть, отправляем на указанный шлюз в маршруте, если маршрута нет, отправляем запрос на дефолтный шлюз в системе.
Запрос ->
google.com (получаем IP адрес сервера) -> смотрим, есть ли маршрут на ПК. Если есть, отправляем на указанный шлюз в маршруте, если маршрута нет, отправляем запрос на дефолтный шлюз в системе.