Estou em um mac e estou tentando rotear um endereço específico através de um gateway específico na minha conexão wifi.
Estou a usar:
route add -host 54.81.143.201 192.168.15.1
Às vezes isso vai funcionar, outras vezes não. O que eu descobri é que a interface que escolhe é sempre diferente. Precisa ot ser en0
trabalhar
netstat -nr
saída quando não funciona:
54.81.143.201 192.168.15.1 UGHS 1 89 en5
É quando funciona: (nota en0)
54.81.143.201 192.168.15.1 UGHS 0 1 en
Por que estou fazendo isto? Porque nossa empresa possui um proxy no qual o HipChat não funciona. Então, eu estou roteando o tráfego do hipchat através de uma rede wifi aberta enquanto ainda estou na ethernet do meu trabalho.
EDITAR:
Eu também tentei adicionar a entrada usando apenas a interface
route add -host 54.81.143.201 -interface en0
54.81.143.201 78:31:c1:c7:52:74 UHS 0 2 en0
O HipChat falha na conexão.
EDIT 2: Alguém pediu minha tabela de roteamento inteira, aqui está hoje. Observe que 54.81.143.201 agora está vinculado a en3 e não en0
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.7.90.1 UGSc 31 6 en3
10.7.90/24 link#4 UCS 4 0 en3
10.7.90.1 0:23:ac:3d:db:c2 UHLWIir 16 0 en3 1200
10.7.90.44 40:6c:8f:19:4a:bb UHLWI 0 3 en3 946
10.7.90.63 127.0.0.1 UHS 0 0 lo0
54.81.143.201 192.168.15.1 UGHS 0 0 en3
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 3 209 lo0
169.254 link#4 UCS 1 0 en3
169.254.255.255 0:23:ac:3d:db:c2 UHLSW 0 0 en3
en3
está claramente correta. 192.168.15.1 não pode ser acessado por nenhuma outra interface. A única maneira de alcançar 192.168.15.1 nessa tabela de roteamento é através da rota padrão, certo? (Sem rodeios, parece que você não tem idéia do que você está fazendo Você parece ser surpreendido que o sistema não está a fazer o impossível..)Respostas:
Experimentar:
fonte
Como outros indicaram, na verdade são 3 problemas.
Sua interface sem fio parece estar mudando entre en0, en3 e en5.
No meu MacBook Air, o en0 é sempre sem fio; Thunderbolt para Ethernet é sempre en3 e USB para Ethernet é sempre en5. Mas se você conectar um adaptador a uma porta diferente no seu Mac, o nome da NIC mudará. Você precisa resolver isso primeiro. Verifique se o seu dispositivo sem fio sempre tem o mesmo nome. Caso contrário, quando você digitar o comando de rota estática, se não houver uma NIC conectada ao
en0
local, o comando (obviamente) falhará com um "erro de endereço" (o endereço físico não possui link).Da mesma forma, verifique se o adaptador está sempre se conectando ao mesmo SSID. Obviamente, o endereço do gateway deve ser válido para a sub-rede, e redes WiFi diferentes terão sub-redes diferentes. Isso pode causar outro tipo de erro.
Você não especificou se a conexão sem fio é sua única rede. Dado o exposto, acho que não ...? Isso e a rede virtual devido ao VMware ou Parallels podem causar complexidades adicionais. (Por exemplo, se as duas redes conectadas usarem o mesmo espaço IP ... As máquinas virtuais geralmente têm uma ponte e têm seus próprios IPs / rotas / links ...) A publicação da topologia de rede ajudaria.
Feito isso, tente
sudo route add -host 54.81.143.201 -iface en0
ousudo ipfw
. Se você não tiver certeza do nome do adaptador, poderá especificar seu endereço MAC, assim:sudo route add -host 54.81.143.201 -link 14:10:9f:e7:fd:0a
Relacionado: https://discussions.apple.com/thread/5049994?searchText=policy%20route
Se você reiniciar, isso pode não persistir. Você precisará lidar com isso separadamente.
fonte
fonte
Consegui adicionar uma rota através de uma interface usando a
-link
opção para especificar um endereço MAC.route add -host 54.81.143.201 -link [mac addr of 192.168.15.1 on en0]
Isso enviará tráfego para
54.81.143.201
a interface apropriada.Você tem dois
192.168.15.*
endereços de host separados atribuídos, um para cada interface, certo? Senão, você pode enviar tráfego de qualquer interface, mas o tráfego retornará no IP de origem que os pacotes tiverem.fonte
Esta solução funciona no mais recente MacOS 10.12 (Sierra). Aqui está a essência .
Use assim:
Supõe que a interface wifi seja: en1 .
Não se esqueça de colocar valores corretos para wifi_router e wifi_address variáveis. Observe o formato wifi_address , que é: nome da interface de rede ' : ' interface mac address with ' . ' Delimitadores . Claro que a maioria das informações necessárias pode ser analisada na saída do comando ifconfig , mas eu sou muito preguiçoso para isso =)
fonte
O
route
comando OS X está documentado aqui . O-ifscope
parâmetro e seu valor permitem especificar uma rota vinculada à interface.Isso não é, no entanto, o que você deseja. Você precisa consertar suas redes para que seus intervalos de IP sejam únicos. Fora isso, as métricas da interface (também conhecidas como prioridades) afetam a interface escolhida entre as opções igualmente oportunas.
fonte
Portanto, o servidor do fornecedor com o qual você está tentando conversar sobre o serviço "HipChat" que você alega é 54.81.143.201? Nesse caso, eu faria uma entrada de roteamento para 54.81.143.0 255.255.255.0 para oferecer um intervalo maior. Talvez ao usar o software, você nem sempre esteja conversando com esse servidor específico, mas com um cluster deles na mesma sub-rede 54.81.143.0/24. Além disso, verifique se as métricas de rota estão corretas ao criar uma nova entrada. Se você criar uma rota para 54.81.143.0/24 192.168.15.1 Metric 20 En5, mas também tiver uma rota para 0.0.0.0/0 10.7.90.1 Metric 10 En0. O computador ignorará sua nova entrada e continuará roteando o tráfego pela rota padrão (via En0), porque é mais preferível. Eu apenas passei por isso e queria apontar isso. Felicidades!
fonte
Você deve tentar adicionar o nome da NIC:
Isso funciona para mim no CentOS.
fonte