Réponses:
Pourquoi les préférences système -> réseau -> (Sélectionnez un réseau sur le côté gauche de la fenêtre et choisissez Avancé en bas à droite) -> Les proxys (onglet en haut) ne fonctionnent pas pour vous?
Bien que la définition des paramètres de proxy à l'échelle du système soit un bon début, vous pouvez également envisager d'utiliser iptables pour vous assurer que tout le trafic passe par le proxy. Certaines applications n'utilisent pas de paramètres de configuration à l'échelle du système (dont Firefox), et il est donc impératif que vous personnalisiez vos règles pour ne pas autoriser les connexions directes et uniquement pour acheminer le trafic via le proxy.
EDIT: Bien que j'utilise personnellement des iptables
règles pour gérer les "fuites" potentielles de mon VPN, je me suis en fait trompé à l'origine en pensant qu'iptables pouvait fonctionner directement avec un proxy de chaussettes. Vous aurez besoin de quelque chose comme tun2socks pour créer une interface de tunnel virtuelle (telle que l'utilisation de vpn).
Ensuite, vous pouvez configurer un script iptables similaire au suivant:
#!/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
Naturellement, vous voudrez faire en sorte que ce script reflète votre réseau particulier (c'est-à-dire, si vous utilisez quelque chose comme un sous-réseau 192.168.0.0/24, ajustez en conséquence). En outre, il est très étroitement basé sur un script que j'utilise avec un VPN, donc toutes les mentions MYVPN ou VPN - lorsque vous n'utilisez pas de VPN, tun2socks
se comportent effectivement comme si vous l'êtes, donc tout devrait fonctionner de la même manière.
Et merci tout particulièrement à cette réponse chez Unix.SE pour m'avoir orienté dans la bonne direction pour répondre à celle-ci.
MODIFIER à nouveau: Donc, il semblerait qu'OS X ferait cela avec ipfw
plutôt qu'avec iptables (désolé, je suis principalement une personne Linux, et je pensais qu'OS X avait des iptables disponibles). Il existe des équivalences telles que le script peut être adapté, dont certains sont indiqués ici . man ipfw
devrait vous mettre directement sur la syntaxe. Je vais laisser le iptables
script d' origine comme modèle afin que vous puissiez voir ce qui se passe conceptuellement. WaterRoof semble pouvoir aider à rendre l'utilisation ipfw
un peu plus conviviale; d'autres frontaux peuvent également être disponibles.
tun2socks
ne nécessite pas SSH et un serveur; l'exemple sur leur site est d'utiliser SSH pour créer le proxy SOCKS en premier lieu. Si vous avez déjà un proxy SOCKS, il est totalement inutile. Et oui, iptables
c'était une mauvaise façon de ma part. OS X, étant basé sur BSD, utilise ipfw
plutôt que iptables
, qui est pour le noyau Linux. Pour ce qui est compliqué, vous pourrez peut-être trouver un frontend qui le configurera pour vous de manière plus simple à utiliser, mais je n'ai aucune expérience à ce sujet. Le fait d'être compliqué à un bas niveau a de toute façon beaucoup à voir avec la raison pour laquelle il est si capable pour le travail.
ipfw
.
Si vous pouvez vous définir un serveur SSH, le sshuttle gratuit peut tunneler tout le trafic TCP via la connexion, faisant tout le travail du pare-feu pour vous.
Pour transférer tout le trafic TCP et les requêtes DNS vers un serveur SSH distant, la commande est assez simple:
sshuttle --dns -vr ssh_server 0/0
Outre TCP et DNS, sshuttle ne transmet pas d'autres requêtes telles que UDP, ICMP, ping, etc.
Pour plus d'informations et d'exemples, consultez l'article Utilisation de Sshuttle dans le travail quotidien .
Il existe un certain nombre de solutions disponibles. Aucun d'entre eux n'est aussi simple que de modifier certains paramètres: la raison en est que cela va à l'encontre de l'objectif global du proxy, qui est de router une application spécifique via un itinéraire différent (à des fins de furtivité, de sécurité, de protection d'identité ...) tout en quittant vous accédez à la route locale (supposément plus rapide).
Certains doivent être supprimés en raison de vos besoins, mais permettez-moi de les mentionner par souci d'exhaustivité: un VPN, un tunnel SSH, l'utilisation de pfctl (le filtre de paquets et l'interface de contrôle NAT). De plus, Tor, bien qu'il ne soit certainement pas conçu pour l'utilisation que vous avez en tête, vous permet d'acheminer tout le trafic via leurs procurations.
Toutes ces applications sont gratuites et nécessitent tout au plus une certaine ingéniosité pour les faire fonctionner. D'un autre côté, il existe des applications payantes, où la plupart du travail a été effectué par quelqu'un d'autre, mais à un prix.
vous permet de rediriger les connexions réseau de votre ordinateur via des serveurs proxy. Vous pouvez indiquer à ProxyCap quelles applications se connecteront à Internet via un proxy et dans quelles circonstances. Cela se fait via une interface conviviale, sans avoir besoin de reconfigurer aucun de vos clients Internet
Il existe également Proxifier pour Mac (attention: ne prend en charge que la version 10.8). lequel
permet aux applications réseau qui ne prennent pas en charge l'utilisation de serveurs proxy de fonctionner via un proxy et des chaînes SOCKS ou HTTPS.