Tag: IP

Unix Like, 操作系统, 网络

Linux IPv4 forward自动丢弃源IP为系统已绑定的IP的问题

A是路由,其上做了策略,一部分符合特定条件的流量,是要转发到B进行封装处理,A和B之间做了数个VLAN,B根据VLAN应用不同的策略。 不过这里的问题是,B的默认网关也是A(环路问题是不存在的,已经有对应规则处理),所以B自身发出的流量也会由A应用策略,转发回给B自己。而B收到src IP是local IP(系统已绑定的IP)的包时,kernel会直接丢弃数据包,所以除了B自己的数据包,B都能正常封装。 解决这个问题的一个方法,是让A在把数据包转发给B前,做一次SNAT,这样B收到的数据包,src IP就是A的IP了。其实SNAT并没有什么影响,A对NAT也有hardware offload, […]

Read more
服务器, 未分类

IPv4 CIDR/NETMASK的简单计算

平时购买独立服务器,机房给的IP,大都以IP/CIDR或者IP/NETMASK来表示,应该很多人第一次看到都不懂是什么意思,我当初也如此…… 下文以192.168.1.0/255.255.255.0为例: 本例的IP段是IP/NETMASK格式的,要计算IP的数目,个人建议首先把子网掩码(NETMASK)转换为CIDR。 互相转换其实也不难,例如:255.255.255.0这个子网掩码,把255转换为二进制,你就会发现刚刚好是八个“1”: 因此255.255.255.0的CIDR=3*8=24,子网掩码最多四个255,CIDR最大也就是32。 至于子网掩码和CIDR更多有关的介绍的不是本文重点 […]

Read more 2 Comments
运营维护

使用Varnish Cache时,让Nginx获取访客真实IP

200

之前发表过一篇文章:Varnish(前)+Nginx(中)时,让Apache(后)获取用户真实IP(多重代理) 该方法能成功解决使用或者不使用CDN时,在Varnish前端,Nginx中端,Apache解析PHP文件的情况下让Apache获取访客真实IP。因为当时主要是利用Nginx进行缓存,没使用其他功能,旧没让Nginx也获取访客真实的IP。 其中Varnish处理XFF的关键代码:

也就是把客户的IP赋值给XFF。那样后端处理就方便多了。 昨天在为一台Varnish+Nginx+Apache的服务器添加并测试防轻量级CC的 […]

Read more 12 Comments
服务器, 运营维护

Varnish(前)+Nginx(中)时,让Apache(后)获取用户真实IP(多重代理)

PHP探针

不得不说我有点问题,网站一个Apache+Varnish不够,还要在Apache和Varnish之间插入个第三者——Nginx。 因为某些需要,也给该服务器上的个别网站上了CDN。 Apache做后端,前面多一个Nginx Proxy Cache+Varnish,获取用户的真实IP不难,只需给Apache上一个rpaf模块就行了,然后让Varnish处理XFF的内容就好了:

无CDN的情况下访问网站,可以正确获取到用户的真实IP。 最近给网站上多了一个CDN,rpaf模块就显得无能为力了。因此,这几天一直苦恼如何让我的网站获取用 […]

Read more 3 Comments