免费注册 查看新帖 |

Chinaunix

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

利用PF实现策略路由(分享) [复制链接]

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

此方案适用于可以使用PF做为防火墙的操作系统,包括FREEBSD/OPENBSD/NETBSD。所谓的策略路由就是在服务器同时连接了两个ISP线路,实现从那个网卡进来的数据包请求,返回给CLIENT时还从那个网卡出去。

2.试验拓扑:

见贴图

图中的『3接口路由器』可以用WIN2K或LINUX系统启动IP转发替代。

3.OPENBSD网络设置:

Fxp0:                192.168.0.100
Ne3:                        192.168.1.100
Gateway:        192.168.0.1

4.PF规则:

# vi /etc/pf.conf
=================================================
if_isp1="fxp0"
if_isp2="ne3"
gw_isp1="192.168.0.1"
gw_isp2="192.168.1.10"

block all

pass quick on lo0 all

pass in quick on $if_isp1 reply-to ( $if_isp1 $gw_isp1 ) proto {tcp,udp,icmp} to any keep state
pass in quick on $if_isp2 reply-to ( $if_isp2 $gw_isp2 ) proto {tcp,udp,icmp} to any keep state

pass out keep state
=================================================

为了试验方便,以上PF规则没有对TCP/UDP等协议的端口进行限制。大家根据自己的实际情况修改一下即可。为了方便控制PF的启动和关闭,下面列出我使用的一个SHELL脚步:

# vi /etc/rc.d/pf.sh
=================================================
#!/bin/sh
# made by llzqq
# pf startup scripts
#

case "$1" in

start)
        if [ -f /etc/pf.conf ]; then
                /sbin/pfctl -e -f /etc/pf.conf
        fi
        ;;

stop)
        /sbin/pfctl -F all
        /sbin/pfctl -d
        ;;
*)
        echo "$0 start | stop"
        ;;

esac
exit 0
=================================================

5.试验结果截图:

见贴图。

[ 本帖最后由 llzqq 于 2007-1-7 15:07 编辑 ]

01.jpg (58.49 KB, 下载次数: 253)

截图1

截图1

02.jpg (162.97 KB, 下载次数: 268)

截图2

截图2

03.jpg (165.07 KB, 下载次数: 262)

截图3

截图3

绘图100.jpg (13.72 KB, 下载次数: 289)

试验拓扑

试验拓扑

pf策略路由.rar

634.85 KB, 下载次数: 1042

DOC/PDF/IMAGE

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2007-01-07 15:00 |只看该作者
实验成功了哎呀?

可喜可贺。

这几天我就测试一下子,可行的话,就用到服务器上面去。


最好可以发一个WEB服务器常用的双线的PF配置。

论坛徽章:
0
3 [报告]
发表于 2007-01-07 16:09 |只看该作者
谢谢分享, 收藏!

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
4 [报告]
发表于 2007-01-07 17:05 |只看该作者
原帖由 llzqq 于 2007-1-7 14:57 发表
1.说明:

此方案适用于可以使用PF做为防火墙的操作系统,包括FREEBSD/OPENBSD/NETBSD。所谓的策略路由就是在服务器同时连接了两个ISP线路,实现从那个网卡进来的数据包请求,返回给CLIENT时还从那个网卡出去。 ...

这个还真没试过,收藏一下

论坛徽章:
0
5 [报告]
发表于 2007-01-07 17:08 |只看该作者
8错,,,收了 。。。

论坛徽章:
0
6 [报告]
发表于 2007-01-07 23:21 |只看该作者
呵呵,这个我也做过,在OpenBSD4.0上执行一段时间后,就会出现内核问题。

论坛徽章:
0
7 [报告]
发表于 2007-01-08 07:45 |只看该作者
原帖由 caicheng1015 于 2007-1-7 23:21 发表
呵呵,这个我也做过,在OpenBSD4.0上执行一段时间后,就会出现内核问题。


具体有什么表现,大家交流一下

论坛徽章:
0
8 [报告]
发表于 2007-01-08 08:27 |只看该作者
好东西!不知道用ipfilter 能实现不?

论坛徽章:
0
9 [报告]
发表于 2007-01-08 19:06 |只看该作者
llzqq 老大,你的是作为服务器双线策略路由 入访问
这样修改
pass out quick on $if_isp1 reply-to ( $if_isp1 $gw_isp1 ) proto {tcp,udp,icmp} to any keep state
pass out quick on $if_isp2 reply-to ( $if_isp2 $gw_isp2 ) proto {tcp,udp,icmp} to any keep state
pass in keep state
是否可以实现 双线策略路由 出访问!
网吧所使用的策略路由 是否可以这样使用,准备星期三 测试一下!

论坛徽章:
0
10 [报告]
发表于 2007-01-08 19:46 |只看该作者
好长时间没看pf了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP