1

Я пытаюсь получить рабочую среду для подключения к Cisco VPN с использованием IPsec на Mac под управлением Mac OS X v10.5 (Leopard).

Когда я подключен к VPN, я могу нормально подключаться к другим машинам в сети, а другие машины могут подключаться обратно к моему Mac, используя назначенный VPN IP-адрес (например, через SSH). Однако сам Mac не может подключиться к этому IP-адресу. Это важно для этой среды, потому что для определенной работы по разработке мне нужен общий IP-адрес, по которому можно получить доступ как с моего Mac, так и с других компьютеров в сети.

При использовании VPN-клиента, написанного Cisco, устанавливается успешное соединение, и весь трафик направляется через VPN (как того требует сама VPN). Я попытался просмотреть таблицы маршрутизации, но клиент Cisco VPN, похоже, фактически не меняет таблицы маршрутизации. Кроме того, ifconfig не показывает новый IP-адрес в любом интерфейсе - но я могу найти его в клиентском приложении VPN. Я не совсем уверен, как ему удается маршрутизировать трафик без изменения таблиц маршрутизации, но, возможно, это не главное.

Я также пробовал Shrew VPN Client. Мне удалось собрать исходный код для 10.5 и запустить его. Это также соединяется хорошо, но у него те же симптомы. Этот VPN-клиент изменяет таблицы маршрутизации, и ifconfig показывает IP-адрес в интерфейсе tap0 . Однако я все еще не могу правильно настроить таблицы маршрутизации для подключения к локальному IP-адресу, назначенному VPN.

Вот пример таблиц маршрутизации (с некоторыми несущественными мелочами):

Не подключен к 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

Подключено к VPN (с 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

И важные биты 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)

Я пробовал разные вещи с маршрутами, но ничто из того, что я пробовал, не позволило мне подключиться к 172.25.187.40 с моего Mac.

Я также пытался связываться с ipfw для пересылки всего IP-трафика, отправленного на 172.25.187.40 на 127.0.0.1 , но у меня нет опыта, поэтому, возможно, я сделал это неправильно.

Как мне исправить эту проблему?

1 ответ1

0

Я думаю, что вам нужен хост-маршрут для шлюза 172.25.187.40 127.0.0.1 на lo0. Вы должны быть в состоянии сделать что-то вроде этого ...

sudo route add -host 172.25.187.40  127.0.0.1

... но не забудьте заглянуть в справочную страницу route(8) , особенно в части -interface и -ifscope .

Я немного боюсь, однако, что путаница с маршрутом для 172.25.187.40 сломает ваше VPN-соединение, по крайней мере, с клиентом, который портится с вашими таблицами маршрутизации.

Кстати, клиент Cisco VPN загружает NKE (расширение сетевого ядра - расширение ядра или kext для конкретной сети) или два, которые обрабатывают магию VPN прямо в вашем ядре, не вмешиваясь в таблицу маршрутизации. К сожалению, это означает, что в вашем ядре работает код Cisco, поэтому, если он глючит, он может вызвать панику во всей вашей системе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .