免费注册 查看新帖 |

Chinaunix

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

pf策略路由问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-31 18:33 |只看该作者 |倒序浏览
本帖最后由 zhucy_ares 于 2010-05-31 18:34 编辑

我有一个网关,上面有一根xx通的线路,有一个x通的线路,一根x信的线路。
xx通的线路为默认网关。
我需要让一个内网ip,通过nat到x通的网卡上,然后以x通的默认网关出去。
我的配置如下:
nat on $telcom_if from 192.168.1.115/32 to any -> ($telcom_if)
pass in quick on $telcom_if reply-to ($telcom_if $telcom_gw) from any to any keep state
pass in quick on $ext_if reply-to ($ext_if $ext_gw) from any to any keep state
pass in quick on $unicom_if reply-to ($unicom_if $unicom_gw) from any to any keep state
pass out log keep state

配置是根据llzqq兄的文章来的。手册中的route-to我也尝试过。
现在的情况是,我仍然以xxx通的默认网关出去。感觉好像是nat没生效。
请问如果我想做这种配置,需要是否修改路由表?(我不想在路由表里添加一堆的静态路由,我只是想让内网ip:192.168.1.115通过x通路由出去。同理让内网ip:192.168.1.116通过x信的路由出去。)
如能指教,感激涕零。

论坛徽章:
0
2 [报告]
发表于 2010-05-31 23:25 |只看该作者
顶一下。需要什么log信息,提示一下。请大家帮忙看看

论坛徽章:
0
3 [报告]
发表于 2010-05-31 23:31 |只看该作者
不是nat没生效,而是你的内网数据包没有到达$telcom_if网卡
需要在内网卡为那个ip地址增加一条pass in route-to规则,使来自内网卡特定ip的数据包发送到$telcom_if

论坛徽章:
0
4 [报告]
发表于 2010-06-01 10:06 |只看该作者
本帖最后由 zhucy_ares 于 2010-06-01 11:10 编辑

# test nat
nat on $telcom_if from 192.168.27.115/32 to any -> ($telcom_if)

pass in on $int_if route-to ($telcom_if $telcom_gw) from 192.168.27.115 to any keep state
pass out on $ext_if route-to ($telcom_if $telcom_gw) from $telcom_if to any keep state

这样试了一下。还是走的路由表的默认网关。

论坛徽章:
0
5 [报告]
发表于 2010-06-01 13:17 |只看该作者
贴完整规则
pfctl -sr

论坛徽章:
0
6 [报告]
发表于 2010-06-01 13:51 |只看该作者
本帖最后由 zhucy_ares 于 2010-06-01 13:55 编辑

scrub in all fragment reassemble
anchor "ftp-proxy/*" all
pass out on bce0 proto tcp from any to any port = http flags S/SA keep state queue ext_http
pass out on bce0 proto udp from any to any port = http keep state queue ext_http
pass out on bce0 proto tcp all flags S/SA keep state queue ext_base
pass out on bce0 proto udp all keep state queue ext_base
block drop in on bce1 proto tcp from any to any port = loc-srv
block drop in on bce1 proto tcp from any to any port = netbios-ssn
block drop in on bce1 proto tcp from any to any port = krb524
block drop in on bce1 proto tcp from any to any port = microsoft-ds
block drop in on bce1 proto tcp from any to any port = bootps
block drop in on bce1 proto tcp from any to any port = finger
block drop in on bce1 proto tcp from any to any port = 16881
block drop in on bce1 proto udp from any to any port = loc-srv
block drop in on bce1 proto udp from any to any port = netbios-ssn
block drop in on bce1 proto udp from any to any port = krb524
block drop in on bce1 proto udp from any to any port = microsoft-ds
block drop in on bce1 proto udp from any to any port = bootps
block drop in quick on bce1 from any os "NMAP" to any
block drop in quick on bce0 from any os "NMAP" to any
block drop in quick on bce0 proto tcp all flags FS/FSRA
block drop in quick on bce0 proto tcp all flags FPU/FSRPAU
block drop in quick on bce0 proto tcp all flags /FSRA
block drop in quick on bce0 proto tcp all flags F/FSRA
block drop in quick on bce0 proto tcp all flags U/FSRAU
block drop in quick on bce1 proto tcp all flags FS/FSRA
block drop in quick on bce1 proto tcp all flags FPU/FSRPAU
block drop in quick on bce1 proto tcp all flags /FSRA
block drop in quick on bce1 proto tcp all flags F/FSRA
block drop in quick on bce1 proto tcp all flags U/FSRAU
pass in quick from <vip> to any flags S/SA keep state
pass in on bce1 route-to (bce2 60.248.34.65) inet from 192.168.27.115 to any flags S/SA keep state
pass out on bce0 route-to (bce2 60.248.34.65) inet from 60.248.34.66 to any flags S/SA keep state
block drop in quick from <blockbrute> to any
pass in on bce1 all flags S/SA keep state (source-track rule, max-src-conn 300, overload <blockbrute> flush global)

大概就这些,一共四块网卡。bce0是xx通,bce1是内网,bce2是x信线路,bce3是x通线路。
默认网关在bce0对应的网关上。
我只是想让192.168.27.115这个地址。通过x信线路上网而已。

论坛徽章:
0
7 [报告]
发表于 2010-06-01 16:35 |只看该作者
如果192.168.27.115 不属于 表<vip>
  1. pass in on bce1 route-to (bce2 60.248.34.65) inet from 192.168.27.115 to any flags S/SA keep state
复制代码
添加一个quick关键字试试看
pass in quick on bce1 route-to (bce2 60.248.34.65) inet from 192.168.27.115 to any flags S/SA keep state

如果ip属于vip表,则需将上述规则放到vip规则之前
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP