Соединение сетей протоколом IPSec в туннельном режиме, аутентификация с использованием общего секрета
Цель
Соединить две сети, расположенные за межсетевыми экранами, VPN с использованием семейства протоколов IPSec. В этом случае необходимо использовать туннельный режим.
Топология сети
Между интерфейсами wan2 на МЭ 1и МЭ 2 требуется поднять VPN/IPSec.
Описание практической работы
Создать статическую маршрутизацию и политики доступа, которые разрешают доступ между удаленными локальными сетями. При этом трафик между МЭ 1 и МЭ 2 проходит по VPN/IPSec.
Межсетевой Экран 1
Аутентификационный Объект
Необходимо создать аутентификационный объект Pre-Shared Key.
Веб-интерфейс:
Object → Authentication Objects → Add → Pre-Shared Key
Командная строка:
add PSKforIPSec Type=ASCII PSKAscii=qwerty
IPSec-Интерфейс
Создать IPSec-интерфейс. Так как создается VPN-туннель между двумя локальными сетями, то необходим туннельный режим.
Веб-интерфейс:
Interfaces → IPsec → Add → IPsecTunnel
На вкладке General указать сети перед и за туннелем, а также режим выполнения IPSec и используемые наборы алгоритмов для IPSec и IKE.
На вкладке Authentication указать созданный аутентификационный объект.
В данном случае, как и в большинстве случаев при создании туннелей с использованием различных протоколов, маршрут может создаваться либо статически, либо динамически на время создания туннеля.
1. Статически создаваемый маршрут.
Если все остальные параметры оставить по умолчанию, то в таблице маршрутизации будет создан маршрут.
Командная строка:
add Interface IPsecTunnel ipsec_tunnel LocalNetwork=lan/lan_net RemoteNetwork=remote/rem_lan AuthMethod=PSK PSK=forIPSec IKEAlgorithms=Medium IPsecAlgorithms=Medium EncapsulationMode=Tunnel RemoteEndpoint=wan2/wan2_gw
2. Динамически создаваемый маршрут.
Веб-интерфейс:
Если инициатором начального установления туннеля всегда будет являться противоположная сторона, возможно динамически создавать маршрут. Для этого на вкладке Routing следует поставить флаг динамического добавления маршрута.
А на вкладке Advanced снять флаг добавления маршрута, чтобы в таблице маршрутизации при наличии IPSec-трафика не было двух одинаковых маршрутов.
Командная строка:
set Interface IPsecTunnel ipsec_tunnel AddRouteToRemoteNet=Yes AutoInterfaceNetworkRoute=No
В этом случае в таблице маршрутизации будет динамически создаваться маршрут.
Правила фильтрования
Определим правило, разрешающее исходящий трафик с локальной сети, расположенной за МЭ 1, на локальную сеть, расположенную за МЭ 2.
Веб-интерфейс:
Rules → IP Rules → Add → IP Rule Folder Name: ipsec_tunnel Rules → IP Rules → ipsec_tunnel → Add
Командная строка:
add IPRuleFolder Name=ipsec_tunnel cc IPRuleFolder <N folder> add IPRule Action=Allow SourceInterface=lan SourceNetwork=lan/lan_net DestinationInterface=ipsec_tunnel DestinationNetwork=remote/rem_lan Service=all_services Name=ipsec_out
Межсетевой Экран 2
Аутентификационный Объект
Необходимо создать аутентификационный объект Pre-Shared Key с тем же значением Shared Secret, что и на межсетевом экране 1.
Веб-интерфейс:
Object → Authentication Objects → Add → Pre-Shared Key
Командная строка:
add PSK forIPSec Type=ASCII PSKAscii=qwerty
IPSec-Интерфейс
Необходимо создать IPSec-интерфейс.
Веб-интерфейс:
Interfaces → IPsec → Add → IPsec Tunnel
На вкладке General указать сети перед и за туннелем, а также режим выполнения IPSec и используемые наборы алгоритмов для IPSec и IKE.
На вкладке Authentication указать созданный аутентификационный объект.
Если все остальные параметры оставить по умолчанию, то в таблице маршрутизации маршрут будет создаваться статически. Если необходимо динамически создавать маршрут, то на вкладке Routing поставить флаг динамического добавления маршрута.
А на вкладке Advanced снять флаг добавления маршрута (иначе в таблице маршрутизации при наличии IPSec-трафика будет два одинаковых маршрута, что не является ошибкой, но смысла не имеет).
Командная строка:
add Interface IPsecTunnel ipsec_tunnel LocalNetwork=lan/lan_net RemoteNetwork=remote/rem_lan AuthMethod=PSK PSK=forIPSec IKEAlgorithms=Medium IPsecAlgorithms=Medium EncapsulationMode=Tunnel RemoteEndpoint=wan2/wan2_gw
Правила фильтрования
Создаем правила фильтрования, разрешающие входящий трафик с удаленной локальной сети, приходящий на ipsec-туннель, к локальной сети, расположенной за МЭ 2.
Веб-интерфейс:
Rules → IP Rules → Add → IP Rule Folder Name: ipsec_tunnel Rules → IP Rules → ipsec_tunnel → Add
Командная строка:
add IPRuleFolder Name=ipsec_tunnel cc IPRuleFolder <N folder> add IPRule Action=Allow SourceInterface=ipsec_tunnel SourceNetwork=remote/rem_lan DestinationInterface=lan DestinationNetwork=lan/lan_net Service=all_services Name=ipsec_in
Проверка конфигурации
1. На МЭ1 выполняем команду ping рабочей станции, располо-женной в удаленной локальной сети. В качестве интерфейса, с которого пакет будет отправлен, указывает lan.
2. На МЭ 1 проверяем наличие IKE SA и IPSec SA.
3. На МЭ 2 также проверяем наличие IKE SA и IPSec SA.
4. Можно также проверить наличие ISAKMP SA и ESP SA, сделав дамп трафика.