web-dev-qa-db-ja.com

L2TPVPN接続が機能しない-PAYLOAD_MALFORMED

古いVMWareサーバー(ESXI 5.1.0)を新しいサーバー(ESXI 6.7.0)に置き換えようとしています。そのために、古いサーバーのセットアップを複製しようとしています。仮想サーバーに接続する必要がある別の物理サーバーがあります。

つまり、Windows 2012R2サーバー(クライアント)とvyattaルーターの間にlt2pを介してVNP接続をセットアップしようとしています。

PDATE:現在、最新バージョンのVyosルーターで試していますが、結果は同じです。

これを複数回行う前に、現在、すでに機能しているソリューションに基づいて、両側の設定を複製しているだけですが、どういうわけか、今回は接続したくないだけです。

同じサーバーは、l2tpルーターとvyattaルーターを使用して、同じセットアップで他の2つのVPNに正常に接続されています。

Vyatta側では、ログに次のエラーが表示されます。

Apr  5 10:34:56 vyatta pluto[3061]: packet from XX.YYY.ZZZ.86:500: ignoring Vendor ID payload [01528bbbc00696121849ab9a1c5b2a5100000001]
Apr  5 10:34:56 vyatta pluto[3061]: packet from XX.YYY.ZZZ.86:500: received Vendor ID payload [MS NT5 ISAKMPOAKLEY 00000009]
Apr  5 10:34:56 vyatta pluto[3061]: packet from XX.YYY.ZZZ.86:500: received Vendor ID payload [RFC 3947]
Apr  5 10:34:56 vyatta pluto[3061]: packet from XX.YYY.ZZZ.86:500: ignoring Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n]
Apr  5 10:34:56 vyatta pluto[3061]: packet from XX.YYY.ZZZ.86:500: ignoring Vendor ID payload [FRAGMENTATION]
Apr  5 10:34:56 vyatta pluto[3061]: packet from XX.YYY.ZZZ.86:500: ignoring Vendor ID payload [MS-Negotiation Discovery Capable]
Apr  5 10:34:56 vyatta pluto[3061]: packet from XX.YYY.ZZZ.86:500: ignoring Vendor ID payload [Vid-Initial-Contact]
Apr  5 10:34:56 vyatta pluto[3061]: packet from XX.YYY.ZZZ.86:500: ignoring Vendor ID payload [IKE CGA version 1]
Apr  5 10:34:56 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: responding to Main Mode from unknown peer XX.YYY.ZZZ.86
Apr  5 10:34:56 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: Oakley Transform [AES_CBC (256), HMAC_SHA1, ECP_384] refused due to strict flag
Apr  5 10:34:56 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: Oakley Transform [AES_CBC (128), HMAC_SHA1, ECP_256] refused due to strict flag
Apr  5 10:34:56 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: Oakley Transform [AES_CBC (256), HMAC_SHA1, MODP_2048] refused due to strict flag
Apr  5 10:34:56 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: Oakley Transform [3DES_CBC (192), HMAC_SHA1, MODP_2048] refused due to strict flag
Apr  5 10:34:56 vyatta kernel: [262404.703564] [NAT-DST-2] IN=eth1 OUT= MAC=00:0c:29:0f:29:52:00:22:bd:f8:19:zz:08:00 SRC=XX.YYY.ZZZ.86 DST=VVV.MMM.WW.168 LEN=436 TOS=0x00 PREC=0x00 TTL=126 ID=28719 PROTO=UDP SPT=500 DPT=500 LEN=416
Apr  5 10:34:56 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: NAT-Traversal: Result using RFC 3947: no NAT detected
Apr  5 10:34:56 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: next payload type of ISAKMP Identification Payload has an unknown value: 77
Apr  5 10:34:56 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Apr  5 10:34:56 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: sending encrypted notification PAYLOAD_MALFORMED to XX.YYY.ZZZ.86:500
Apr  5 10:34:57 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: next payload type of ISAKMP Identification Payload has an unknown value: 77
Apr  5 10:34:57 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Apr  5 10:34:57 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: sending encrypted notification PAYLOAD_MALFORMED to XX.YYY.ZZZ.86:500
Apr  5 10:34:58 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: next payload type of ISAKMP Identification Payload has an unknown value: 77
Apr  5 10:34:58 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Apr  5 10:34:58 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: sending encrypted notification PAYLOAD_MALFORMED to XX.YYY.ZZZ.86:500
Apr  5 10:35:01 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: next payload type of ISAKMP Identification Payload has an unknown value: 77
Apr  5 10:35:01 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Apr  5 10:35:01 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: sending encrypted notification PAYLOAD_MALFORMED to XX.YYY.ZZZ.86:500
Apr  5 10:35:08 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: next payload type of ISAKMP Identification Payload has an unknown value: 77
Apr  5 10:35:08 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Apr  5 10:35:08 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: sending encrypted notification PAYLOAD_MALFORMED to XX.YYY.ZZZ.86:500
Apr  5 10:35:23 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: next payload type of ISAKMP Identification Payload has an unknown value: 77
Apr  5 10:35:23 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Apr  5 10:35:23 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: sending encrypted notification PAYLOAD_MALFORMED to XX.YYY.ZZZ.86:500
Apr  5 10:35:38 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: next payload type of ISAKMP Identification Payload has an unknown value: 77
Apr  5 10:35:38 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Apr  5 10:35:38 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: sending encrypted notification PAYLOAD_MALFORMED to XX.YYY.ZZZ.86:500
Apr  5 10:36:06 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86 #6: max number of retransmissions (2) reached STATE_MAIN_R2
Apr  5 10:36:06 vyatta pluto[3061]: "remote-access-mac-zzz"[6] XX.YYY.ZZZ.86: deleting connection "remote-access-mac-zzz" instance with peer XX.YYY.ZZZ.86 {isakmp=#0/ipsec=#0}

ログには、「ISAKMP識別ペイロードの次のペイロードタイプの値が不明です:77」と記載されており、値は接続ごとに異なります。

ログにはWindows側にはあまりありません。終わりのない秒数を数えるだけです。

Log Name:      Application
Source:        RasClient
Date:          05/04/2019 10:34:56
Event ID:      20221
Task Category: None
Level:         Information
Keywords:      Classic
User:          N/A
Computer:      *******.******.local
Description:
CoId={104D3F70-1CB1-40A1-A229-7F7E5A943E64}: The user SYSTEM has started dialing a VPN connection using a all-user connection profile named ZZZZZZZ. The connection settings are: 
Dial-in User = ******
VpnStrategy = L2TP
DataEncryption = Require
PrerequisiteEntry = 
AutoLogon = No
UseRasCredentials = Yes
Authentication Type = CHAP/MS-CHAPv2 
Ipv4DefaultGateway = No
Ipv4AddressAssignment = By Phonebook Entry
Ipv4DNSServerAssignment = By Phonebook Entry
Ipv6DefaultGateway = Yes
Ipv6AddressAssignment = By Server
Ipv6DNSServerAssignment = By Server
IpDnsFlags = 
IpNBTEnabled = No
UseFlags = Private Connection
ConnectOnWinlogon = No
IPsec authentication for L2TP = Pre-shared key.

Log Name:      Application
Source:        RasClient
Date:          05/04/2019 10:34:56
Event ID:      20222
Task Category: None
Level:         Information
Keywords:      Classic
User:          N/A
Computer:      *******.******.local
Description:
CoId={104D3F70-1CB1-40A1-A229-7F7E5A943E64}: The user SYSTEM is trying to establish a link to the Remote Access Server for the connection named ZZZZZZZ using the following device: 
Server address/Phone Number = VVV.MMM.WW.168
Device = WAN Miniport (L2TP)
Port = VPN0-3
MediaType = VPN.

そして、これがvyattaルーターの構成です。

interfaces {
    ethernet eth0 {
        address 192.168.1.254/24
        duplex auto
        hw-id 00:0c:29:0f:29:48
        smp_affinity auto
        speed auto
    }
    ethernet eth1 {
        address VVV.MMM.WW.168/24
        duplex auto
        hw-id 00:0c:29:0f:29:52
        smp_affinity auto
        speed auto
    }
    loopback lo {
    }
}
nat {
    destination {
        rule 2 {
            description "IPSEC TUNNELING PORT 500"
            destination {
                port 500
            }
            inbound-interface eth1
            log enable
            protocol tcp_udp
            translation {
                port 500
            }
        }
        rule 3 {
            description "IPSEC TUNNELING PORT 4500"
            destination {
                port 4500
            }
            inbound-interface eth1
            log enable
            protocol tcp_udp
            translation {
                port 4500
            }
        }
        rule 4 {
            description "VPN CLIENT TUNNELING PORT 1701"
            destination {
                port 1701
            }
            inbound-interface eth1
            log enable
            protocol tcp_udp
            translation {
                port 1701
            }
        }
    }
    source {
        rule 10 {
            description "OUTSIDE CONNECTION"
            outbound-interface eth1
            source {
                address 192.168.1.0/24
            }
            translation {
                address masquerade
            }
        }
    }
}
protocols {
    rip {
        network 192.168.1.0/24
    }
    static {
        route 10.1.1.0/24 {
            next-hop 192.168.1.1 {
            }
        }
        route 192.168.2.0/24 {
            next-hop 192.168.1.1 {
            }
        }
        route 192.168.3.0/24 {
            next-hop 192.168.1.1 {
            }
        }
    }
}
service {
    ssh {
        disable-password-authentication
        port 22
    }
}
system {
    config-management {
        commit-revisions 20
    }
    console {
    }
    gateway-address VVV.MMM.WW.1
    Host-name vyatta
    login {
        user vyatta {
            authentication {
                encrypted-password ****************
                public-keys vyatta@vyatta {
                    key ****************
                    type ssh-rsa
                }
            }
            level admin
        }
    }
    name-server 8.8.8.8
    name-server 192.168.1.2
    name-server 192.168.3.2
    ntp {
        server 0.vyatta.pool.ntp.org {
        }
    }
    package {
        auto-sync 1
        repository community {
            components main
            distribution stable
            password ****************
            url http://packages.vyatta.com/vyatta
            username ""
        }
    }
    syslog {
        global {
            facility all {
                level notice
            }
            facility protocols {
                level debug
            }
        }
    }
    time-zone GMT
}
vpn {
    ipsec {
        ipsec-interfaces {
            interface eth1
        }
        nat-networks {
            allowed-network 10.1.1.0/24 {
            }
            allowed-network 192.168.1.0/24 {
            }
            allowed-network 192.168.2.0/24 {
            }
            allowed-network 192.168.3.0/24 {
            }
        }
        nat-traversal enable
    }
    l2tp {
        remote-access {
            authentication {
                local-users {
                    username XYZ {
                        password ****************
                    }
                }
                mode local
            }
            client-ip-pool {
                start 192.168.1.100
                stop 192.168.1.110
            }
            dns-servers {
                server-1 192.168.1.2
            }
            ipsec-settings {
                authentication {
                    mode pre-shared-secret
                    pre-shared-secret ****************
                }
                ike-lifetime 3600
            }
            outside-address VVV.MMM.WW.168
            outside-nexthop 0.0.0.0
        }
    }
}

私が知っていて試したこと:

  • 事前共有シークレットと認証を何度もチェックし、何度も再入力しましたが、問題ではないと100%確信しています。
  • どこかで読むNATはパケットを台無しにする可能性がありますが、NAT(私が知る限り)はなく、nat-traversalが有効になっています。
  • 仮想ルーターのネットワークアダプターを変更しようとしましたが、考えられるすべてのオプションを試しましたが、同じエラーが発生します
  • この設定は、他の2つの動作中の接続の正確なコピーです。タイプミスや間違ったIPアドレスなどがないか構成を何度もチェックしました。

この問題の原因が何か考えがあれば教えてください。

ヒント、アイデア、さらには何を確認できるかについての推測さえもありがたいです。 :)

