Вопрос не является специфичным для Linux, он и в Windows тоже стоит.
Тут надо понимать какой у вас прокси, его тип. Ведь "универсальных" не бывает.
Сетевых протоколов сотни и тысячи а каждый прокси-сервер обслуживает лишь один/несколько протоколов.
Есть универсальный прокси - socks, но и он не всегда способен решить проблему.
Первое что нужно сделать - понять что вам хочется.
БОльшая часть программ имеет опции настроек для работы через прокси, с остальными придётся повозиться.
Решением может стать и socks и iptables (перенаправление/прозрачный прокси) и маршрутизация.
Самое универсальное - создать туннель (VPN - если так понятнее) до машины на котором ваш прокси и направить маршрут по умолчанию в этот туннель.
Конечно при этом придётся ещё прописать маршруты ко всем ресурсам на которые вы хотите попадать обычным путём (не через туннель) и ещё вам нужно будет иметь полный доступ к этой второй машине (на которой прокси
).
Вобщем решений много и ничего особо сложного тут нет, но нужно чётко понять что вы хотите получить.