Strongswan – Успешное подключение, но невозможно получить доступ к хосту в удаленной сети

Вопрос или проблема

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

  • Мой хост (ubuntu): 192.168.178.52
  • Мой маршрутизатор (FritzBox): 192.168.178.1
  • Маршрутизатор моего друга (Swisscom): 192.168.1.1
  • Цель, которую я хочу достичь: 192.168.1.148

У меня есть следующая конфигурация на моем хосте ubuntu:

connections {
  friend {
    version = 2
    remote_addrs = xxx.internet-box.ch
    vips = 0.0.0.0
    local {
      auth=psk
      id=roman
    }
    remote {
      auth=psk
      id=roman
    }
    children {
      vpn {
        # local_ts = 102.168.178.0/24
        remote_ts = 192.168.1.0/24
        # remote_ts = dynamic
        dpd_action = restart
        start_action = trap
      }
    }
  }
}

secrets {
  ike-1 {
    id-1=roman
    secret=xxxxxxxxxxx
  }
}

Я выполняю следующие команды:

$ swanctl --load-all
loaded ike secret 'ike-1'
no authorities found, 0 unloaded
no pools found, 0 unloaded
loaded connection 'friend'
successfully loaded 1 connections, 0 unloaded

Затем я инициирую соединение:

$ swanctl -i -c vpn
[IKE] устанавливаю CHILD_SA vpn{146}
[ENC] генерирую запрос CREATE_CHILD_SA 2 [ SA No TSi TSr ]
[NET] отправка пакета: от 192.168.178.52[4500] к 85.7.x.x[4500] (252 байта)
[NET] получен пакет: от 85.7.x.x[4500] к 192.168.178.52[4500] (204 байта)
[ENC] разобран ответ CREATE_CHILD_SA 2 [ SA No TSi TSr ]
[CFG] выбрано предложение: ESP:AES_CBC_128/HMAC_SHA1_96/NO_EXT_SEQ
[IKE] CHILD_SA vpn{146} установлен с SPIs c0a290f4_i c8122518_o и TS 192.168.1.219/32 === 192.168.1.0/24
инициирование завершено успешно

Но когда я хочу подключиться к 192.168.1.148, это время ожидания истекает в большинстве случаев. Я знаю, что машина друга работает. Это его NAS. Она не перезагружается. И у нее есть статический IP-адрес в его сети.

Дополнительный анализ:

$ p route show table 220
192.168.1.0/24 через 192.168.178.1 dev enp1s0 proto static src 192.168.1.219

$ ip route get 192.168.1.148
192.168.1.148 через 192.168.178.1 dev enp1s0 table 220 src 192.168.1.219 uid 1001 

$ ipsec statusall
Статус демон IKE charon (strongSwan 5.8.2, Linux 5.15.0-122-generic, x86_64):
  время работы: 2 дня, с 17 октября 21:30:01 2024
  malloc: sbrk 2842624, mmap 0, использовано 1435984, свободно 1406640
  потоки рабочих: 11 из 16 бездействуют, 5/0/0/0 работают, очередь задач: 0/0/0/0, запланировано: 27
  загруженные плагины: charon aesni aes rc2 sha2 sha1 md5 mgf1 случайный nonce x509 отмена ограничения pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp agent xcbc hmac gcm drbg attr kernel-netlink resolve socket-default connmark stroke vici updown eap-mschapv2 xauth-generic counters
Прослушиваемые IP-адреса:
  192.168.178.52
  2a02:200:2e01:54a0:9d83:2941:56e3:f2a2
  172.22.0.1
  172.24.0.1
  172.26.0.1
  172.18.0.1
  172.17.0.1
  172.21.0.1
  172.23.0.1
  172.20.0.1
  172.19.0.1
Соединения:
       друг:  %any...xxxx.internet-box.ch  IKEv2
       друг:   локальный:  [roman] использует аутентификацию с предобменным ключом
       друг:   удаленный: [roman] использует аутентификацию с предобменным ключом
         vpn:   child:  dynamic === 192.168.1.0/24 TUNNEL
Маршрутизированные соединения:
         vpn{1}:  МАРШРУТИЗИРОВАНО, TUNNEL, reqid 1
         vpn{1}:   0.0.0.0/0 === 192.168.1.0/24
