web-dev-qa-db-ja.com

TCP syn、ackはIPsecVPNトンネルに入る前に失われました

トラフィックがトンネルを通過するときに正常に機能するサイト間VPNを構成しました。他のネットワーク上のホストにpingを実行して、Telnetホストにpingを返すことができます。

私が抱えている問題は、他のネットワーク上のホストがWebサーバー上のアプリにHTTPリクエストを送信する場合(これは実際にはUSSDメニューをモバイルサブスクライバーに返送するためのアプリです。他のホストはモバイルネットワークプロバイダーのサーバーです)、リクエストが可能で、他のホストからのSYNでハンドシェイクが開始されます!私のサーバーはSYN、ACKで応答しますが、驚いたことに、これらの応答は反対側に到着していません。ルーターとVPNサーバーとしてCisco820を使用しています。ルーターの構成を調べても、私が知る限り、とにかく異常なことは何も示されていません。ファイアウォールを有効にしておらず、ルーティングとアクセス制御にアクセスリストを使用しています。

私が疑うのは、パケットが暗号化されてIpsecトンネルに送信される前に、ルーターによってドロップされているということです。誰かがこれらのパケットをドロップしている可能性があるものをアドバイスしてください。

スリーウェイハンドシェイクが失敗するため、それ以上の通信は行われません。

これはパケットトレースです。

    25.690224 200.32.15.154 -> 192.168.0.2  TCP 74 45367 > http [SYN]          Seq=0 Win=5840 Len=0 MSS=1452 SACK_PERM=1 TSval=610983874 TSecr=0 WS=128
    25.690267  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763845089 TSecr=610983874 WS=128
    26.687067  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763845339 TSecr=610983874 WS=128
    28.687066  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763845839 TSecr=610983874 WS=128
    31.688116 200.32.15.154 -> 192.168.0.2  TCP 74 45367 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1452 SACK_PERM=1 TSval=610989874 TSecr=0 WS=128
    31.688147  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763846589 TSecr=610983874 WS=128
    32.687068  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763846839 TSecr=610983874 WS=128
    40.687059  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763848839 TSecr=610983874 WS=128
    43.689503 200.32.15.154 -> 192.168.0.2  TCP 74 45367 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1452 SACK_PERM=1 TSval=611001874 TSecr=0 WS=128
    43.689531  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763849589 TSecr=610983874 WS=128
    56.887060  192.168.0.2 -> 200.32.15.154 TCP 74 http > 45367 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=763852889 TSecr=610983874 WS=128

これはサーバー上の私のIptablesです:

    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    fail2ban-dovecot-pop3imap  tcp  --  anywhere                     anywhere             multiport dports pop3,pop3s,imap2,imaps
    fail2ban-pureftpd  tcp  --  anywhere                     anywhere             multiport dports ftp
    fail2ban-ssh  tcp  --  anywhere             anywhere             multiport         dports ssh
    fail2ban-dovecot-pop3imap  tcp  --  anywhere             anywhere             multiport dports pop3,pop3s,imap2,imaps
    fail2ban-pureftpd  tcp  --  anywhere             anywhere             multiport dports ftp
    fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh

    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination

    Chain fail2ban-dovecot-pop3imap (2 references)
    target     prot opt source               destination
    RETURN     all  --  anywhere             anywhere
    RETURN     all  --  anywhere             anywhere

    Chain fail2ban-pureftpd (2 references)
    target     prot opt source               destination
    RETURN     all  --  anywhere             anywhere
    RETURN     all  --  anywhere             anywhere

    Chain fail2ban-ssh (2 references)
    target     prot opt source               destination
    RETURN     all  --  anywhere             anywhere
    RETURN     all  --  anywhere             anywhere

これは、インターネットと、これらのアドレスをどのようにプログラムしたかを示すアクセスリストです。

        150 deny ip 192.168.0.0 0.0.0.255 Host 200.32.15.152 log (306 matches)
160 deny ip 192.168.0.0 0.0.0.255 Host 200.32.15.153 log (101 matches)
170 deny ip 192.168.0.0 0.0.0.255 Host 200.32.15.154 log (141 matches)
180 deny ip 192.168.0.0 0.0.0.255 Host 200.32.15.155 log (74 matches)

これは、VPNを指すアクセスリストです。

        60 permit ip Host 192.168.0.2 Host 200.32.15.152 (132 matches)
70 permit ip Host 192.168.0.2 Host 200.32.15.153 (74 matches)
80 permit ip Host 192.168.0.2 Host 200.32.15.154 (146 matches)
90 permit ip Host 192.168.0.2 Host 200.32.15.155 (72 matches)

これらは、これらのアドレスのSAです。

    local  ident (addr/mask/prot/port): (192.168.0.2/255.255.255.255/0/0)
    remote ident (addr/mask/prot/port): (200.32.15.154/255.255.255.255/0/0)
    current_peer 41.72.111.122 port 500
 PERMIT, flags={Origin_is_acl,}
#pkts encaps: 28, #pkts encrypt: 28, #pkts digest: 28
#pkts decaps: 68, #pkts decrypt: 68, #pkts verify: 68
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0

 local crypto endpt.: 41.222.240.23, remote crypto endpt.: 41.72.111.122
 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet4.1
 current outbound spi: 0x8FD440DA(2413052122)
 PFS (Y/N): N, DH group: none

 inbound esp sas:
  spi: 0xD6FEA63C(3607012924)
    transform: esp-3des esp-sha-hmac ,
    in use settings ={Tunnel, }
    conn id: 19, flow_id: Onboard VPN:19, sibling_flags 80000040, crypto map: sshlink-to-savannah
    sa timing: remaining key lifetime (k/sec): (4263446/2717)
    IV size: 8 bytes
    replay detection support: Y
    Status: ACTIVE(ACTIVE)

 inbound ah sas:

 inbound pcp sas:

 outbound esp sas:
  spi: 0x8FD440DA(2413052122)
    transform: esp-3des esp-sha-hmac ,
    in use settings ={Tunnel, }
    conn id: 20, flow_id: Onboard VPN:20, sibling_flags 80000040, crypto map: sshlink-to-savannah
    sa timing: remaining key lifetime (k/sec): (4263446/2717)
    IV size: 8 bytes
    replay detection support: Y
    Status: ACTIVE(ACTIVE)

 outbound ah sas:

 outbound pcp sas:

誰か助けてください!!!

1
Mundeez

最終的に解決策が見つかりました。パブリックピアIPをACLに含める必要がありました。ナッティングのため、ハンドシェイクのリターンレッグはパブリックピアIPを使用して送信されていたため、パブリックピアIPをACLに追加した後、PRESTO !!!すべてがうまくいった。

0
Mundeez