Saudações,
Estou usando vpnc
para um cliente VPN. Também estou fazendo algumas coisas complicadas route
para garantir que ainda possa acessar minha rede local, etc. etc. (os detalhes aqui não são muito importantes).
Às vezes, recebo a tabela de roteamento tão levantada que recebo ping: sendto: Network is unreachable
URLs que, de outra forma, deveriam resolver.
Atualmente, se eu reiniciar o Mac OS X, tudo voltará ao normal. O que eu gostaria de fazer é redefinir as tabelas de roteamento para o "padrão" (por exemplo, o que está definido na inicialização) sem uma reinicialização completa do sistema.
Eu acho que o passo 1 é route flush
(para remover todas as rotas). E a etapa 2 precisa recarregar todas as rotas padrão.
Alguma ideia de como fazer isso? (por exemplo, qual é o passo 2?)
EDIT
Além disso, estou percebendo que outro sintoma traceroute
também falha no endereço em questão. Por exemplo:
traceroute the.good.dns.name
traceroute: bind: Can't assign requested address
route -n flush
várias vezes e reiniciei minha rede por meio das preferências do sistema. Só me levou um ano para voltar e descobrir isso :)Eu estava enfrentando esse problema enquanto usava um servidor OpenVPN doméstico e conectava-o usando o aplicativo Tunnelblick no Mac.
O que estava acontecendo do meu lado é que uma rota com o meu IP residencial como destino e um gateway incorreto estavam ficando restantes após a desconexão da VPN. A exclusão desta rota resolveu o problema, simplesmente
Exemplo: estou na escola e após uma nova inicialização do computador, conecto-me a uma rede sem fio. Eu me conecto ao meu servidor OpenVPN doméstico com o Tunnelblick.
Desconecto do servidor VPN. Eu mudo de rede sem fio. Isso muda meu gateway padrão.
Não consigo, em nenhuma circunstância, conectar-me à minha rede doméstica (VPN, ping, qualquer coisa) depois que isso acontecer. Se eu apenas excluir a rota:
Funciona bem.
Pode haver um problema com a configuração do servidor / cliente OpenVPN que está deixando isso (e eu estaria interessado em descobrir o que é isso), mas instalei um script de pós-desconexão do Tunnelblick que automatiza essa exclusão de rota.
fonte
Primeiro você precisa de uma rota para sua interface de rede. Se a VPN estiver desconectada, basta desligar sua interface de rede e trazê-la de volta com ifconfig. Em seguida, use o commnand da rota para criar seu gw padrão. Então, algo como:
ifconfig en0 down
ifconfig en0 up
route add <ip address> default
fonte
Eu estava enfrentando o mesmo problema que o @Sean (também estou executando o OS X); quando alternava entre as redes doméstica e de trabalho, a rota padrão não estava sendo excluída.
Para garantir a integridade, quando eu me conecto à minha VPN em casa e executando o seguinte comando, ele mostra o gateway padrão como abaixo
E quando eu desconectei, o gateway [home-ip] ainda estaria lá. Quando eu me conectava à minha rede de trabalho, não conseguia conectar-me à Internet e encontrava o mesmo problema do OP
Eu teria que excluir manualmente a rota com
Inicialmente, coloquei o "route -n delete" em um
post-disconnect.sh
script, mas isso foi um pouco confuso, então, em vez disso, encontrei este linkhttps://code.google.com/p/tunnelblick/issues/detail?id=177
Aparentemente, o motivo se deve à configuração do seguinte no meu
.ovpn
arquivoO que significa que a rota é configurada como raiz, mas quando a conexão é desativada, o usuário não é mais raiz e, portanto, a rota não pode ser excluída.
Comentar essas duas linhas no meu
.ovpn
arquivo corrigiu o problema, sem ter que usar apost-disconnect.sh
.fonte