ありがとう。

1
Crick3t

解決策はWindowsサーバーを再起動することでした...

3週間苦労した後、それは機能しており、vyattaまたはWindowsサーバーの構成を変更していません。

さまざまなこと、さまざまな仮想ルーター、さまざまなプロトコルなどを試しましたが、何も機能しませんでした。

同じまたは同様の問題を抱えている人のための私の観察とヒント(将来の自己のためにも):

  • Windowsのリモートおよびルーティングモジュールにはバグがたくさんあり、理由もなく機能していない時間の負荷があり、デバッグメッセージで理由を知ることはできません。他にオプションがある場合は、代わりにそのオプションを使用してください。
  • 接続中に新しいダイヤルを作成しても機能しない場合は、それを削除して別の名前で作成。何らかの理由で別の名前が重要です。以前の接続は、削除した後もレジストリや他の場所に残り、同じエラーをスローしたり、ログなしで4秒後に「インターフェイスが切断されました」などの不思議なエラーをスローしたりすることがあります。
  • サービスを再起動すると役立つ場合がありますが、常にそうとは限りません。サーバー全体を再起動する余裕がある場合は、試してみてください。
  • 2つのL2tp接続は問題ありませんが、3つは機能しませんでした。
  • ポートは奇妙な方法で割り当てられます。最初は5つのL2tpポートがあり、サーバーは最後の2つを選択しました(最初の3回は接続に失敗した可能性があります...ここで推測しています)。私たちにとっては、ポートの数を10に増やすのに役立ちました(別のバグのために)UIのポートの数を増やすことができない場合は、レジストリでそれを行い、サーバーを再起動します(もう一度、サービスを再起動しても、トリックを行う)。
0
Crick3t