Questão Como rotear seletivamente o tráfego de rede através de VPN no Mac OS X Leopard?


Não quero enviar todo o tráfego da minha rede para a VPN quando estou conectado à rede da minha empresa (via VPN) de casa. Por exemplo, quando estou trabalhando em casa, gostaria de poder fazer backup de todos os meus arquivos no Time Capsule em casa e ainda conseguir acessar a rede interna da empresa.

Estou usando o cliente VPN integrado do Leopard. Eu tentei desmarcar "Enviar todo o tráfego através de conexão VPN". Se eu fizer isso, perderei o acesso aos sites internos da minha empresa, seja pelo curl ou pelo navegador da Web (embora os IPs internos ainda estejam acessíveis). Seria ideal se eu pudesse escolher seletivamente um conjunto de IPs ou domínios a serem roteados através de VPN e manter o resto em minha própria rede. Isso é possível com o cliente VPN integrado do Leopard? Se você tem alguma recomendação de software, eu gostaria de ouvi-las também.


85


origem


A primeira solução só funcionará em uma VPN PPP. A solução a seguir funcionará em uma VPN da Cisco (e outros tipos não são específicos da Cisco) superuser.com/questions/91191/… - dr jimbob


Respostas:


Crie o arquivo / etc / ppp / ip-up com o seguinte conteúdo:

#!/bin/sh
/sbin/route add <SUBNET> -interface $1 

substituindo <SUBNET> com sub-rede, você deseja rotear através de VPN (por ex. 192.168.0.0/16)

executar como root:

chmod 0755 /etc/ppp/ip-up

Este arquivo será executado toda vez que você se conectar à VPN.

Os parâmetros fornecidos para o script:

  • $1: A interface da VPN (por exemplo, ppp0)
  • $2: Desconhecido, foi 0 No meu caso
  • $3: IP do servidor VPN
  • $4: Endereço de gateway da VPN
  • $5: Gateway regular (não vpn) para suas conexões de lan

76



A ponta de Aleksei funcionou para mim. Eu só estou querendo saber se a primeira linha (#! / Bin / sh) está fazendo alguma coisa. Não é comentado. Eu estou perguntando isso desde que eu estou descrevendo isso para uso em nossa empresa e quanto mais simples melhor :-) Obrigado, Edgar - Edgar Wieringa
@EdgarWieringa: converteu sua resposta em um comentário. Espero que seja melhor! :) - studiohack♦
@ Edgar - não. Essa primeira linha é especial. en.wikipedia.org/wiki/Shebang_(Unix) - James Moore
Em 10.7 / Lion, tive melhor sorte com: / sbin / route add 172.16.0.0/16 -interface $ 1 Os argumentos que vi ip-up recebendo são: $ 1 = interface VPN, por exemplo. 'ppp0' $ 2 = '0' (não sei qual é esse valor) $ 3 = Seu IP de VPN $ 4 = Endereço IP do gateway público de VPN $ 5 = Portal padrão normal para ethernet / wifi - Gabe Martin-Dempesy
O que acontece se eu tiver duas ou mais conexões VPN configuradas? Como faço para distinguir entre eles /etc/ppp/ip-up então eu posso adicionar as rotas de acordo? O nome amigável da VPN será passado como o 6º argumento (ipparam)? - Kal


Eu queria fazer algo parecido. Conecte a VPN e, em seguida, direcione uma rede adicional através dessa VPN. Acabei com o seguinte bit de Applescript:

-- Connect Work VPN

tell application "System Events"
    tell network preferences
        tell current location
            tell service "Work"
                connect
                tell current configuration
                    repeat until get connected = true
                        delay 1
                    end repeat
                end tell
            end tell
        end tell
    end tell
end tell

set gateway to "192.168.1.1"

do shell script "route add 172.16.0.0/16 " & gateway with administrator privileges

Você precisa mudar "Work" para o nome da sua conexão VPN, 192.168.1.1 para o seu endereço de gateway, e 172.16.0.0/16 para o endereço da rede para a qual você deseja rotear. Redes adicionais podem ser adicionadas repetindo a linha final com diferentes endereços.


9



(Além disso, para aqueles que se perguntam sobre este endereço IP: assim como o questionador falou, 172.16.0.0/16 é um espaço de endereço privado como 10.xxx e 192.168.xx Então, é na verdade parte da VPN, e não algum site externo ou qualquer outra coisa.) - Arjan
assim 192.168.1.1 é o seu roteador na VPN ou o roteador na LAN? E você não precisa configurar a rota padrão de volta para sua LAN? - Jack M.


Existe um recurso oculto em Preferências de rede no MacOS: você pode classificar interfaces.

Abra as Preferências do Sistema -> Rede -> Clique no gear canto inferior esquerdo -> Set service Order...

<code>Set service Order...</code> VPN Ordering

É fundamental que você tenha o seu interfaces de rede classificadas na ordem que você quer que eles sejam usados. Se você quiser que todos os dados não-LAN acessem a VPN, coloque a interface VPN no topo. Ordenar como este

  1. VPN
  2. Ethernet
  3. Aeroporto

Assim não:

  1. Aeroporto
  2. Ethernet
  3. VPN

Desta forma, não é necessário verificar a seguinte configuração em Session Options:

Envie todo o tráfego pela conexão VPN

 Testado em L2TP VPN conexão


7



Eu não acho que isso responde a pergunta, a menos que o OP esteja fazendo o backup para o Time Machine via Ethernet e se conectando à visão de rede da empresa Aeroporto (conexão sem fio) - Josh Newman
Eu usei o truque de inicialização do ppp, mas não funcionou até que eu mudei minha conexão vpn abaixo da conexão sem fio. Esta é uma resposta válida. - Arosboro
É realmente a principal resposta! Muito obrigado, seria impossível descobrir! - Andre Soares
Isso funciona para VPNs IPSec L2TP, mas NÃO funciona para VPNs Cisco IPSec. As VPNs Cisco IPSec não estão disponíveis na caixa de diálogo "Definir ordem de serviço" - goofology


Eu tive um olhar on-line para ver se consigo encontrar alguma coisa e, até onde eu entendo, você parece querer usar seu computador como normal, além de poder se conectar a sites internos da empresa, então, você pode precisa configurar uma tabela de roteamento personalizada.

Esse link aparentemente só se aplica a 10.4, mas o material da linha de comando ainda pode funcionar.


1