web-dev-qa-db-ja.com

OpenSWANで「保留中のフェーズ2」を通過できない<-> ISAサーバーIPSec VPN

問題

ISA Server 2004 IPSec VPNに接続するようにLinuxサーバー(Ubuntu 12.04)でOpenSWANを構成するのにかなり苦労しています。一部のパケットがどこかでドロップされているように見えますか?本当にわかりません。

相手側のログには何の問題もないという。ファイアウォールはありません。これが/var/log/auth.logの問題の部分です(下の長いバージョン)。

Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: STATE_MAIN_I3: sent MI3, expecting MR3
Jan 29 17:28:12 P-INV-SD07 pluto[5821]: "myconn" #1: discarding duplicate packet; already STATE_MAIN_I3
Jan 29 17:28:34  pluto[5821]: last message repeated 3 times
Jan 29 17:28:42 P-INV-SD07 pluto[5821]: packet from <hispublicip>:500: Informational Exchange is for an unknown (expired?) SA with MSGID:0x8341092b
Jan 29 17:28:42 P-INV-SD07 pluto[5821]: "myconn" #1: discarding duplicate packet; already STATE_MAIN_I3

次は、誰かが助けてくれる場合のセットアップに関する詳細情報です:)よろしくお願いします!

現在の構成

私は、ほとんどの場合デフォルトのパラメーターを使用して接続をセットアップしました(他にもいろいろ試しましたが、これよりもうまく機能するようには見えません)。

conn myconn
    authby=secret
    type=tunnel
    left=<hispublic>
    leftsubnet=<hislanip>/32
    right=<mypublic>
    rightsubnet=<mylanip>/32
    auto=start

ipsec auto statusからの出力:

000 "myconn": <mylanip>/32===<mypublicip><<mypublicip>>[+S=C]...<hispublicip>    <<hispublicip>>[+S=C]===<hislanip>/32; prospective erouted; eroute owner: #0
000 "myconn":     myip=unset; hisip=unset;
000 "myconn":   ike_life: 7200s; ipsec_life: 28800s; rekey_margin: 540s; rekey_fuzz:     100%; keyingtries: 0
000 "myconn":   policy: PSK+ENCRYPT+TUNNEL+PFS+UP+IKEv2ALLOW+SAREFTRACK+lKOD+rKOD;   prio:   32,32; interface: eth0;
000 "myconn":   newest ISAKMP SA: #0; newest IPsec SA: #0;
000
000 #2: "myconn":500 STATE_MAIN_I3 (sent MI3, expecting MR3); EVENT_RETRANSMIT in 18s;     nodpd; idle; import:admin initiate
000 #2: pending Phase 2 for "myconn" replacing #0

/var/log/auth.logからの抜粋:

Jan 29 17:28:11 P-INV-SD07 pluto[5821]: loading secrets from "/etc/ipsec.secrets"
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: initiating Main Mode
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: ignoring Vendor ID payload [MS NT5 ISAKMPOAKLEY 00000004]
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: ignoring Vendor ID payload [FRAGMENTATION]
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] method set to=106
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: enabling possible NAT-traversal     with method draft-ietf-ipsec-nat-t-ike-05
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: STATE_MAIN_I2: sent MI2, expecting    MR2
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: NAT-Traversal: Result using draft-ietf-ipsec-nat-t-ike-02/03: no NAT detected
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
Jan 29 17:28:11 P-INV-SD07 pluto[5821]: "myconn" #1: STATE_MAIN_I3: sent MI3, expecting MR3
Jan 29 17:28:12 P-INV-SD07 pluto[5821]: "myconn" #1: discarding duplicate packet; already STATE_MAIN_I3
Jan 29 17:28:34  pluto[5821]: last message repeated 3 times
Jan 29 17:28:42 P-INV-SD07 pluto[5821]: packet from <hispublicip>:500: Informational Exchange is for an unknown (expired?) SA with MSGID:0x8341092b
Jan 29 17:28:42 P-INV-SD07 pluto[5821]: "myconn" #1: discarding duplicate packet; already STATE_MAIN_I3

ISAサーバー側で使用される構成オプションは次のとおりです。

  • フェーズ1
    • 暗号化:3DES
    • 整合性:SHA1
    • DHグループ:グループ2
  • フェーズ2
    • 暗号化:3DES
    • 整合性:SHA1
    • 86400秒ごとに新しいキーを生成する
    • PFSを使用する:はい(DHグループ2)

更新

OpenSWAN側でパケットスニッファーを実行し、 OakleyログをISA側 で有効にしました。スニフはほぼ期待どおりのものです。 OpenSWAN側から送信された3番目のパケットは、ISAサーバーによって拒否されます。サーバーは、ACKされなかったと考えているため、2番目のパケットを送信し続けます。

Oakley(ISA)ログのエラーは次のように述べています。

Receive: (get) SA = 0x00108cf0 from 50.57.73.135.500
2-07: 14:44:25:250:44b24 ISAKMP Header: (V1.0), len = 68
2-07: 14:44:25:250:44b24   I-COOKIE 8802248fab719171
2-07: 14:44:25:250:44b24   R-COOKIE 296787dc0ec4227a
2-07: 14:44:25:250:44b24   exchange: Oakley Main Mode
2-07: 14:44:25:250:44b24   flags: 1 ( encrypted )
2-07: 14:44:25:250:44b24   next payload: ID
2-07: 14:44:25:250:44b24   message ID: 00000000
2-07: 14:44:25:250:44b24 invalid payload received
2-07: 14:44:25:250:44b24 Preshared key ID.  Peer IP Address: <mypublicip>
2-07: 14:44:25:250:44b24 Source IP Address <hispublicip>  Source IP Address Mask 255.255.255.255  Destination IP Address <mypublicip>  Destination IP Address Mask 255.255.255.255  Protocol 0  Source Port 0  Destination Port 0  IKE Local Addr <hispublicip>  IKE Peer Addr <mypublicip>  IKE Source Port 500  IKE Destination Port 500  Peer Private Addr
2-07: 14:44:25:250:44b24 GetPacket failed 3613

つまり、基本的にはinvalid payload received、次にGetPacket failed 3613です。この最後のエラーコードは、グーグルで多くの情報を提供しません。これは、常にこれを取得し、それでもすべてが機能することを人々が言っ​​ていることを含みます。

私はあきらめました、ローカルサーバーをセットアップしていますが、インターネットのために手掛かりが誰かにある場合に備えて、将来の参考のためにこれを更新しています。

6
GomoX

私は最近この状況に遭遇しました。

2つの問題が原因でした。

  1. ファイアウォール
  2. 無効なカーネルIP転送
  3. 事前共有キーの不一致

ファイアウォールの場合、ポート500と4500がブロックされたことがわかります。 ipsec verifyを実行すると、500または4500がブロックされているかどうかを確認できます。

/etc/sysctl.confでは、

net.ipv4.ip_forward1に変更

追加する

net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.lo.send_redirects = 0
net.ipv4.conf.em1.accept_redirects = 0
net.ipv4.conf.em1.send_redirects = 0

em1はネットワークインターフェイスです。おそらくeth0またはeth1

最後に、私の場合、/etc/ipsec.d/ipsec.secretsの事前共有キーが誤って二重引用符"で囲まれていたため、事前共有キーが一致しなくなりました。

それが誰かを助けることを願っています。

2
user2829759