Назад | Перейти на главную страницу

Как устранить ошибку 13843: получена недопустимая полезная нагрузка?

Когда Windows 8 пытается подключиться к моей Strongswan VPN, я получаю следующую ошибку:

Ошибка 13843: Получены недопустимые данные.

Я не уверен, как решить эту проблему и что ее вызывает. В моем журнале Харона есть это,

15[IKE] IKE_SA roadwarrior[2] established between 10.0.10.81[DNREDACTED1]...75.108.226.117[DNREDACTED2]
15[IKE] scheduling reauthentication in 9771s
15[IKE] maximum IKE_SA lifetime 10311s
15[IKE] sending end entity cert "REDACTED GW CERT"
15[IKE] peer requested virtual IP %any
15[IKE] no virtual IP found, sending INTERNAL_ADDRESS_FAILURE
15[IKE] configuration payload negotiation failed, no CHILD_SA built
15[ENC] generating IKE_AUTH response 1 [ IDr CERT AUTH N(AUTH_LFT) N(MOBIKE_SUP) N(NO_ADD_ADDR) N(INT_ADDR_FAIL) ]
15[NET] sending packet: from 10.0.10.81[4500] to 75.108.226.117[4500]
16[NET] received packet: from 75.108.226.117[4500] to 10.0.10.81[4500]
16[ENC] parsed INFORMATIONAL request 2 [ D ]
16[IKE] received DELETE for IKE_SA roadwarrior[2]
16[IKE] deleting IKE_SA roadwarrior[2] between 10.0.10.81[DNREDACTED1]...75.108.226.117[DNREDACTED2]
16[IKE] IKE_SA deleted
16[ENC] generating INFORMATIONAL response 2 [ ]
16[NET] sending packet: from 10.0.10.81[4500] to 75.108.226.117[4500]

ipsec.conf

conn %default                                                                                                                                                                                                                                
  dpdaction=clear                                                                                                                                                                                                                            
  dpddelay=300s                                                                                                                                                                                                                              
  keyexchange=ikev2                                                                                                                                                                                                                          
  auto=add                                                                                                                                                                                                                                   

conn roadwarrior                                                                                                                                                                                                                             
  keyexchange=ikev2                                                                                                                                                                                                                          
  auto=add                                                                                                                                                                                                                                   
  left=%defaultroute                                                                                                                                                                                                                         
  leftcert=gw-cert.pem                                                                                                                                                                                                                       
  leftsubnet=10.0.10.0/24                                                                                                                                                                                                                    
  right=%any                                                                                                                                                                                                                                 
  rightsubnet=192.168.1.1/24

strongswan.conf

charon {                                                                                                                                                                                                                                     
  threads = 16;                                                                                                                                                                                                                              

    # Two defined file loggers. Each subsection is either a file                                                                                                                                                                             
    # in the filesystem or one of: stdout, stderr.                                                                                                                                                                                           
    filelog {                                                                                                                                                                                                                                
        /var/log/charon.log {                                                                                                                                                                                                                
            # add a timestamp prefix                                                                                                                                                                                                         
            time_format = %b %e %T                                                                                                                                                                                                           
            # loggers to files also accept the append option to open files in                                                                                                                                                                
            # append mode at startup (default is yes)                                                                                                                                                                                        
            append = no                                                                                                                                                                                                                      
            # the default loglevel for all daemon subsystems (defaults to 1).                                                                                                                                                                
            default = 1                                                                                                                                                                                                                      
            # flush each line to disk                                                                                                                                                                                                        
            flush_line = yes                                                                                                                                                                                                                 
        }                                                                                                                                                                                                                                    
        stderr {                                                                                                                                                                                                                             
            # more detailed loglevel for a specific subsystem, overriding the                                                                                                                                                                
            # default loglevel.                                                                                                                                                                                                              
            ike = 2                                                                                                                                                                                                                          
            knl = 3                                                                                                                                                                                                                          
            # prepend connection name, simplifies grepping                                                                                                                                                                                   
            ike_name = yes                                                                                                                                                                                                                   
        }                                                                                                                                                                                                                                    
    }                                                                                                                                                                                                                                        
    # And two loggers using syslog. The subsections define the facility to log                                                                                                                                                               
    # to, currently one of: daemon, auth.                                                                                                                                                                                                    
    syslog {                                                                                                                                                                                                                                 
        # optional identifier used with openlog(3), prepended to each log message                                                                                                                                                            
        # by syslog. if not configured, openlog(3) is not called, so the value will                                                                                                                                                          
        # depend on system defaults (usually the program name)                                                                                                                                                                               
        identifier = charon-custom                                                                                                                                                                                                           
        # default level to the LOG_DAEMON facility                                                                                                                                                                                           
        daemon {                                                                                                                                                                                                                             
        }                                                                                                                                                                                                                                    
        # very minimalistic IKE auditing logs to LOG_AUTHPRIV                                                                                                                                                                                
        auth {                                                                                                                                                                                                                               
            default = -1                                                                                                                                                                                                                     
            ike = 0                                                                                                                                                                                                                          
        }                                                                                                                                                                                                                                    
    }                                                                                                                                                                                                                                        


  dns1=4.2.2.1                                                                                                                                                                                                                               
  dns2=4.2.2.2                                                                                                                                                                                                                               

}              

В твоем ipsec.conf журнал у вас есть

rightubnet = 192.168.1.1 / 24

Которые должны быть

rightosourceip = 192.168.1.1 / 24

left / rightubnet задокументирован как,

left | rightubnet = [[]] [, ...]

частная подсеть за левым участником, выраженная как сеть / маска сети; если опущено, по существу предполагается, что это left / 32 | 128, что означает, что левый | правый конец соединения идет только к левому | правому участнику. Настроенные подсети одноранговых узлов могут отличаться, протокол сужает их до самой большой общей подсети. Начиная с 5.0.0 это также делается для IKEv1, но поскольку это может привести к проблемам с другими реализациями, обязательно настройте идентичные подсети в таких конфигурациях. IKEv2 поддерживает несколько подсетей, разделенных запятыми, IKEv1 интерпретирует только первую подсеть такого определения, если не включен плагин расширения Cisco Unity (доступен с 5.0.1).

Начиная с версии 5.1.0, необязательная часть после каждой подсети, заключенная в квадратные скобки, указывает протокол / порт для ограничения селектора для этой подсети. Примеры: leftsubnet = 10.0.0.1 [tcp / http], 10.0.0.2 [6/80] или leftsubnet = fec1 :: 1 [udp], 10.0.0.0 / 16 [/ 53]. Вместо того, чтобы опускать любое значение%, для того же эффекта можно использовать любое, например leftsubnet = fec1 :: 1 [UDP /% любой], 10.0.0.0 / 16 [% любой / 53]

В качестве альтернативы значение порта может принимать значение% непрозрачности для селекторов RFC 4301 OPAQUE или числовой диапазон в форме 1024-65535. Ни один из модулей ядра в настоящее время не поддерживает непрозрачность или диапазоны портов и вместо этого использует% any для установки политики.

Вместо указания подсети можно использовать% dynamic, чтобы заменить ее адресом IKE, что даст тот же эффект, что и полное исключение левой | правой подсети. Использование% dynamic может использоваться для определения нескольких динамических селекторов, каждый из которых имеет потенциально различное определение протокола / порта.

В то время как rightsourceip документируется как,

rightsourceip =% config | / | % poolname

Внутренний IP-адрес источника для использования в туннеле для удаленного узла. Если значение настроено на стороне респондента, инициатор должен предложить адрес, который затем возвращается эхом. Также поддерживаются пулы адресов, выраженные как / или использование внешнего пула IP-адресов с использованием% poolname, где poolname - это имя пула IP-адресов, используемого для поиска (подробности см. В виртуальном IP-адресе). Начиная с 5.0.1, список IP-адресов / пулов, разделенных запятыми, принят, например, для определения пулов из разных семейств адресов.