Referensi atribut kebijakan rute BGP

Halaman ini menampilkan contoh kebijakan rute BGP, menggunakan Common Expression Language (CEL) untuk Cloud Router.

Kebijakan rute BGP ditentukan sebagai daftar istilah yang diurutkan. Setiap istilah dievaluasi dalam urutan yang Anda tentukan, dan mencakup kondisi serta tindakan yang sesuai jika rute cocok dengan istilah tersebut. Kebijakan rute BGP tertentu hanya dapat diterapkan dalam satu arah, baik masuk untuk rute yang dipelajari, atau keluar untuk rute yang diiklankan, tetapi tidak keduanya secara bersamaan. Namun, kebijakan rute BGP dapat diterapkan ke beberapa peer BGP di Cloud Router.

Atribut pencocokan

Tabel berikut menjelaskan atribut kecocokan yang tersedia untuk kebijakan rute BGP:

Atribut

Deskripsi

communities

Daftar komunitas yang dikaitkan dengan rute BGP

destination

Rentang IP untuk rute BGP

Operasi pencocokan

Tabel berikut menjelaskan operasi pencocokan yang tersedia untuk kebijakan rute BGP:

Operasi

Deskripsi

communities.matchesEvery('65001:1234')

Menampilkan benar jika komunitas adalah superset dari daftar '65001:1234'.

community_value adalah kolom 32-bit yang dibagi menjadi dua bagian 16-bit. Secara konvensional, 16-bit pertama dari nilai tersebut mengenkode nomor sistem otonom (AS) jaringan tempat komunitas berasal, tetapi Cloud Router tidak menerapkan konvensi ini. 16-bit kedua dari nilai tersebut mengenkode angka unik yang ditetapkan oleh AS asal.

Dibatasi hanya untuk impor.

destination == '192.168.0.0/24'

Menampilkan true jika rute BGP cocok dengan 192.168.0.0/24 (kecocokan persis).

destination != '192.168.0.0/24'

Menampilkan true jika rute BGP tidak cocok dengan 192.168.0.0/24 (padanan persis).

destination.inAnyRange(r)

Menampilkan true jika rute BGP berada dalam rentang r, dengan r adalah salah satu dari berikut ini:

  • String dengan awalan yang dienkode CIDER, seperti 192.168.0.0/24.
  • Jenis abstrak yang ditampilkan oleh prefix(), atau salah satu metode lancar yang dapat Anda panggil di prefix(), seperti longer().
  • Daftar heterogen dengan setiap elemen harus berupa salah satu nilai yang dijelaskan sebelumnya.

Dapat dinegasikan dengan !.

prefix('192.168.0.0/24')

Menampilkan objek awalan yang merepresentasikan rentang CIDR 192.168.0.0/24, yang digunakan dengan destination.inAnyRange().

prefix('192.168.0.0/24').longer()

Menampilkan objek rentang awalan yang merupakan salinan prefix() dengan akhir rentang ditetapkan ke maksimum per-keluarga alamat awalan input (/32 atau /128), dan awal rentang ditetapkan ke panjang awalan input ditambah satu.

prefix().orLonger()

Menampilkan objek rentang awalan yang merupakan salinan prefix() dengan akhir rentang yang ditetapkan ke maksimum per keluarga alamat awalan input (/32 atau /128).

prefix().lengthRange(20, 30)

Menampilkan objek rentang awalan yang merupakan salinan prefix() dengan awal rentang ditetapkan ke /20, dan akhir ditetapkan ke /30.

prefix().upTo(30)

Menampilkan objek rentang awalan yang merupakan salinan prefix() dengan akhir rentang yang ditetapkan ke /30 awalan input.

communitySets('regional')

(Pratinjau)

Menampilkan daftar komunitas yang diberi nama dalam set komunitas regional di router.

prefixSets('local')

(Pratinjau)

Menampilkan daftar awalan yang diberi nama dalam set awalan local di router.

x || y

Menampilkan true jika x atau y adalah true.

x dan y harus berupa ekspresi boolean yang menggunakan atribut communities atau destination.

Karena aturan untuk operasi || (OR), semua kondisi secara efektif adalah nol atau lebih banyak operasi pencocokan destination yang terhubung dengan OR.

(D0 || D1 || ... || Dm)

Tabel berikut adalah contoh penggunaan prefix untuk membuat ekspresi reguler yang kompleks dibandingkan dengan beberapa vendor router:

Cloud Router Cisco Juniper Penjelasan

'192.168.0.1'

192.168.0.1

192.168.0.1

Cocokkan persis awalan 192.168.0.1/32

'192.168.0.0/24'

prefix('192.168.0.0/24')

192.168.0.0/24

192.168.0.0/24 exact

Cocokkan persis awalan 192.168.0.0/24

prefix('192.168.0.0/24').longer()

192.168.0.0/24 ge 25 le 32

192.168.0.0/24 longer

Cocokkan rentang dalam 192.168.0.0/25 dengan 192.168.0.0/32

prefix('192.168.0.0/24').orLonger()

192.168.0.0/24 le 32

192.168.0.0/24 orlonger

