Правильный подход - это раздача интренета через NAT, а прокси использовать только для http и ftp, если есть необходимость в экономии трафика или при наличии "узкого" канала. При чем наиболее удобным для "оконечника" будет использование прокси в "прозрачном" режиме.
P.S. Когда-то давно, чтоб улучшить "совместимость" прокси с программами работающими не на http, придумали протокол socks, но даже с ним все равно оставались проблемы "совместимости".