为什么我的 JunOS 防火墙过​​滤器会切断管理访问?

为什么我的 JunOS 防火墙过​​滤器会切断管理访问?

我们最近安装了第二个 Internet 连接,因此我已经在边缘路由器(运行 JunOS 9.5R1.8 的 Juniper J4350)上成功地配置了基于策略的路由。

我或多或少严格按照示例进行操作(此处找到:http://community.riverbed.com/rvrb/attachments/rvrb/rvrb-7/2886/1/Juniper%20PBR.pdf) 并且 PBR 路由在出站时起作用,根据需要将来自 LAN 内部特定范围的流量路由出 ISP,但是启用后,过滤器似乎也会捕获其他流量 - 我无法再通过 LAN 接口通过 SSH 进入路由器,并且配置似乎还会破坏通过同一路由器的一些 IPSEC VPN。

总之,没有 PBR 和路由能够通过具有特定静态路由的单个 ISP 按预期工作routing-options

作为参考,我输入的配置部分如下:

ge-0/0/0 {
    VLAN标记;
    单元 0 {
        VLAN ID 1;
        家庭网络 {
            筛选 {
                输入PBR;
            }
            地址 192.168.51.13/24;
        }
    }
    第 16 单元 {
        描述 Hants-ext;
        VLAN ID 16;
        家庭网络 {
            采样 {
                输入;
                输出;
            }
            地址10.249.16.126/25;
        }
    }
    128 单元 {
        描述 DMZ;
        VLAN ID 128;
        家庭网络 {
            地址10.249.16.129/25;
        }
    }
    单位 150 {
        描述网络流;
        VLAN ID 150;
        家庭网络 {
            地址 217.20.18.50/29;
        }
    }
}
家庭网络 {
    过滤样本 {
        术语默认 {
            然后 {
                样本;
                接受;
            }
        }
    }
    过滤 PBR {
        术语“traffic_for_hants”
            从 {
                源地址 {
                    192.168.0.0/16;
                    172.16.0.0/16;
                    192.168.12.0/24 除外;
                }
            }
            然后 {
                路由实例 viaHants;
            }
        }
        术语“traffic_for_networkflow”{
            从 {  
                源地址 {
                    192.168.12.0/24;
                }
            }
            然后 {
                路由实例通过网络流;
            }
        }
        术语默认 {
            然后接受;
        }
    }
}
路由选项 {
    接口路由 {
        rib 组 inet fbf 组;
    }
    静止的 {
        路由 192.168.0.0/16 下一跳 192.168.51.37;
        路由 10.217.163.0/24 下一跳 192.168.51.37;
        路由 172.19.0.0/16 下一跳 192.168.51.12;
        路由 172.16.0.0/16 下一跳 10.249.16.1;
        路由 0.0.0.0/0 下一跳 10.249.16.1;
    }
    肋骨组 {
        fbf-组 {
            导入 rib [ inet.0 viaHants.inet.0 viaNetworkFlow.inet.0 ];
        }
    }
}
防火墙 {
    家庭网络 {
        过滤样本 {
            术语默认 {
                然后 {
                    样本;
                    接受;
                }   
            }
        }
        过滤 PBR {
            术语“traffic_for_hants”
                从 {
                    源地址 {
                        192.168.0.0/16;
                        172.16.0.0/16;
                        192.168.12.0/24 除外;
                    }
                }
                然后 {
                    路由实例 viaHants;
                }
            }
            术语“traffic_for_networkflow”{
                从 {
                    源地址 {
                        192.168.12.0/24;
                    }
                }
                然后 {
                    路由实例通过网络流;
                }
            }
            术语默认 {
                然后接受;
            }
        }
    }
    过滤所有 {
        全部术语 {
            然后 {
                样本;
                接受;
            }
        }
    }
}
路由实例 {
    通过汉茨{
        实例类型转发;
        路由选项 {
            静止的 {
                路由 0.0.0.0/0 下一跳 10.249.16.1;
                路由 192.168.0.0/16 下一跳 192.168.51.37;
                路由 10.217.163.0/24 下一跳 192.168.51.37;
                路由 172.19.0.0/16 下一跳 192.168.51.12;
                路由 172.16.0.0/16 下一跳 10.249.16.1;
            }
        }
    }
    通过网络流{
        实例类型转发;
        路由选项 {
            静止的 {
                路由 0.0.0.0/0 下一跳 217.20.18.49;
                路由 192.168.0.0/16 下一跳 192.168.51.37;
                路由 10.217.163.0/24 下一跳 192.168.51.37;
                路由 172.19.0.0/16 下一跳 192.168.51.12;
                路由 172.16.0.0/16 下一跳 10.249.16.1;
            }       
        }           
    }               
}                   