Cocokkan rentang dalam 192.168.0.0/24 dengan 192.168.0.0/32

prefix('192.168.0.0/24').lengthRange(25, 30)

192.168.0.0/24 ge 25 le 30

192.168.0.0/24 prefix-length-range /25-/30

Cocokkan rentang dalam 192.168.0.0/25 dengan 192.168.0.0/30

prefix('192.168.0.0/24').upTo(30)

192.168.0.0/24 le 30

192.168.0.0/24 up to /30

Cocokkan rentang dalam 192.168.0.0/24 dengan 192.168.0.0/30

Mencocokkan semua rute

Tabel berikut menjelaskan contoh yang cocok dengan semua rute dalam ekspresi pencocokan kebijakan rute BGP:

Operasi

Deskripsi

communities.matchesEvery([])

Mencocokkan semua rute untuk kebijakan impor.

destination.inAnyRange(prefix('0.0.0.0/0').orLonger())

Mencocokkan semua alamat IPv4 untuk kebijakan impor atau ekspor.

destination.inAnyRange(prefix('::/0').orLonger())

Mencocokkan semua alamat IPv6 untuk kebijakan impor atau ekspor.

destination.inAnyRange([prefix('0.0.0.0/0').orLonger(), prefix('::/0').orLonger()])

Mencocokkan semua rute untuk kebijakan impor atau ekspor.

Atribut tindakan

Tabel berikut menjelaskan atribut tindakan yang tersedia untuk kebijakan rute BGP:

Atribut

Deskripsi

Pembatasan

asPath

Daftar nomor AS yang dilalui pembaruan rute BGP

Mengekspor dan mengimpor kebijakan

communities

Daftar komunitas rute

Hanya ekspor kebijakan

med

Multi-exit discriminator (MED) rute

Mengekspor dan mengimpor kebijakan

Operasi tindakan

Tabel berikut menjelaskan operasi tindakan yang tersedia untuk kebijakan rute BGP:

Operasi

Deskripsi

Pembatasan

accept()

Menerima rute BGP, dan menghentikan evaluasi lebih lanjut terhadap kebijakan atau persyaratan rute BGP, termasuk tindakan apa pun yang dilakukan setelah tindakan ini.

Tidak ada

drop()

Memfilter rute BGP, dan menghentikan evaluasi lebih lanjut terhadap kebijakan atau persyaratan BGP, termasuk tindakan apa pun yang dilakukan setelah tindakan ini.

Tidak ada

nextPolicy()

Menghentikan eksekusi persyaratan yang tersisa dalam kebijakan rute BGP ini (termasuk tindakan apa pun setelah persyaratan ini), dan melanjutkan ke kebijakan rute BGP berikutnya yang diterapkan (jika ada).

Tidak ada

asPath.prependSequence([1, 2, 3])

Menambahkan daftar nomor AS ke atribut AS-PATH, sebagai urutan.

Argumen harus berupa bilangan bulat dalam rentang 32-bit.

Tidak ada

communities.add('65001:1234')

Menambahkan nilai komunitas ke daftar komunitas.

Nilai komunitas dapat berupa satu komunitas atau daftar.

Nilai komunitas apa pun yang merupakan komunitas pribadi yang dipetakan ke ASN milik Google berikut akan diabaikan oleh Cloud Router:

6432, 15169, 16550, 16591, 19448, 19527, 22859, 26910, 32381, 36039, 36384, 36385, 36492, 55023

Hanya ekspor kebijakan

communities.remove('65001:1234')

Menghapus nilai komunitas dari daftar komunitas.

Nilai komunitas dapat berupa satu komunitas atau daftar.

Nilai komunitas apa pun yang merupakan komunitas pribadi yang dipetakan ke ASN milik Google berikut akan diabaikan oleh Cloud Router:

6432, 15169, 16550, 16591, 19448, 19527, 22859, 26910, 32381, 36039, 36384, 36385, 36492, 55023

Hanya ekspor kebijakan

communities.replaceAll(['65001:1234'])

Mengganti daftar komunitas dengan nilai komunitas, yang dapat kosong.

Nilai komunitas apa pun yang bersifat pribadi dan dipetakan ke ASN milik Google berikut akan diabaikan oleh Cloud Router:

6432, 15169, 16550, 16591, 19448, 19527, 22859, 26910, 32381, 36039, 36384, 36385, 36492, 55023

Hanya ekspor kebijakan

med.set(12345)

Menetapkan MED ke 12345.

Nilai MED harus berupa bilangan bulat yang tidak bertanda dari 0 hingga 232.

Tidak ada

med.add(12345)

Menambahkan 12345 ke nilai set MED.

Nilai MED harus berupa bilangan bulat yang tidak bertanda dari 0 hingga 232. Jika hasil penambahan lebih besar dari 232 - 1, operasi ini akan menyetel MED ke 232 - 1.

Tidak ada

med.subtract(12345)

Mengurangi 12345 dari nilai yang ditetapkan MED.

Nilai MED harus berupa bilangan bulat yang tidak bertanda dari 0 hingga 232. Jika hasil pengurangan kurang dari 0, operasi ini akan menyetel MED ke 0.

Tidak ada