免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2689 | 回复: 8
打印 上一主题 下一主题

pf如何控制部分IP只能访问25.110端口? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-20 11:03 |只看该作者 |倒序浏览

  1. Ext="tun0"
  2. Int="vr0"
  3. IntNet="192.168.1.0/24"
  4. RouterIP="192.168.1.254"
  5. NoRoute="{127.0.0.1/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,255.255.255.255/32}"
  6. InServicesTCP="{21,80}"
  7. InServicesUDP="{53,67}"
  8. mailTCP="{25,110}"

  9. my_net="{ 192.168.1.1,192.168.1.2 }"
  10. boss_net="{ 192.168.1.9,192.168.1.11,192.168.1.8,192.168.1.18,192.168.1.7,192.168.1.100 }"
  11. mail_net="{ 192.168.1.104,192.168.1.112 }"

  12. set block-policy return
  13. #统计数据外网接口数据(pfctl -s info)
  14. set loginterface $Ext
  15. #快速断开非活动状态的连接减少内存消耗
  16. set optimization aggressive
  17. ######## 流量整形 ##########
  18. scrub in all
  19. ######## NAT ##########
  20. nat on $Ext from $IntNet to any -> ($Ext)
  21. rdr pass on $Int proto tcp from $Int to any port 21 ->  127.0.0.1 port 8021
  22. pass quick on {lo $Int} keep state
  23. ######## Kill all ########
  24. block all

  25. ########PORT FTP RULE ########
  26. pass in quick on $Ext proto tcp from any to $Ext port 21 flags S/SA keep state
  27. pass in quick on $Ext inet proto tcp from any to any port > 49151 user proxy flags S/SAFR keep state
  28. ######## RULE ########
  29. pass out quick on $Ext from $boss_net to any keep state
  30. pass out quick on $Ext from $my_net to any keep state
  31. pass out quick on $Ext inet proto tcp from $mail_net to any port {21 25 110} keep state
复制代码


看完rule,想让$mail_net只能访问25.110,但上面的规则就是不行。$mail_net下的IP照样能访问别的端口。如80.443……

[ 本帖最后由 jhpjp 于 2007-7-20 11:04 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-07-20 11:29 |只看该作者
## pass quick on {lo $Int} keep state  ##

有了这条,向外访问完全开放了.

论坛徽章:
0
3 [报告]
发表于 2007-07-20 11:39 |只看该作者
原帖由 tidezcy 于 2007-7-20 11:29 发表
## pass quick on {lo $Int} keep state  ##

有了这条,向外访问完全开放了.


您好,那我是不是把$Int去掉呢?

但是我在## pass quick on {lo $Int} keep state  ##有 block all


最新消息,pass quick on {lo $Int} keep state去掉了$Int变成pass quick on {lo} keep state后还是一样能访问80…………

[ 本帖最后由 jhpjp 于 2007-7-20 11:48 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-07-20 12:12 |只看该作者
pass quick on {lo} keep state
其中 lo 应该是 lo0 吧

论坛徽章:
0
5 [报告]
发表于 2007-07-20 13:48 |只看该作者
原帖由 feillex 于 2007-7-20 12:12 发表
pass quick on {lo} keep state
其中 lo 应该是 lo0 吧


我以改成lo0,但还有不行。继续等待…………

论坛徽章:
0
6 [报告]
发表于 2007-07-20 14:50 |只看该作者
你改完后有没有清空当前状态表?
有可能原来的匹配记录还在状态表中,直接就过去了。
清空一下状态表,再重新加载一次规则试试看
清空状态表
pfctl -F state

加载配置文件
pfctl -f /etc/pf.conf

论坛徽章:
0
7 [报告]
发表于 2007-07-22 02:04 |只看该作者
先禁用所有,然后允许这部分的补集,注意前后搭配即可,不要出现一棍子打死和全盘开放

论坛徽章:
0
8 [报告]
发表于 2007-07-22 12:58 |只看该作者
set skip on lo

block all

pass in quick on $int from $mail_net to any port {25,110} keep state
pass in quick on $int from $boss_net to any keep state
pass in quick on $int from $my_net to any keep state


block drop in quick on $int  from $mail_net to any port !{25,110}
pass in quick on $int from any to any keep state

I think is it~~~

论坛徽章:
0
9 [报告]
发表于 2007-07-24 16:41 |只看该作者
谢谢,我试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP