Conectando-se a um endereço IP atribuído quando conectado ao Cisco IPsec VPN no Mac OS X 10.5

1

Estou tentando conectar um ambiente de trabalho a uma VPN da Cisco usando o IPsec em um Mac executando Mac OS X v10.5 (Leopard).

Quando estou conectado à VPN, posso conectar-me muito bem a outras máquinas na rede, e outras máquinas podem se conectar ao meu Mac usando o endereço IP atribuído pela VPN (por exemplo, por SSH). No entanto, o próprio Mac não pode conectar-se a esse endereço IP. Isso é importante para esse ambiente porque, para um determinado trabalho de desenvolvimento, eu preciso de um endereço IP comum que possa ser acessado pelo meu Mac e por outras máquinas na rede.

Usando o cliente VPN escrito pela Cisco, uma conexão bem-sucedida é feita e todo o tráfego é roteado pela VPN (conforme exigido pela própria VPN). Eu tentei olhar para as tabelas de roteamento, mas o cliente VPN da Cisco não parece realmente mudar as tabelas de roteamento. Além disso, ifconfig não mostra o novo endereço IP em nenhuma interface, mas posso encontrá-lo no aplicativo cliente VPN. Eu não tenho certeza de como ele consegue rotear o tráfego sem alterar as tabelas de roteamento, mas talvez isso seja além do ponto.

Eu também tentei o Shrew VPN Client . Consegui construir a fonte para 10,5 e colocá-la em funcionamento. Ele também se conecta bem, mas exibe os mesmos sintomas. Esse cliente VPN altera as tabelas de roteamento e ifconfig mostra o endereço IP na interface tap0 . No entanto, ainda não consigo configurar corretamente as tabelas de roteamento para poder conectar-me ao endereço IP local atribuído pela VPN.

Aqui está um exemplo das tabelas de roteamento (com algumas coisas sem importância retiradas):

Não conectado à VPN:

Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1        UGSc       12       27    en0
127                127.0.0.1          UCS         0        0    lo0
127.0.0.1          127.0.0.1          UH         50    69556    lo0
192.168.1          link#4             UCS         8        0    en0
192.168.1.1        0:1f:90:5c:b2:e5   UHLW       10      744    en0   1188
192.168.1.111      127.0.0.1          UHS         1      768    lo0

Conectado à VPN (com endereço IP 172.25.187.40):

    Destination        Gateway            Flags    Refs      Use  Netif Expire
default            172.25.187.40      UGSc       14       46   tap0
127                127.0.0.1          UCS         0        0    lo0
127.0.0.1          127.0.0.1          UH         49    68374    lo0
172.25.187/24      link#12            UC          2        0   tap0
172.25.187.40      82:1e:79:f7:7:6a   UHLW        6        0    lo0
172.25.187.255     ff:ff:ff:ff:ff:ff  UHLWb       3       23   tap0
192.168.1          link#4             UCS         8        0    en0
192.168.1.111      127.0.0.1          UHS         0      750    lo0

E pedaços importantes de ifconfig :

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
        inet 127.0.0.1 netmask 0xff000000 
        inet6 ::1 prefixlen 128 
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet6 fe80::225:4bff:fe9c:df3a%en0 prefixlen 64 scopeid 0x4 
        inet 192.168.1.111 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:25:4b:9c:df:3a 
        media: autoselect (100baseTX <full-duplex,flow-control>) status: active
        supported media: none autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,flow-control> 10baseT/UTP <full-duplex,hw-loopback> 100baseTX <half-duplex> 100baseTX <full-duplex> 100baseTX <full-duplex,flow-control> 100baseTX <full-duplex,hw-loopback> 1000baseT <full-duplex> 1000baseT <full-duplex,flow-control> 1000baseT <full-duplex,hw-loopback>
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
        lladdr 00:25:4b:ff:fe:9c:df:3a 
        media: autoselect <full-duplex> status: inactive
        supported media: autoselect <full-duplex>
tap0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1380
        inet 172.25.187.40 netmask 0xffffff00 broadcast 172.25.187.255
        ether 82:1e:79:f7:07:6a 
        open (pid 7916)

Eu tentei várias coisas com as rotas, mas nada do que tentei permitiu que eu me conectasse ao 172.25.187.40 do meu Mac.

Eu também tentei mexer com o ipfw para encaminhar todo o tráfego IP enviado para 172.25.187.40 para 127.0.0.1 , mas eu não tenho experiência com isso, então talvez eu tenha feito isso errado.

Como corrijo este problema?

    
por David Heitzman 12.07.2011 / 20:10

1 resposta

0

Eu acho que você quer uma rota de host para 172.25.187.40 gateway 127.0.0.1 em lo0. Você deveria ser capaz de fazer algo assim ...

sudo route add -host 172.25.187.40  127.0.0.1

... mas não deixe de olhar a página route(8) man, especialmente as partes sobre -interface e -ifscope .

Estou com um pouco de medo, porém, que mexer com a rota para 172.25.187.40 irá quebrar sua conectividade VPN, pelo menos com o cliente que mexe com suas tabelas de roteamento.

A propósito, o Cisco VPN Client carrega um NKE (Network Kernel Extension - um EXTension de Kernel específico de rede ou kext) ou dois que manipulam a mágica de VPN diretamente no seu kernel sem mexer na tabela de rotas. Infelizmente, isso significa que a Cisco tem código em execução no kernel, portanto, se estiver com problemas, ele pode entrar em pânico em todo o sistema.

    
por 13.07.2011 / 03:33