在 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 eth1
tcpdump
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)正常工作。