测试同事反馈问题处理

有同事反馈nginx里面添加了deny客户端IP后客户端还是可以正常访问
查了下客户端IP为长宽IP,长宽一般会有NAT

寻找NAT后的IP:
1.客户端IP:a.b.c.d来抓包吧
# tcpdump dst e.f.g.h,同时再开一个窗口# curl -o /dev/null -s -w %{http_code}”\n” http://e.f.g.h
… …
16:53:35.315543 IP a.b.c.d.59771 > hn.kd.ny.adsl.http: Flags [S], seq 2309106674, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
16:53:35.349056 IP a.b.c.d.59771 > hn.kd.ny.adsl.http: Flags [.], ack 1274207386, win 502, length 0
… …
2.服务端IP:e.f.g.h 来抓包吧
# tcpdump tcp port 80
… …
16:53:35.346267 IP i.j.k.l.serverview-rm > hn.kd.ny.adsl.http: Flags [S], seq 2309106674, win 64240, options [mss 1448,nop,nop,sackOK,nop,wscale 7], length 0
16:53:35.346290 IP hn.kd.ny.adsl.http > i.j.k.l.serverview-rm: Flags [S.], seq 1274207385, ack 2309106675, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
… …
3.将服务器得到的IP(i.j.k.l)加入到deny里面去,然后nginx reload下,客户端再次curl,已经由原来的http 200变成了http 403,over!

由于隐私问题IP地址已用a.b.c.d | e.f.g.h | i.j.k.l 来代替

Print Friendly

发表评论

电子邮件地址不会被公开。 必填项已用*标注