template bgp unet_bgp_up0 { graceful restart; local as UNET_ASN; ipv4 { table unet4; import filter { if !unet_is_valid_network_v4_allnet() then reject; if unet_is_self_net() then reject; bgp_large_community.empty; bgp_large_community.add((UNET_ASN,200,0));# 传输到Ebgp accept; }; export filter { if !unet_is_valid_network_v4_allnet() then reject; if source !~ [RTS_STATIC, RTS_BGP] then reject; if bgp_large_community !~ [(UNET_ASN, 200,0)] then reject; bgp_large_community.empty; accept; }; import limit 9000 action block; }; ipv6 { table unet6; import filter { if !unet_is_voalid_net_v6() then reject; if unet_is_self_net_v6() then reject; bgp_large_community.empty; bgp_large_community.add((UNET_ASN,200,0));# 传输到Ebgp accept; }; export filter { if !unet_is_voalid_net_v6() then reject; if source !~ [RTS_STATIC, RTS_BGP] then reject; if bgp_large_community !~ [(UNET_ASN, 200,0)] then reject; bgp_large_community.empty; accept; }; import limit 9000 action block; }; } template bgp unet_bgp_up1 { graceful restart; local as UNET_ASN; ipv4 { table unet4; import filter { if !unet_is_valid_network_v4() then reject; if unet_is_self_net() then reject; bgp_large_community.empty; bgp_large_community.add((UNET_ASN,200,0));# 传输到Ebgp accept; }; export filter { if !unet_is_valid_network_v4() then reject; if source !~ [RTS_STATIC, RTS_BGP] then reject; if bgp_large_community !~ [(UNET_ASN, 200,0)] then reject; bgp_large_community.empty; accept; }; import limit 9000 action block; }; } template bgp unet_ibgp { graceful restart; local as UNET_ASN; med metric; direct; ipv4 { table unet4; next hop self; gateway direct; import filter { if bgp_large_community ~ [(UNET_ASN, 1,*)] then reject; if !unet_is_valid_network_v4_allnet() then reject; if unet_is_self_net() then reject; accept; }; export filter { if bgp_large_community ~ [(UNET_ASN, 1,*)] then reject; if !unet_is_valid_network_v4_allnet() then reject; if unet_is_self_net() then reject; accept; }; }; ipv6 { table unet6; next hop self; gateway direct; import filter { if bgp_large_community ~ [(UNET_ASN, 1,*)] then reject; if !unet_is_voalid_net_v6() then reject; if unet_is_self_net_v6() then reject; accept; }; export filter { if bgp_large_community ~ [(UNET_ASN, 1,*)] then reject; if !unet_is_voalid_net_v6() then reject; if unet_is_self_net_v6() then reject; accept; }; }; } include "/etc/bird/peers/unet/*.conf";