Respuestas:
¿Por qué las preferencias del sistema -> red -> (Seleccione una red en el lado izquierdo de la ventana y elija Avanzado en la parte inferior derecha) -> Proxies (pestaña en la parte superior) trabajando para usted?
Si bien la configuración del proxy en todo el sistema es un buen comienzo, es posible que también desee considerar el uso de iptables para asegurarse de que todo el tráfico pase por el proxy. Algunas aplicaciones no usan configuraciones de configuración de todo el sistema (Firefox entre ellas), y por lo tanto, es imperativo que adapte sus reglas para no permitir conexiones directas y solo para enrutar el tráfico a través del proxy.
EDITAR: Si bien personalmente uso las iptables
reglas para administrar la posible "fuga" de mi VPN, en realidad me equivoqué originalmente al pensar que iptables podría funcionar con un proxy de calcetines directamente. Necesitará algo como tun2socks para crear una interfaz de túnel virtual (como el uso de vpn).
Después de eso, puede configurar un script de iptables similar al siguiente:
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# name of primary network interface (before tunnel)
PRIMARY=eth0
# gateway ip address (before tunnel - adsl router ip address)
# automatically determine the ip from the default route
GATEWAY=`route -n | grep $PRIMARY | egrep "^0\.0\.0\.0" | tr -s " " | cut -d" " -f2`
# provided by tun2socks: interface name
TUNNEL=tun0
# If you'd like, putting the tun2socks command here is a good idea. It may or may not be necessary to do so, but either way is more convenient than running the two commands separately.
# iptables rules - important!
LOCAL_NET=192.168.0.0/16
#LOCAL_NET=$GATEWAY
# Flush all previous filter rules, you might not want to include this line if you already have other rules setup
iptables -t filter --flush
iptables -t filter -X MYVPN
iptables -t filter -N MYVPN
# Add local routes to routing table
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
route add -host 23.21.163.237 dev eth0 gw 192.168.1.1
# Add ssh routes to routing table
ip route add table 128 to 192.168.1.0/24 dev eth0
ip route add table 128 default via 192.168.1.1
# Exceptions for local traffic & vpn server
iptables -t filter -A MYVPN -o lo -j RETURN
iptables -t filter -A MYVPN -o ${TUNNEL} -j RETURN
iptables -t filter -A MYVPN --dst 127.0.0.1 -j RETURN
iptables -t filter -A MYVPN --dst $LOCAL_NET -j RETURN
iptables -t filter -A MYVPN --dst ${SERVER} -j RETURN
iptables -t filter -A MYVPN --dst ${VPN_SERVER} -j RETURN
# Add extra local nets here as necessary
iptables -t filter -A MYVPN -j DROP
# MYVPN traffic leaving this host:
iptables -t filter -A OUTPUT -p tcp --syn -j MYVPN
iptables -t filter -A OUTPUT -p icmp -j MYVPN
iptables -t filter -A OUTPUT -p udp -j MYVPN
Naturalmente, querrá hacer que este script refleje su red particular (es decir, si está utilizando algo como una subred 192.168.0.0/24, ajústelo en consecuencia). Además, está muy estrictamente basado en un script que utilizo con una VPN, por lo tanto, todas las menciones MYVPN o VPN, mientras que no está utilizando una VPN, se tun2socks
comporta efectivamente como si lo fuera, por lo que todo debería funcionar igual.
Y gracias especiales a esta respuesta en Unix.SE por guiarme en la dirección correcta para responder a esta.
EDITAR nuevamente: Entonces, parece que OS X realmente estaría haciendo esto en ipfw
lugar de iptables (lo siento, soy principalmente una persona de Linux, y pensé que OS X tenía iptables disponibles). Hay equivalencias de tal manera que el guión se puede adaptar, algunas de las cuales se señalan aquí . man ipfw
debería ponerlo directamente en la sintaxis. Dejaré el iptables
guión original como una plantilla para que pueda ver lo que está sucediendo conceptualmente. WaterRoof parece que puede ayudar a que el uso sea ipfw
un poco más fácil de usar; otros extremos frontales pueden estar disponibles también.
tun2socks
no requiere SSH y un servidor; el ejemplo en su sitio es para usar SSH para crear el proxy SOCKS en primer lugar. Si ya tiene un proxy SOCKS, es completamente innecesario. Y sí, iptables
fue un camino equivocado de mi parte. OS X, que se basa en BSD, usa en ipfw
lugar de iptables
, que es para el kernel de Linux. En cuanto a que sea complicado, es posible que pueda encontrar una interfaz que lo configure para usted de una manera más fácil de usar, pero no tengo experiencia en este asunto. De todos modos, ser complicado a un nivel bajo tiene mucho que ver con por qué es tan capaz para el trabajo.
ipfw
.
Si puede configurar un servidor SSH, entonces el sshuttle gratuito puede tunelizar todo el tráfico TCP a través de la conexión, haciendo que todo el firewall funcione para usted.
Para reenviar todo el tráfico TCP y las solicitudes DNS a un servidor SSH remoto, el comando es bastante simple:
sshuttle --dns -vr ssh_server 0/0
Además de TCP y DNS, sshuttle no reenvía otras solicitudes como UDP, ICMP, ping, etc.
Para obtener más información y ejemplos, consulte el artículo Uso de Sshuttle en el trabajo diario .
Hay varias soluciones disponibles. Ninguno de ellos es tan simple como cambiar algunas configuraciones: la razón es que esto frustra el objetivo completo de la representación, que es enrutar alguna aplicación específica a través de una ruta diferente (con fines de sigilo, seguridad, protección de identidad ...) mientras se va accede a la ruta local (supuestamente más rápida).
Algunos deben descartarse debido a sus requisitos, pero permítanme mencionarlos en aras de la integridad: una VPN, un túnel SSH, el uso de pfctl (el filtro de paquetes y la interfaz de control NAT). Además, Tor, aunque ciertamente no está diseñado para el uso que tiene en mente, le permite enrutar todo el tráfico a través de sus servidores proxy.
Todas estas aplicaciones son gratuitas y requieren como máximo un poco de ingenio para que funcionen. Por otro lado, hay aplicaciones de pago, donde la mayor parte del trabajo ha sido realizado por otra persona, aunque a un precio.
le permite redirigir las conexiones de red de su computadora a través de servidores proxy. Puede decirle a ProxyCap qué aplicaciones se conectarán a Internet a través de un proxy y en qué circunstancias. Esto se realiza a través de una interfaz fácil de usar, sin la necesidad de reconfigurar ninguno de sus clientes de Internet.
Alternativamente, hay Proxifier para Mac (cuidado: solo admite hasta 10.8). cuales
permite que las aplicaciones de red que no admiten trabajar a través de servidores proxy funcionen a través de un proxy SOCKS o HTTPS y cadenas.