Я пытаюсь получить рабочую среду для подключения к 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
, но у меня нет опыта, поэтому, возможно, я сделал это неправильно.
Как мне исправить эту проблему?