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

87

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.

    
por newtonapple 16.07.2009 / 08:44

4 respostas

77

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

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

substituindo <SUBNET> por sub-rede, você deseja rotear por VPN (por exemplo, 192.168.0.0/16)

execute 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 do gateway da VPN
  • $5 : gateway regular (não vpn) para suas conexões de lan
por 03.11.2010 / 22:31
9

Eu queria fazer algo semelhante. 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 alterar "Work" para o nome da sua conexão VPN, 192.168.1.1 para o endereço do seu 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.

    
por 21.10.2009 / 11:33
7

Há um recurso oculto nas Preferências de Rede no MacOS: você pode classificar as interfaces .

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

É fundamental que você tenha suas interfaces de rede classificadas na ordem em que deseja que elas sejam usadas. Se você quiser que todos os dados não-LAN acessem a VPN, coloque a interface VPN no topo. Ordenar como isto

  1. VPN
  2. Ethernet
  3. Aeroporto

Não assim:

  1. Aeroporto
  2. Ethernet
  3. VPN

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

Send all traffic over VPN connection

✅ Testado em L2TP VPN connection

    
por 18.03.2010 / 07:57
1

Eu já dei uma olhada 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. , você pode precisar configurar uma tabela de roteamento personalizada.

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

    
por 16.07.2009 / 19:57