Depois de passar algumas horas solucionando problemas, procurando soluções em potencial neste site e em outros, sou resignado a pedir o conselho de meus apostadores. Estou trabalhando para rotear todo o tráfego de rede em uma instância do Ubuntu através de uma VPN da Cisco em uma universidade. Usando o gerenciador de rede interno ou o vpnc, posso estabelecer uma conexão com a VPN e rotear com êxito o tráfego para qualquer IP da universidade pela VPN. No entanto, além desses intervalos de IP específicos, não consigo conjurar nenhuma rota que mapeie com êxito todo o tráfego da rede pela VPN.
Até agora, eu tentei:
rota adicionar -net 0.0.0.0 gw homeportal dev tun0
route add -net 0.0.0.0 tun0
route add -net 0.0.0.0 gw 128.122.252.77 dev tun0
route add -net 0.0.0.0 gw 128.122.252.77 dev eth0
iptables -A FORWARD -o tun0 -j ACEITAR iptables -A FORWARD -i tun0 -j ACEITAR iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
E muitas outras coisas tolas, ineficazes, das quais não consigo me lembrar o suficiente para transcrever com precisão.
Além disso, tentei rotear intervalos de IP menores e IPs específicos, cada um sem sucesso. Não tenho muita certeza do que está errado, pois a extensão dos efeitos que pude observar são falhas na resolução de nomes e falhas no roteamento de tráfego pela VPN. O que eu estou fazendo errado aqui?
Editar-
Aqui está a saída de ip route show
depois de iniciar a conexão VPN com o VPNC:
padrão via 192.168.1.254 dev eth0 proto static 10.0.0.0/8 dev tun0 scope link 91.230.41.0/24 link de escopo dev tun0 128.122.0.0/16 dev tun0 scope link 128.122.252.68 via 192.168.1.254 dev eth0 src 192.168.1.32 128.122.253.46 dev tun0 scope link 128.122.253.79 link de escopo dev tun0 172.16.0.0/12 dev tun0 scope link 192.168.0.0/16 dev tun0 scope link 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.32 métrico 1 193.175.54.0/24 dev tun0 scope link 193.205.158.0/25 link de escopo dev tun0 193.206.104.0/24 link de escopo dev tun0 195.113.94.0/24 dev tun0 scope link 203.126.200.0/24 dev tun0 scope link 203.174.165.128/25 dev tun0 scope link 212.219.93.0/24 dev tun0 scope link 216.165.0.0/17 dev tun0 scope link
Mais Informações-
Eu rotinei com sucesso o tráfego arbitrário sobre esta VPN no MS Windows através do cliente Cisco AnyConnect com configuração padrão. Está aqui como é a tabela de roteamento quando o cliente AnyConnect está funcionando (este é um computador diferente atrás do mesmo roteador em 192.168.1.254).
Tabela de rotas IPv4 ==================================================== ========================= Rotas ativas: Métrica da interface do gateway de máscara de rede de destino de rede 0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.13 30 10.0.0.0 255.0.0.0 192.168.128.1 192.168.128.197 2 91.230.41.0 255.255.255.0 192.168.128.1 192.168.128.197 2 127.0.0.0 255.0.0.0 no link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 128.122.0.0 255.255.0.0 192.168.128.1 192.168.128.197 2 128.122.252.68 255.255.255.255 192.168.1.254 192.168.1.13 31 172.16.0.0 255.240.0.0 192.168.128.1 192.168.128.197 2 192.168.0.0 255.255.0.0 192.168.128.1 192.168.128.197 2 192.168.1.0 255.255.255.0 192.168.1.13 no link 286 192.168.1.13 255.255.255.255 On-link 192.168.1.13 286 192.168.1.254 255.255.255.255 192.168.1.13 no link 31 192.168.1.255 255.255.255.255 192.168.1.13 no link 286 192.168.31.0 255.255.255.0 No link 192.168.31.1 276 192.168.31.1 255.255.255.255 On-link 192.168.31.1 276 192.168.31.255 255.255.255.255 On-link 192.168.31.1 276 192.168.128.0 255.255.255.0 No link 192.168.128.197 257 192.168.128.197 255.255.255.255 192.168.128.197 no link 257 192.168.128.255 255.255.255.255 192.168.128.197 no link 257 192.168.203.0 255.255.255.0 No link 192.168.203.1 276 192.168.203.1 255.255.255.255 On-link 192.168.203.1 276 192.168.203.255 255.255.255.255 On-link 192.168.203.1 276 193.175.54.0 255.255.255.0 192.168.128.1 192.168.128.197 2 193.205.158.0 255.255.255.128 192.168.128.1 192.168.128.197 2 193.206.104.0 255.255.255.0 192.168.128.1 192.168.128.197 2 195.113.94.0 255.255.255.0 192.168.128.1 192.168.128.197 2 203.126.200.0 255.255.255.0 192.168.128.1 192.168.128.197 2 203.174.165.128 255.255.255.128 192.168.128.1 192.168.128.197 2 212.219.93.0 255.255.255.0 192.168.128.1 192.168.128.197 2 216.165.0.0 255.255.128.0 192.168.128.1 192.168.128.197 2 224.0.0.0 240.0.0.0 no link 127.0.0.1 306 224.0.0.0 240.0.0.0 no link 192.168.1.13 286 224.0.0.0 240.0.0.0 no link 192.168.203.1 276 224.0.0.0 240.0.0.0 no link 192.168.31.1 276 224.0.0.0 240.0.0.0 no link 192.168.128.197 10000 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 192.168.1.13 286 255.255.255.255 255.255.255.255 On-link 192.168.203.1 276 255.255.255.255 255.255.255.255 On-link 192.168.31.1 276 255.255.255.255 255.255.255.255 On-link 192.168.128.197 10000 ==================================================== =========================
ip route
, a propósito.ip route
comando, eu não o havia encontrado antes.Respostas:
Sua rede local é 192.168.1.0/24, conforme mostrado por esta linha na sua tabela de roteamento:
Sua rede VPN é 10.0.0.0/8, como mostrado nesta linha:
Atualmente, seu roteador padrão é:
o que obviamente você não quer, porque pertence à sua LAN local: assim, todo o seu material é roteado através do gateway local, como se a VPN não existisse.
qual é o caminho para o seu provedor de VPN.
EDITAR:
Eu não tinha percebido que a tabela de roteamento é simplesmente aquela que é obtida na sua VPN, sem a sua intervenção. Isso pode indicar (indiretamente) que o seu provedor de serviços está disposto a encaminhar apenas o tráfego permitido explicitamente em sua tabela através da interface tun0 e pode ter tomado outras medidas para bloquear todo o tráfego, caso em que seus esforços serão inúteis.
No entanto, supondo que seu provedor esteja disposto a encaminhar todo o seu tráfego, o que você precisa fazer é o seguinte.
Primeiro, você precisa descobrir se existe um gateway disposto a aceitar sua conexão do outro lado, porque precisamos do seu endereço IP. Vou lhe dar quatro métodos para fazer isso.
1) Com o PC conectado à VPN, tente o seguinte comando:
Se tudo correr bem, você verá uma resposta contendo esta linha:
xywz é o endereço IP do gateway local. Você pode ter que desligar sua VPN após este teste, e talvez até reiniciar o seu PC, porque teremos acabado de estragar a tabela de roteamento muito bem.
2) Como alternativa, você pode tentar navegar para um dos sites permitidos (aqueles que aparecem na sua tabela de roteamento como passando pela interface tun0 ) e, em seguida, emitir o comando:
Você deve obter uma lista de pcs contatados através do protocolo ARP, com endereço MAC e IP; provavelmente, você receberá zero ou uma resposta. Se você receber uma única resposta, esse é o seu roteador.
3) Se você não receber essa resposta, poderá tentar com
(o que será muito lento). Seu gateway será um dos computadores listados, provavelmente o endereço com terminação em .1 ou em .254, se houver.
4) Use o comando tcpdump:
e veja os endereços IP emitidos pelo comando.
Se você também não receber uma resposta adequada a esse teste, isso significa que alguém realmente apertou os parafusos em sua rede.
Mas vamos ser otimistas e suponha que agora você tenha um endereço IP candidato xwyz para o roteador remoto. Você precisará excluir o gateway padrão (como sudo!):
e adicione o novo:
e tente navegar.
Deixe-me repetir: como seu provedor só permitiu tráfego para alguns endereços IP selecionados por meio de sua VPN, é possível que ele tenha tomado medidas extras (= firewall) para impedir que um usuário inteligente force o tráfego genérico por meio de sua VPN. Nesse caso, não há nada que você possa fazer. Mas se ele não o fez, as etapas acima devem ajudá-lo a encontrar uma solução.
fonte
ip addr show dev tun0
leituras10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1412 qdisc pfifo_fast state UNKNOWN group default qlen 500 link/none inet 192.168.128.193/24 brd 192.168.128.255 scope global tun0 valid_lft forever preferred_lft forever
, sem endereço de ponto a ser observado. Além disso, a tabela de roteamento que eu publiquei anteriormente não havia sido modificada por mim - ela foi gerada inteiramente pelo cliente vpn.Todos os seus
route
comandos estão com máscaras de rede ausentes, portanto, apenas correspondem ao0.0.0.0
endereço específico , não à Internet inteira. Portanto, substitua0.0.0.0
por0.0.0.0/0
no primeiro comando que você tentou:ip route add -net 0.0.0.0/0 gw homeportal dev tun0
Pode haver uma ressalva que não tenho certeza se o seu cliente VPN resolve sozinho: o ponto de extremidade do túnel precisa ser excluído do roteamento pela VPN, ele deve ser roteado pela sua
eth0
interface. Portanto, se a adição dessa rota padrão interromper sua VPN, adicione uma rota específica para o ponto de extremidade da VPN:ip route add <ENDPOINT>/32 dev eth0
fonte
ip route
, não? Além disso, enquanto é sempre uma boa idéia para adicionar máscaras de rede, ele parece queroute
assume / 0 ao adicionar 0.0.0.0