路由表:

inet.0: 13 个目的地,13 条路线(13 条活动,0 条抑制,0 条隐藏)
+ = 活动路线,- = 最后活动路线,* = 两者皆有

0.0.0.0/0 *[静态/5] 5d 02:52:09
                    > 通过 ge-0/0/0.16 到 10.249.16.1
10.217.163.0/24 *[静态/5] 5d 02:52:09
                    > 通过 ge-0/0/0.0 到 192.168.51.37
10.249.16.0/25 *[直接/0] 38w2d 11:16:31
                    > 通过 ge-0/0/0.16
10.249.16.126/32 *[本地/0] 38w2d 11:17:33
                      本地通过 ge-0/0/0.16
10.249.16.128/25 *[直接/0] 38w2d 11:16:31
                    > 通过 ge-0/0/0.128
10.249.16.129/32 *[本地/0] 38w2d 11:17:33
                      本地通过 ge-0/0/0.128
172.16.0.0/16 *[静态/5] 5d 02:52:09
                    > 通过 ge-0/0/0.16 到 10.249.16.1
172.19.0.0/16 *[静态/5] 5d 02:52:09
                    > 通过 ge-0/0/0.0 到 192.168.51.12
192.168.0.0/16 *[静态/5] 5d 02:52:09
                    > 通过 ge-0/0/0.0 到 192.168.51.37
192.168.51.0/24 *[直接/0] 38w2d 11:16:31
                    > 通过 ge-0/0/0.0
192.168.51.13/32 *[本地/0] 38w2d 11:17:33
                      本地通过 ge-0/0/0.0
217.20.18.48/29 *[直接/0] 1w5d 23:06:44
                    > 通过 ge-0/0/0.150
217.20.18.50/32 *[本地/0] 1w5d 23:06:44
                      本地通过 ge-0/0/0.150

viaHants.inet.0:13 个目的地,13 条路线(13 个活跃,0 个按下,0 个隐藏)
+ = 活动路线,- = 最后活动路线,* = 两者皆有

0.0.0.0/0 *[静态/5] 6d 08:47:33
                    > 通过 ge-0/0/0.16 到 10.249.16.1
10.217.163.0/24 *[静态/5] 5d 20:07:57
                    > 通过 ge-0/0/0.0 到 192.168.51.37
10.249.16.0/25 *[直接/0] 5d 03:17:39
                    > 通过 ge-0/0/0.16
10.249.16.126/32 *[本地/0] 20:39:33
                      本地通过 ge-0/0/0.16
10.249.16.128/25 *[直接/0] 5d 03:17:39
                    > 通过 ge-0/0/0.128
10.249.16.129/32 *[本地/0] 20:39:33
                      本地通过 ge-0/0/0.128
172.16.0.0/16 *[静态/5] 5d 20:07:57
                    > 通过 ge-0/0/0.16 到 10.249.16.1
172.19.0.0/16 *[静态/5] 5d 20:07:57
                    > 通过 ge-0/0/0.0 到 192.168.51.12
192.168.0.0/16 *[静态/5] 5d 20:07:57
                    > 通过 ge-0/0/0.0 到 192.168.51.37
192.168.51.0/24 *[直接/0] 5d 03:17:39
                    > 通过 ge-0/0/0.0
192.168.51.13/32 *[本地/0] 20:39:33
                      本地通过 ge-0/0/0.0
217.20.18.48/29 *[直接/0] 5d 03:17:39
                    > 通过 ge-0/0/0.150
217.20.18.50/32 *[本地/0] 20:39:33
                      本地通过 ge-0/0/0.150

viaNetworkFlow.inet.0:13 个目的地,13 条路线(13 个活动,0 个按下,0 个隐藏)
+ = 活动路线,- = 最后活动路线,* = 两者皆有

0.0.0.0/0 *[静态/5] 6d 08:47:33
                    > 通过 ge-0/0/0.150 到 217.20.18.49
10.217.163.0/24 *[静态/5] 5d 20:07:57
                    > 通过 ge-0/0/0.0 到 192.168.51.37
10.249.16.0/25 *[直接/0] 5d 03:17:39
                    > 通过 ge-0/0/0.16
10.249.16.126/32 *[本地/0] 20:39:33
                      本地通过 ge-0/0/0.16
10.249.16.128/25 *[直接/0] 5d 03:17:39
                    > 通过 ge-0/0/0.128
10.249.16.129/32 *[本地/0] 20:39:33
                      本地通过 ge-0/0/0.128
172.16.0.0/16 *[静态/5] 5d 20:07:57
                    > 通过 ge-0/0/0.16 到 10.249.16.1
172.19.0.0/16 *[静态/5] 5d 20:07:57
                    > 通过 ge-0/0/0.0 到 192.168.51.12
192.168.0.0/16 *[静态/5] 5d 20:07:57
                    > 通过 ge-0/0/0.0 到 192.168.51.37
192.168.51.0/24 *[直接/0] 5d 03:17:39
                    > 通过 ge-0/0/0.0
192.168.51.13/32 *[本地/0] 20:39:33
                      本地通过 ge-0/0/0.0
217.20.18.48/29 *[直接/0] 5d 03:17:39
                    > 通过 ge-0/0/0.150
217.20.18.50/32 *[本地/0] 20:39:33
                      本地通过 ge-0/0/0.150

答案1

这真是太棒了!由于您实际上只需要使用不同的默认网关,我会对防火墙过滤器进行一些更改,在每个术语的“from”节下添加目标地址 0.0.0.0/0。这样,只有当目标是出站 ISP 时,它才会应用。不过,这不会影响访问管理界面。我通常还会添加一个导入所有连接路由的部分,但我认为您在这里所做的就是这样做。您可以发布路由表吗?

这是我做的一些例子,其中我设置了一条策略路由来将流量重定向到内部 Web 过滤框。

policy-options {
    prefix-list web-redirect-src-exclusions;
    prefix-list web-redirect-dst-exclusions {
        10.254.0.0/16;
        10.254.1.10/32;
        10.254.1.11/32;
        10.254.1.12/32;
        10.254.128.10/32;
        10.254.128.11/32;
        10.254.128.12/32;
    }
}
firewall {
        family inet {
            filter web-redirect {
                term srx-exclusions {
                    from {
                        source-prefix-list {
                            web-redirect-src-exclusions;
                        }                   
                    }
                    then accept;
                }
                term dst-exclusions {
                    from {
                        destination-prefix-list {
                            web-redirect-dst-exclusions;
                        }
                    }
                    then accept;
                }
                term web-redirect {
                    from {
                        destination-address {
                            0.0.0.0/0;
                        }
                        destination-port [ http https ];
                    }
                    then {
                        routing-instance web-redirect;
                    }
                }
                term default {
                    then accept;
                }
            }
        }
    }
    routing-instances {
        web-redirect {
            instance-type forwarding;
            routing-options {
                static {
                    route 0.0.0.0/0 next-hop 10.1.1.5;
                }
            }
        }
    }

相关内容