Как пробросить интернет на виртуальный интерфейс?
биндите программу на адрес 0.0.0.0 - будет на всех интерфейсах/адресах
при переподключении ваша запущенная программа уже не сможет принимать соединения от нового интерфейса, кажется даже если вы сделаете listen 0.0.0.0 (у меня были косяки при использовании vpn в похожей ситуации), так что приложение должно как то это обрабатывать либо его необходимо перезапускать параллельно переподключению