Apache 未接收数据包。tcpdump 显示它们

Apache 未接收数据包。tcpdump 显示它们

在 VPC 中有一个 AWS EC2 实例,尝试向其添加辅助 ENI。该接口已成功添加到我当前用于主实例 ENI 的安全组。然后,一个新的弹性 IP 已添加到上述新创建的辅助接口。添加了私有 IP 地址,并将新的弹性 IP 映射到它。所以它看起来像 50.50.50.50 -> 10.0.120.1。eth1辅助接口已启动:

eth1      Link encap:Ethernet  HWaddr 02:7e:51:91:9d:ed
          inet addr:10.0.120.1  Bcast:10.255.255.255  Mask:255.0.0.0
          inet6 addr: fe80::7e:51ff:fe91:9ded/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:274 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12390 (12.3 KB)  TX bytes:2362 (2.3 KB)

到目前为止,一切都很好。

我有一个本地 apache2 实例,它监听 80 和 443 端口上的所有接口。可以通过查看netstat -apn输出来验证这一点。Apache 确实监听了所有接口:

tcp6       0      0 :::80                   :::*                    LISTEN      13603/apache2

如果我尝试执行新添加的接口的本地 IP 在telnet 10.0.120.1 80哪里,它会响应良好。10.0.120.1

但是,如果我尝试执行相同的操作,但从外部网络(例如,我的本地机器)进行:在实例上启动时,它会超时,以下是我在输出中看到的telnet 50.50.50.50 80内容:tcpdump -i eth1tcpdump

21:46:31.907721 IP my.external.ip.61809 > 10.0.120.1.http: Flags [S], seq 3126348761, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
21:46:34.910779 IP my.external.ip.61809 > 10.0.120.1.http: Flags [S], seq 3126348761, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
21:46:40.902797 IP my.external.ip.61809 > 10.0.120.1.http: Flags [S], seq 3126348761, win 8192, options [mss 1360,nop,nop,sackOK], length 0
21:47:02.982563 IP my.external.ip.61817 > 10.0.120.1.http: Flags [S], seq 3180271658, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
21:47:05.984170 IP my.external.ip.61817 > 10.0.120.1.http: Flags [S], seq 3180271658, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
21:47:11.981669 IP my.external.ip.61817 > 10.0.120.1.http: Flags [S], seq 3180271658, win 8192, options [mss 1360,nop,nop,sackOK], length 0
21:47:14.042766 ARP, Request who-has 10.0.120.1 tell 10.0.0.1, length 42
21:47:15.040646 ARP, Request who-has 10.0.120.1 tell 10.0.0.1, length 42
21:47:16.040884 ARP, Request who-has 10.0.120.1 tell 10.0.0.1, length 42

因此内核实际上接收了传入的数据包,这可能意味着安全组一切正常,至少传入连接正常。但 apache 没有收到任何内容,也没有在其访问日志中记录任何内容。同时,它响应并与所有其他虚拟主机(其 IP 映射到旧的主 ENI)正常工作。

相关内容