diff --git a/bird/bird.conf b/bird/bird.conf index bf19ab2..c25bcea 100644 --- a/bird/bird.conf +++ b/bird/bird.conf @@ -13,6 +13,10 @@ protocol kernel { import none; export filter { if source = RTS_STATIC then reject; + if !is_bogon_prefix() then { + krt_prefsrc = LOCAL_V6_kernel; + accept; + } if is_dn42_prefix() then { krt_prefsrc = DN42_V6_kernel; accept; @@ -29,6 +33,10 @@ protocol kernel { import none; export filter { if source = RTS_STATIC then reject; + if !is_bogon_prefix() then { + krt_prefsrc = LOCAL_V4_kernel; + accept; + } if unet_is_valid_network_v4() then { krt_prefsrc = UNET_V4_kernel; accept; diff --git a/bird/net/unet.conf b/bird/net/unet.conf index a9e1883..e3c73bc 100644 --- a/bird/net/unet.conf +++ b/bird/net/unet.conf @@ -1,7 +1,7 @@ # 公网处理 protocol pipe unet4_inet4_sync { table unet4; - peer table inet4; + peer table master4; export filter { if bgp_large_community ~ [(UNET_ASN, 3,*)] then reject; if is_bogon_prefix() then reject;