Ассоциации безопасности (1 активно, 0 подключается):
       друг[135]: УСТАНОВЛЕН 16 минут назад, 192.168.178.52[roman]...85.7.x.x[roman]
   друг[135]: IKEv2 SPIs: 1e75c069439e4117_i* f9053c4dd0c6b9ea_r, переаутентификация через 3 часа, повторная аутентификация с предобменным ключом через 2 минуты
   друг[135]: предложение IKE: AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048
     vpn{145}:  УСТАНОВЛЕН, TUNNEL, reqid 136, ESP в UDP SPIs: c8ac1edd_i c07abc4a_o
     vpn{145}:  AES_CBC_128/HMAC_SHA1_96, 0 bytes_i, 0 bytes_o (0 пакетов, 217s назад), переаутентификация через 38 минут
     vpn{145}:   192.168.1.219/32 === 192.168.1.0/24
     vpn{146}:  УСТАНОВЛЕН, TUNNEL, reqid 136, ESP в UDP SPIs: c0a290f4_i c8122518_o
     vpn{146}:  AES_CBC_128/HMAC_SHA1_96, 0 bytes_i, 480 bytes_o (8 пакетов, 217s назад), переаутентификация через 50 минут
     vpn{146}:   192.168.1.219/32 === 192.168.1.0/24

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

Ответ или решение

Проблема с VPN-соединением StrongSwan: Сторонняя сеть доступна, но не удается подключиться к удаленному хосту

Введение

Проблема, с которой вы столкнулись, заключается в том, что ваше VPN-соединение с удаленной сетью иногда работает, но чаще всего вызовы к удаленному хосту завершаются тайм-аутом. В данной статье мы подробно рассмотрим вашу конфигурацию и возможности решения проблемы.

Описание конфигурации

Исходя из представленной информации, вы подключаетесь к сети вашего друга, используя StrongSwan, и ваша локальная конфигурация выглядит следующим образом:

  • Ваш компьютер: 192.168.178.52
  • Ваш маршрутизатор (FritzBox): 192.168.178.1
  • Маршрутизатор вашего друга (Swisscom): 192.168.1.1
  • Удаленный хост (NAS): 192.168.1.148

Конфигурация VPN в StrongSwan:

connections {
  friend {
    version = 2
    remote_addrs = xxx.internet-box.ch
    vips = 0.0.0.0
    local {
      auth=psk
      id=roman
    }
    remote {
      auth=psk
      id=roman
    }
    children {
      vpn {
        remote_ts = 192.168.1.0/24
        dpd_action = restart
        start_action = trap
      }
    }
  }
}

Анализ проблемы

После успешного назначения VPN-соединения ваше устройство получает локальный адрес в удаленной сети (192.168.1.219), доступ к которой должен обеспечиваться через маршрутизатор вашего друга.

1. Проверьте маршрутизацию

Вывод команды ip route show table 220 подтверждает, что маршруты к сети 192.168.1.0/24 обрабатываются. Однако стоит проверить следующие моменты:

  • Убедитесь, что маршрутизатор вашего друга действительно прослушивает и обрабатывает пакеты на адрес 192.168.1.148.
  • Проверьте настройки файрвола на удаленном хосте (NAS), чтобы убедиться, что он разрешает входящие соединения от вашего VPN-адреса 192.168.1.219.

2. Используйте инструменты для диагностики

Попробуйте использовать команды, такие как ping и traceroute, для диагностики проблемы доступа. Например:

ping 192.168.1.148
traceroute 192.168.1.148

Это поможет вам определить, где происходит сбой в соединении.

3. Проверка на маршрутизаторе друга

  • Убедитесь, что маршрутизатор Swisscom не блокирует пакеты, поступающие от VPN. Некоторые маршрутизаторы могут иметь специальные настройки для фильтрации трафика.
  • Убедитесь, что все соответствующие порты открыты (например, для NAS могут потребоваться порты 80, 443 или другие).

Заключение

Если вы выполнили все вышеуказанные проверки и проблема все еще не решена, возможно, стоит обратиться к вашему другу для диагностики его маршрутизатора и NAS. Также убедитесь, что версия StrongSwan, которую вы используете, актуальна, так как обновления могут исправить ошибки и улучшить работу VPN-соединения.

Дополнительно проверьте записи логов с помощью следующей команды:

sudo journalctl -u strongswan

Это может дать вам более подробную информацию о соединениях и возможных проблемах.

Если после всех проверок проблема не будет разрешена, возможно, стоит рассмотреть вариант с использованием другого прокси-сервера для связи или альтернативных решений по VPN.

Оптимизация SEO

Данная статья адресована пользователям, сталкивающимся с проблемами подключения к удаленным сетям через StrongSwan VPN. Ключевые слова: StrongSwan, VPN, маршрутизация, доступ к удаленной сети, проблемы с соединением.

Оцените материал
Добавить комментарий

Капча загружается...