Por que as preferências do sistema não são - > rede - > (Selecione uma rede no lado esquerdo da janela e escolha Avançado no canto inferior direito) - > Proxies (guia no topo) trabalhando para você?
Eu tenho um proxy SOCKS com uma porta.
Como posso fazer meu MAC usá-lo? Quais configurações eu altero nas configurações de rede?
Embora a definição das configurações de proxy do sistema seja um bom começo, você também pode querer usar o iptables para garantir que todo o tráfego esteja passando pelo proxy. Alguns aplicativos não usam configurações do sistema (o Firefox entre eles) e, portanto, é imperativo que você adapte suas regras para não permitir conexões diretas e apenas para rotear o tráfego por meio do proxy.
EDIT: Embora eu pessoalmente use as regras iptables
para gerenciar o potencial "vazamento" da minha VPN, na verdade eu estava enganado em pensar que o iptables poderia trabalhar diretamente com um proxy de meias. Você precisará de algo como tun2socks para criar uma interface de túnel virtual (como o uso da vpn).
Depois disso, você pode configurar um script iptables semelhante ao seguinte:
#!/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, você desejará fazer com que esse script reflita sua rede específica (ou seja, se você estiver usando algo como uma sub-rede 192.168.0.0/24, ajuste de acordo). Além disso, é muito bem baseado em um script que eu uso com uma VPN, portanto, todas as menções MYVPN ou VPN - enquanto você não estiver usando uma VPN, tun2socks
efetivamente se comporta como se você estivesse, então tudo deve funcionar mesmo.
E um agradecimento especial a esta resposta no Unix.SE para me orientar a direção certa para responder a esta.
EDITAR novamente: Então, parece que o OS X realmente estaria fazendo isso com ipfw
ao invés de iptables (desculpe, eu sou principalmente um linux, e achei que o OS X tinha iptables disponível). Existem equivalências de tal forma que o script pode ser adaptado, algumas das quais são apontadas aqui . man ipfw
deve definir você diretamente na sintaxe. Deixarei o script iptables
original como um modelo para que você possa ver o que está acontecendo conceitualmente. WaterRoof parece que pode ajudar a tornar o ipfw
um pouco mais amigável; outros front ends também podem estar disponíveis.
Se você puder definir um servidor SSH, o sshuttle gratuito pode encapsular todo o tráfego TCP através da conexão, fazendo todo o trabalho do firewall para você.
Para encaminhar todo o tráfego TCP e solicitações de DNS para um servidor SSH remoto, o comando é bastante simples:
sshuttle --dns -vr ssh_server 0/0
Além do TCP e do DNS, o sshuttle não encaminha outros pedidos, como UDP, ICMP, ping, etc.
Para mais informações e exemplos, consulte o artigo Usando o Sshuttle no trabalho diário .
Existem várias soluções disponíveis. Nenhum deles é tão simples como alterar algumas configurações: a razão é que isso anula todo o objetivo do proxy, que é rotear algum aplicativo específico através de uma rota diferente (para fins de furtividade, segurança, identidade proteção ...) enquanto deixa o acesso à rota local (supostamente mais rápida).
Alguns devem ser descartados por causa de seus requisitos, mas deixe-me mencioná-los apenas por completo: uma VPN, um túnel SSH, uso de pfctl (o filtro de pacotes e a interface de controle NAT). Além disso, Tor, embora certamente não tenha sido projetado para o uso que você tem em mente, permite rotear todo o tráfego através dos proxies deles .
Todos esses aplicativos são gratuitos e exigem no máximo algum engenho para fazê-los funcionar. Por outro lado, há aplicações pagas, onde a maior parte do trabalho foi feita por outra pessoa, embora a um preço.
enables you to redirect your computer's network connections through proxy servers. You can tell ProxyCap which applications will connect to the Internet through a proxy and under what circumstances. This is done through a user friendly interface, without the need to reconfigure any of your Internet clients
Como alternativa, existe Proxifier para Mac (cuidado: suporta apenas 10.8). qual
allows network applications that do not support working through proxy servers to operate through a SOCKS or HTTPS proxy and chains.
Vá para Preferências- > Rede Veja se há um bloqueio nele, clique nele e forneça a senha da sua conta de administrador do sistema. Em seguida, Advanced- > Proxies- > Verificação no proxy de meias. Dê suas configurações de proxy.