實現思路
a) 創建獨立於主路由表inet.0的路由表,即routing-instance 路由實例
b) 爲這些實例(這些實例都獨立於主路由表)添加相關路由條目
c) 爲路由條目添加底層路由
由於每個實例之間,以及與主路由表之間都是獨立的,因此在建立實例後,各個實例僅僅知道實例自己所添加的目的路由,除此之外一無所知,這就帶來一個問題,因爲實例所包含的路由對應的下一跳,實例路由表裏並沒有,所以需要將inet.0表裏的直連路由添加進來(共享)。
d) 根據需求將不同源地址(不同策略)的數據送進不同的獨立路由表
實現思路對應的基本配置
1.創建一個實例:
edit routing-instances
set PBR10 instance-type forwarding //類型爲forwarding
可直接單條命令行寫爲:set routing-instances PBR10 instance-type forwarding
2.爲實例添加路由條目
edit PBR10
set routing-options static route 0.0.0.0/0 next-hop x.x.x.x
可直接單條命令行寫爲:set routing-instances PBR10 routing-options static route 0.0.0.0/0 next-hop x.x.x.x
3.創建rib-group 關聯實例及inet.0 ;並將直連接口路由安裝進實例的路由表
edit routing-options
set rib-groups PBR_Group import-rib inet.0 //inet.0是主表
set rib-groups PBR_Group import-rib PBR10.inet.0 //PBR10.inet.0是從表
edit routing-options
set interface-routes rib-group inet PBR_Group //安裝主路由表的直連路由進從表
4.定義Firewall filter
set firewall family inet filter <name> term <1> from source-address x.x.x.x/
set firewall family inet filter <name> term <1> then routing-instance <PBR10>
set firewall family inet filter <name> term <1> default then accept //默認走主路由表
5.將做好的filter關聯到接口
set interfaces vlan unit <x> family inet filter input <name>