Итак, отчет проделанной работе.
Для начала исходные данные.
1. Cisco 3640 12.4(7) ik9o3s + 2 x 2FE2W (32Mb/128Mb)
- FastEthernet0/0: 10.11.12.1 255.255.255.0 (будет внешним интерфейсом)
- FastEthernet0/1: 172.16.15.1 255.255.255.0 (будет внутренним интерфейсом; во время тестов использовал вместо него loopback, т.к. в FE0/1 воткнуть было нечего

)
2. D-Link DI-804HV 1.43 (26.01.2006)
- WAN 10.11.12.254 (соединял напрямую с циской, но вместо этого патча вполне могло быть бесчисленное множество маршрутизаторов интернет)
- LAN 192.168.0.1 255.255.255.0 (типа внутренняя сеть)
Настройки циски (привел только ту часть, которая имеет отношение к рассматриваемому вопросу):
Код:
!
crypto keyring incoming_key
pre-shared-key address 0.0.0.0 0.0.0.0 key <your_psk>
!
crypto isakmp policy 1
encr 3des
authentication pre-share
group 2
lifetime 7200
!
crypto isakmp profile incoming_lan2lan
keyring incoming_key
match identity address 0.0.0.0
initiate mode aggressive
!
crypto ipsec transform-set incoming_transform esp-3des esp-sha-hmac
!
crypto dynamic-map dyn_map 1
set security-association lifetime seconds 6000
set transform-set incoming_transform
set isakmp-profile incoming_lan2lan
reverse-route
!
crypto map ext_map 1 ipsec-isakmp dynamic dyn_map
!
interface FastEthernet0/0
ip address 10.11.12.1 255.255.255.0
duplex auto
speed auto
no cdp enable
crypto map ext_map
!
interface FastEthernet0/1
ip address 172.16.15.1 255.255.255.0
duplex auto
speed auto
no cdp enable
!
Обращаю внимание на то, что про вторую сторону туннеля циске ничего не известно.
Настройки DI-804:Код:
tunnel name: c3640
aggressive mode: (+) enable
local subnet: 192.168.0.0
local netmask: 255.255.255.0
remote subnet: 172.16.15.0
remote netmask: 255.255.255.0
remote gateway: 10.11.12.1 (сюда можно написать адрес в любой форме - ip/fqdn, из которой роутер сможет получить внешний ip циски)
ike keep alive: 172.16.15.1 (можно не писать, нужно для поддержания туннеля в постоянной готовности после соединения)
preshare key: <your_psk>
extended authentication (xauth): (-) enable
remote id type: ip address
remote id value: пустое поле
local id type: ip address
local id value: пустое поле
ike proposal: group2 3des sha1 7200 sec
ipsec proposal: group2 esp 3des sha1 6000 sec
Еще раз обращаю внимание на то, что галочка aggressive mode
установлена, extended authentication
снята, а в полях remote и local id value
ничего не написано.
В итоге получаем работоспособное соединение между указанными девайсами, т.е. с узлов из LAN DI-804 внутренний интерфейс циски стабильно пинговался (проверял пакетами по 1500 байт), сам DI-804 также нормально поддерживал соединение keepalive'ами.
Для того, чтобы подобных клиентов было несколько, достаточно только использовать на каждом клиенте адресацию внутренней сети, отличную от внутренней адресации всех остальных клиентов.
Что пока не получилось (на циске эти вещи вообще ни разу до сегодняшнего дня не настраивал, да и со шкафа уже с полгода ее не доставал

):
- настроить использование какой-либо идентификации сторон;
- настроить использование xauth (не уверен, что это вообще возможно в схеме lan2lan, по крайней мере в документации на
http://www.cisco.com эти схемы описаны как взаимоисключающие);
- пинговать с циски LAN DI-804 (правда, та же самая ерунда творится и с другим туннелем, который установлен с DI-804 на FreeSWan (Linux), так что, возможно, это особенность D-Link'а).
Если будет чуть времени, над идентификацией и xauth еще поэкспериментирую.
PS Кстати (сразу сорри за оффтоп), циска лежит на продажу, так что если интересно - пишите.