Это легко делается на любом популярном дистрибутиве Linux с установленным ipsec-клиентом и фаерволлом, разруливающим маршрутизацию/NAT. Первое, что приходит на ум - strongSWAN + iptables/nftables. Настройка достаточно тривиальна.
Если не известны адреса и порты, используемые программой - засовываете её в отдельный контейнер и перехватываете. Или, если есть такая возможность - назначаете программе для работы отдельный IP-адрес и используете его в качестве фильтра сниффера.
Вы хотите странного. Общепринятый способ направления трафика в VPN-туннель - добавление маршрутов для отдельных подсетей или по умолчанию. Если проблема в том, что впн нужен только для прокси, а рядом с ней ещё какие-то сервисы, которые должны ходить через интернет - вынесите прокси на отдельную виртуалку/контейнер.
Какой смысл вам проверять скорость напрямую, если потом вы всё равно включите обратно роутер? Если он не тянет максимальную провайдерскую скорость - об этом тоже стоит знать, имхо.
Спидтест вполне подойдёт, сильнее заморачиваться особого смысла для домашнего интернета нет.
Никто не прибавляет "857 адресов", это ущербный подход. Выделяют целый диапазон, описывающийся коротко и наглядно с помощью CIDR. В противном случае устанете читать конфиги сетевых железок и ПО.
Стомегабитный линк такими мелочами довольно сложно потревожить. Ну и проявляться это будет, если контакт в розетках совсем не ок, не в уменьшении скорости, а в периодическом пропадании связи, скорее или переключении во что-нибудь типа 10Мбит-полудуплекс и т. п.