独学而无友,则孤陋而寡闻!
发布时间:2010-12-25 18:14:29
获得客户端IP原本是一个非常简单的事情,程序里很多时候使用REMOTE_ADDR环境变量就可以了,但随着网络结构复杂性越来越高,比如说 Apache前有Nginx,或者Nginx前有Squid,这时就复杂了.........【阅读全文】
发布时间:2010-12-25 11:26:05
因为架构的需要采用多级 Nginx 反向代理,但是后端的程序获取到的客户端 IP 都是前端 Nginx 的 IP,问题的根源在于后端的 Nginx 在 HTTP Header 中取客户端 IP 时没有取对正确的值。......【阅读全文】
adx1102011-06-18 19:43
superzjq2011-06-10 23:38
非常感谢老师的关注:)使用skipto可以解决这个问题
但还有点疑问,one_pass不是只跟nat和pipe有关吗,limit应该是属于动态规则吧 ?
在下不才 针对两种情况进行了测试
net.inet.ip.fw.one_pass = 0
# ipfw show
00100 9 529 allow ip from 192.168.1.0/24 to any in via em1 limit src-addr 100
00200 0 0 nat 1 ip from 192.168.1.0/24 to any out via em0
00300 0 0 nat 1 ip from any to me in via em0
00400 3 373 allow ip from any to any(用来匹配所有重新进入ipfw的数据包)
65535 0 0 deny ip from any to any
net.inet.ip.fw.one_pass = 1
# ipfw show
00100 8 480 allow ip from 192.168.1.0/24 to any in via em1 limit src-addr 100
00200 0 0 nat 1 ip from 192.168.1.0/24 to any out via em0
00300 0 0 nat 1 ip from any to me in via em0
00400 0 0 allow ip from any to 192.168.1.0/24 out via em1
65535 45 1262 deny ip from any to any
其中em0接外网,em1接内网,有没one_pass都一样,数据包一被limit匹配后就没了下文
只能跟skipto一起使用,不知道是不是BUG,还是说有哪些地方需要设置
我用的是FreeBSD 8.2,内核配置都是默认的
superzjq2011-05-26 17:59
老师您好,能否帮我看下这段配置
ipfw add allow ip from 192.168.1.0/24 to any in via em1 limit src-addr 10
ipfw add nat 1 ip from 192.168.1.0/24 to any out via em0
ipfw add nat 1 ip from any to me in via em0
ipfw nat 1 config if em0 log
ipfw add allow ip from any to any
em0接外网,em1接内网,做了NAT,想限制每IP连接数,已经明确指定了方向和接口,但不知为何数据包被第一条limit匹配后就无法到达第二条的nat上了,去掉第一条的limit部分后则完全没有问题,实在是让我郁闷不已,望不吝赐教