LinuxForum.Fans
Тема

роблема с приоритетами подключений в IPsec/IKEv2 для разных клиентов

Автор: MrQ1V1 1 сообщений 1498 просмотров
21.03.2025 07:33 #439765

Приветствую участников форума!

Столкнулся с проблемой настройки IPsec/IKEv2 сервера, где каждому сертификату необходимо назначить свои ограничения по доступу к определенным IP-адресам. Однако возникла сложность с работой подключений для iPhone и Linux-клиентов.

Описание проблемы:
У меня есть три типа подключений (netvision, tiv, zan), каждый из которых использует свой сертификат и имеет уникальные настройки доступа (leftsubnet).
В текущей конфигурации подключение netvision находится выше остальных в файле /etc/ipsec.d/ikev2.conf.
Для корректной работы подключений tiv и zan на iPhone и Linux-клиентах их нужно передвинуть выше netvision. Если этого не сделать, то клиенты всегда подключаются к первому совпадению (netvision), игнорируя остальные.
Конфигурация:
Основная конфигурация /etc/ipsec.conf

text
version 2.0

config setup ikev1-policy=accept virtual-private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!192.168.42.0/24,%v4:!192.168.43.0/24 uniqueids=no

conn shared left=%defaultroute leftid= адрес убрал right=%any encapsulation=yes authby=secret pfs=no rekey=no keyingtries=5 dpddelay=30 dpdtimeout=300 ikev2=never ike=aes256-sha2;modp2048,aes128-sha2;modp2048,aes256-sha1;modp2048,aes128-sha1;modp2048 phase2alg=aes_gcm-null,aes128-sha1,aes256-sha1,aes256-sha2_512,aes128-sha2,aes256-sha2 ikelifetime=24h salifetime=24h sha2-truncbug=no

conn l2tp-psk auto=add leftprotoport=17/1701 rightprotoport=17/%any type=transport also=shared

conn xauth-psk auto=add leftsubnet=8.8.8.8/32 rightaddresspool=192.168.43.10-192.168.43.250 modecfgdns="8.8.8.8 8.8.4.4" leftxauthserver=yes rightxauthclient=yes leftmodecfgserver=yes rightmodecfgclient=yes modecfgpull=yes cisco-unity=yes also=shared

include /etc/ipsec.d/*.conf

Файл /etc/ipsec.d/ikev2.conf:

text
conn ikev2-cp
    left=%defaultroute
    leftcert= убрал :)
    leftsendcert=always
    leftrsasigkey=%cert
    right=%any
    rightca=%same
    rightrsasigkey=%cert
    narrowing=yes
    dpddelay=30
    retransmit-timeout=300s
    ikev2=insist
    rekey=no
    pfs=no
    ike=aes_gcm_c_256-hmac_sha2_256-ecp_256,aes256-sha2,aes128-sha2,aes256-sha1,aes128-sha1
    phase2alg=aes_gcm-null,aes128-sha1,aes256-sha1,aes128-sha2,aes256-sha2
    ikelifetime=24h
    salifetime=24h
    encapsulation=yes
    leftid=
    modecfgdns="8.8.8.8 8.8.4.4"
    mobike=no

# netvision conn netvision auto=add leftsubnet=11.66.104.0/24 rightid="CN=netvision, O=GKU NSO CODD" rightaddresspool=192.168.43.10-192.168.43.250 also=ikev2-cp priority=1

# tiv conn tiv auto=add leftsubnet=11.66.104.0/24,11.68.104.0/24 rightid="CN=tiv, O=GKU NSO CODD" rightaddresspool=192.168.43.10-192.168.43.250 also=ikev2-cp priority=2

# zan conn zan auto=add leftsubnet=11.66.104.0/24,11.68.104.0/24 rightid="CN=zan, O=GKU NSO CODD" rightaddresspool=192.168.43.10-192.168.43.250 also=ikev2-cp priority=3

Что я пробовал:
Изменение порядка подключений в файле /etc/ipsec.d/ikev2.conf:
Переместил tiv и zan выше netvision.
Это решило проблему для iPhone и Linux, но на android и windows работает в любом случае.

Попробовал задать приоритеты (priority=1, priority=2, priority=3), но это не повлияло на выбор подключения.

Добавил этот параметр в ikev2-cp, чтобы уменьшить количество ложных совпадений, но проблема осталась.

Вопрос:
Как можно организовать корректную работу всех подключений, чтобы:

Каждый сертификат (netvision, tiv, zan) имел свои ограничения по доступу к IP-адресам.
iPhone и Linux могли подключаться к нужному профилю (tiv или zan), не нарушая работу других клиентов?
Буду благодарен за любые идеи и предложения!

Войдите или зарегистрируйтесь, чтобы ответить.