0

我的帖子

个人中心

设置

  发新话题
SRX的FBF(Filter Based Forwarding)是JUNOS 一个比较强大的功能,和Cisco PBR有点类似,但是比PBR强多了,用官方的话说,PBR只是静态路由的一个扩展,但是FBF是JUNOS的一个动态路由的补充。
FBF能够针对4层协议进行选路。FBR一个比较典型的运用就是双线(dual-ISP)做分流的运用。不仅能分流而且两条线路做互备。虽然是可以做互备,但是只能srx的物理接口的down才能切换,很显然SRX物理接口的down/up并不能满足企业针对互备的需要,这时候就需要引入Junos的 IP monitoring功能。
实验拓扑:


实验要求:PC1(221) 访问1.1.1.1走IPS1,PC2(200)访问1.1.1.1做ISP2。两根ISP线路互备。任何一条线路down不影响PC访问1.1.1.1
实验步骤:
1、配置接口ip(省略),接口加入zone,SRX1 0/0 和0/4加入Untrust接口,0/1加入到trust接口(配置省略)
2、为两个ISP创建两个route-instance,并配置静态路由

srx@srx100h# show routing-instances
r1 {
    instance-type forwarding;
    routing-options {
        static {
            route 1.1.1.1/32 {
                next-hop 172.32.1.3;
                qualified-next-hop 192.168.175.2 {
                    preference 100;
                }
            }
        }
    }
}
r2 {
    instance-type forwarding;
    routing-options {
        static {
            route 1.1.1.1/32 {
                next-hop 192.168.175.2;
                qualified-next-hop 172.32.1.3 {
                    preference 100;
3、配置firewall filter来匹配流量和采取action

srx@srx100h# show firewall filter filter1
term r1 {
    from {
        source-address {
            192.168.80.220/32;
        }
    }
    then {
        routing-instance r1;
    }
}
term r2 {
    from {
        source-address {
            192.168.80.221/32;
        }
    }
    then {
        routing-instance r2;
    }
}
term accept {
    then accept;  (需要一条默认term来运行其它流量)
4、配置RIB-Groups来引入路由到路由表

srx@srx100h# show routing-options      
interface-routes {
    rib-group inet rib-g1;
{

static {
        route 1.1.1.1/32 next-hop [ 172.32.1.3 192.168.175.2 ]  (这里是为匹配SRX自己接口的流量,可以不需要)


rib-groups {
    rib-g1 {
        import-rib [ inet.0 r1.inet.0 r2.inet.0 ];
{
5、在接口调用firewall filter

fe-0/0/1 {
    unit 0 {
        family inet {
            filter {
                input filter1;
            }
            address 192.168.80.200/24;
6、配置Source nat

srx@srx100h# show security nat
source {
    rule-set sr-nat-1 {
        from zone trust;
        to zone untrust;
        rule 1 {
            match {
                source-address 0.0.0.0/0;
            }
            then {
                source-nat {
                    interface;
                }
            }


7、配置从trust to untrust策略

srx@srx100h# show security policies from-zone trust to-zone untrust
policy tr-to-untr {
    match {
        source-address any;
        destination-address any;
        application any;
    }
    then {
        permit;
    }
}
8、ok,FBF配置完成,下面测试,从PC1 和PC2 ping 1.1.1.1,然后查看
srx@srx100h# run show security flow session



FBF实验成功。

接下来在配置IP Monitoring
1、配置RPM 的各种参数。

srx@srx100h# show services rpm               
probe probe-r1 {
    test testsvr {
        target address 1.1.1.1;
        probe-count 5;
        probe-interval 2;
        test-interval 2;
        thresholds {
            successive-loss 5;
            total-loss 1;
        }
        destination-interface fe-0/0/0.0;  (这里是到1.1.1.1的出口地址)
        next-hop 172.32.1.3;     (这里是到1.1.1.1的下一跳)
    }
}
probe probe-r2 {
    test testsvr {
        target address 1.1.1.1;
        probe-count 5;
        probe-interval 2;
        test-interval 2;
        thresholds {
            successive-loss 5;
            total-loss 1;
        }
        destination-interface fe-0/0/4.0;
        next-hop 192.168.175.2;
    }
}
2、调用RPM

srx@srx100h# show services ip-monitoring
policy st-r1 {
    match {
        rpm-probe probe-r1;
    }
    then {
        preferred-route {
            routing-instances r1 {
                route 1.1.1.1/32 {
                    next-hop 192.168.175.2;   (当从172.32.1.3 到1.1.1.1失效时走192.168.175.2)
                }
            }
        }
    }
}
policy st-r2 {
    match {
        rpm-probe probe-r2;
    }
    then {
        preferred-route {
            routing-instances r2 {
                route 1.1.1.1/32 {
                    next-hop 172.32.1.3; (当从192.168.175.2 到1.1.1.1失效时走172.32.1.3)
                }
            }
        }
    }
}
3、看看正常的情况

srx@srx100h# run show services ip-monitoring status
Policy - st-r1
  RPM Probes:
    Probe name             Address          Status   
    ---------------------- ---------------- ---------
    probe-r1               1.1.1.1          PASS     
  Route-Action:
    route-instance    route             next-hop         State
    ----------------- ----------------- ---------------- -------------
    r1                1.1.1.1           192.168.175.2    NOT-APPLIED    (没有被运用)

Policy - st-r2
  RPM Probes:
    Probe name             Address          Status   
    ---------------------- ---------------- ---------
    probe-r2               1.1.1.1          PASS     
  Route-Action:
    route-instance    route             next-hop         State
    ----------------- ----------------- ---------------- -------------
    r2                1.1.1.1           172.32.1.3       NOT-APPLIED   (没有被运用)
4、shutdown ISP1的LOP1接口


srx@srx100h# run show services ip-monitoring status   
Policy - st-r1
  RPM Probes:
    Probe name             Address          Status   
    ---------------------- ---------------- ---------
    probe-r1               1.1.1.1          FAIL     
  Route-Action:
    route-instance    route             next-hop         State
    ----------------- ----------------- ---------------- -------------
    r1                1.1.1.1           192.168.175.2    APPLIED       (被运用,现在匹配去1.1.1.1原先走172.32.1.3的下一跳现在走192.168.175.2)

Policy - st-r2
  RPM Probes:
    Probe name             Address          Status   
    ---------------------- ---------------- ---------
    probe-r2               1.1.1.1          PASS     
  Route-Action:
    route-instance    route             next-hop         State
    ----------------- ----------------- ---------------- -------------
    r2                1.1.1.1           172.32.1.3       NOT-APPLIED  
5、再从PC1和PC2ping 1.1.1.1 看session表,都是从192.168.175.1 接口出去,IP monitoring 成功。










本帖最后由 xplinux 于 2012-4-4 19:22 编辑
好文章,怎么没人顶



好文,只是一直用juniper的防火墙,没用过这个



very good!~



引用:
原帖由 比特流 于 2014-5-12 11:39 发表
very good!~
Thanks!!



我想知道。这个ip monitoring 只要到1.1.1.1的链路出故障就会自动切换吗。还是必须是1.1.1.1的这个接口shutdown后才会切换。
如果是在到达1.1.1.1的中间链路出现故障。会自动切换吗。



好文章,正在学习juniper 防火墙



引用:
原帖由 wmhhxf 于 2014-9-16 09:43 发表
我想知道。这个ip monitoring 只要到1.1.1.1的链路出故障就会自动切换吗。还是必须是1.1.1.1的这个接口shutdown后才会切换。
如果是在到达1.1.1.1的中间链路出现故障。会自动切换吗。 ...
很明显需要手动shutdown才能自动切换!~如果需要自动切换,应该需要配合tracert !~没有用过



引用:
原帖由 比特流 于 2015-1-8 14:45 发表

很明显需要手动shutdown才能自动切换!~如果需要自动切换,应该需要配合tracert !~没有用过
你看懂这个文章没有,如果不能自动切,做rpm是干什么的……



这个文章写的非常好



太牛的文看不懂啊。。。



绝对好帖,顶!



我的网络环境跟实验差不多,也不需要实现自动切换,只要内网大部分网段默认路由走A线路,内网中一个网段的默认路由从B线路出去就行,我做完FBF操作之后,tracert 外网的时候,到防火墙那里就会被挡住,不知道什么原因啊,您方便留个QQ给我来请教您吗?



找了好久,终于看到junos的PBR了,绝对好东西,比大多数厂商的PBR 强太多了



很好的文章






我已经按照该教程设置了,现在出去访问已经能按要求。
问题来了,srx本身的静态路由中,缺省该怎么写,才能让公网的两个ISP都能映射并访问?
现在的问题是SRX静态路由写电信网关作下一跳,那么电信的公网地址的服务器映射可以被访问,网通的不行;反之亦然,写网通的,网通的可以,电信的不行。
我尝试两条都写,那么是随机的……



可能我写的不太让人看的懂,按照楼主的例子,我如下说明:
我已经按照楼主的实验,完成了实验要求。
现在希望能
需求1.从1.1.1.1通过172.32.1.1/24(比如说这个地址)映射访问192.168.80.221,
需求2.且同时可以从1.1.1.1通过192.168.175.1/24映射访问192.168.80.221.
现在我发现如果我写set routing-option static route 0.0.0.0/0 next-hop 172.32.1.3时,需求1可以实现,需求2不行

写成set routing-option static route 0.0.0.0/0 next-hop 192.168.175.2时,需求2可以实现,需求1不行
写成set routing-option static route 0.0.0.0/0 next-hop[172.32.1.3 192.168.175.2]时,随机实现需求1或者需求2,总之不能同时实现。
怎么破?
我尝试使用虚拟路由写,写完后一切正常,除了防火墙本身不能访问外网……问题是需要升级IDP定义,所以防火墙本身需要能上网。



请教下假如防火墙需要配置S2S ***,以便221主机能用***访问另一个网络,在配置FBF后该怎么做?我配置完FBF后原先routing-option 中的static route指向***接口的静态路由失效了就




本帖最后由 寒门书生 于 2017-3-20 16:37 编辑
,安装此文配置了 rpm 探针和ip monitoring 的track的机制。



‹‹ 上一贴:关于Juniper SSG5 映射私网IP给下层路由器做DDNS ...   |   下一贴:做了NAT,带源PING不通,大神帮忙看看【已解决】 ... ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com