ReferenceNOCP2 · HighAdvancedACTIVE

Juniper (Junos) — Policy & Peer Upstream/Downstream (Distribusi)

Template filter IN/OUT untuk upstream (IN-Upstream, OUT-Upstream, backup) dan downstream distribusi (IN.Dist, OUT.Dist + next-hop self), lengkap dengan group BGP peer-nya.

REF-NOC-012Reviewer:

Owner

Last Updated

20 Sep 2026

Version

v1.0

Est. Time

30-60 menit

Required AccessJunos CLI
TagsBGPRoutingBackbonePeeringJuniper

Policy & Peer Upstream/Downstream

Template building-block untuk BGP core: filter inbound/outbound upstream beserta backup, filter inbound/outbound untuk downstream distribusi (dengan next-hop self), dan group peer-nya.

Filter Inbound Upstream

bash
policy-statement IN-Upstream {
  term 1 {
    from {
      route-filter 10.10.10.0/30 prefix-length-range /30-/32;
      route-filter 172.16.0.0/16 prefix-length-range /24-/32;
    }
    then { local-preference 80; accept; }
  }
  term 2 { then reject; }
}
policy-statement IN-Upstream.Backup {
  term 1 {
    from {
      route-filter 10.10.10.0/30 prefix-length-range /30-/32;
      route-filter 172.16.0.0/16 prefix-length-range /24-/32;
    }
    then accept;
  }
  term 2 { then reject; }
}

Filter Outbound Upstream

bash
policy-statement OUT-Upstream {
  term 1 {
    from {
      route-filter 10.10.20.0/30 prefix-length-range /30-/32;
      route-filter 172.16.0.0/16 prefix-length-range /24-/32;
      route-filter 10.10.30.0/30 prefix-length-range /30-/32;
      route-filter 10.10.40.0/30 prefix-length-range /30-/32;
    }
    then { as-path-prepend 65529; accept; }
  }
  term 2 { then reject; }
}
policy-statement OUT-Upstream.Backup {
  term 1 {
    from {
      route-filter 10.10.20.0/30 prefix-length-range /30-/32;
      route-filter 172.16.0.0/16 prefix-length-range /24-/32;
      route-filter 10.10.30.0/30 prefix-length-range /30-/32;
      route-filter 10.10.40.0/30 prefix-length-range /30-/32;
    }
    then accept;
  }
  term 2 { then reject; }
}

Filter Downstream Distribusi

bash
policy-statement IN.Dist {
  term 1 {
    from {
      route-filter 10.10.30.0/30 prefix-length-range /30-/32;
      route-filter 172.16.0.0/16 prefix-length-range /24-/32;
      route-filter 10.10.40.0/30 prefix-length-range /30-/32;
    }
    then accept;
  }
  term 2 { then reject; }
}
policy-statement IN.Dist.Backup {
  term 1 {
    from {
      route-filter 10.10.30.0/30 prefix-length-range /30-/32;
      route-filter 172.16.0.0/16 prefix-length-range /24-/32;
      route-filter 10.10.40.0/30 prefix-length-range /30-/32;
    }
    then accept;
  }
  term 2 { then reject; }
}
bash
set policy-statement OUT.Dist term 1 then next-hop self
set policy-statement OUT.Dist term 1 then accept
policy-statement OUT.Dist {
  term 1 {
    from {
      route-filter 10.10.30.0/30 prefix-length-range /30-/32;
      route-filter 172.16.0.0/16 prefix-length-range /24-/32;
      route-filter 10.10.10.0/30 prefix-length-range /30-/32;
      route-filter 10.10.20.0/30 prefix-length-range /30-/32;
      route-filter 10.10.40.0/30 prefix-length-range /30-/32;
    }
    then { next-hop self; accept; }
  }
  term 2 { then reject; }
}

Peer Group

bash
group DISTRIBUSI {
  type external;
  neighbor 172.16.10.1 { description TO-Dist; import IN.Dist; export OUT.Dist; peer-as 65531; }
}
group DISTRIBUSI2 {
  type external;
  neighbor 172.16.20.1 { description TO-Dist2; import IN.Dist.Backup; export OUT.Dist.Backup; peer-as 65532; }
}
group UPSTREAM {
  type external;
  neighbor 172.16.100.1 { description TO-Upstream; import IN-Upstream; export OUT-Upstream; peer-as 65530; }
}
group UPSTREAM2 {
  type external;
  neighbor 172.16.200.1 { description TO-Upstream.2; import IN-Upstream.Backup; export OUT-Upstream.Backup; peer-as 65530; }
}

Version History

v1.0Publikasi awal (Juniper reference)17 Sep 2026

Was this SOP helpful?