Route Server

Yang harus disiapkan anggota IIX

IIX telah menerapkan pemfilteran prefix masuk (Allow / Permit Prefix) pada route server menggunakan RPKI dan IRRDB (route-object dan as-set) dari berbagai sumber data IRR untuk memungkinkan anggota yang terhubung hanya mengumumkan prefix yang telah mereka daftarkan secara publik. Jika prefix Anda memiliki ROA RPKI yang valid, maka prefix akan diizinkan. Jika hasil pemeriksaan ROA RPKI tidak diketahui (unknown) (Anda belum membuat ROA), kami kembali merujuk ke IRRDB.

Apa-apa saja yang harus disiapkan atau diupdate oleh setiap anggota sebagai berikut:

ROA (Route Origin Authorization) adalah objek tersertifikasi yang berisi list prefix yang boleh diadvertise oleh suatu AS Number. ROA adalah komponen utama dalam RPKI, anda bisa membuat ROA pada portal MyIDNIC atau RIR/NIR tempat prefix tersebut dialokasikan.

Route-object digunakan untuk validasi route origin AS, anda bisa tambahkan route-object pada portal MyIDNIC atau RADB.

AS-SET / Peering Macro digunakan untuk allow/permit ASN member dari Anggota (transit), jadi anda bisa allow ASN yang transit secara mandiri dan NOC APJII tidak menerima permintaan allow/permit prefix, anda bisa tambahkan as-set pada portal MyIDNIC atau RADB (pilih salah satu). Update AS-SET pada peeringdb. Urutan IRR yang IIX pilih yaitu IDNIC, RADB, APNIC,RIPE,NTTCOMM, LEVEL3.

catatan : ASN Anda harus di tambahkan pada member juga pada isian AS-SET. perhatikan contoh dibawah

as-set: AS1234:AS-CONTOHNET
descr: CONTOHNET AS-SET
tech-c: AN3033-AP
admin-c: AN3033-AP
mnt-by: MAINT-ID-CONTOHNET
members: AS1234
members: AS6789
members: AS9876

Peeringdb = IIX menggunakan peeringdb sebegai data referensi anggota IIX yang akan terkoneksi dengan route server. Anggota diharusnya membuat akun di peeringdb secara gratis dan mengisi semua data secara benar dan as-set objek didefinisikan pada peeringdb kolom IRR as-set/route-set jika anda sudah membuat AS-SET objek.

Update Konfigurasi dan Prefix Filter

IRRDB prefix filter akan diupdate ke database ixp manager setiap 6 jam secara otomatis, atau bisa request update ke NOC IIX-APJII untuk update secara manual.

Route Server #1 akan melakukan update data konfigurasi dan prefix filter dari ixp manager setiap 1 jam.

TaskInterval
irrdb:update-prefix-db7 */6 * * *
irrdb:update-asn-db37 */6 * * *
rs-api-reconfigure-all0 * * * *
TaskInterval
ixp-manager:update-in-peeringdb 0 0 * * *

Cara terhubung dengan Route Server (RS)

IP address peering IIX-Jakarta menggunakan /21 untuk IPv4 dan /64 untuk IPv6

Public Peering IIX JakartaRoute Server #1 (Operational)Route Server #2 (Operational)Route Server #3 (Operational)
ASN759775977597
IPv4 Address123.108.8.111123.108.9.111123.108.11.111
IPv6 Address2001:7fa:2:5:7597::1112001:7fa:2:5:7597:2:0:1112001:7fa:2:5:7597:3:0:111
IIX RS PlatformBird2Bird2Bird2
LocationNTT Jakarta 2 Data Center (JKT2) Datacenter APJII-Cyber JakartaBDDC – JST1

Required Capability Configuration Table

VendorRequired configurationVendorRequired configuration
Cisco(IOS)router bgp ****
no bgp enforce-first-as
Huaweibgp ****
undo check-first-as
Cisco(IOS-XR)router bgp ****
bgp enforce-first-as disable
Brocade(IronWare)router bgp ****
bgp enforce-first-as disable

PENTING : Anggota diharuskan gunakan route-maps atau routing-filter untuk mengontrol prefix keluar agar hanya mengizinkan prefix yang ingin umumkan (announce).

Community based prefix filtering

DescriptionCommunityLarge Community
Prevent announcement of a prefix to a peer0:peer-as7597:0:peer-as
Announce a route to a certain peer7597:peer-as7597:1:peer-as
Prevent announcement of a prefix to all peers0:75977597:0:0
Prepend to peer AS once7597:101:peer-as
Prepend to peer AS twice7597:102:peer-as
Prepend to peer AS three times7597:103:peer-as
Remotely-triggered Blackhole65535:666
peer-as = member/target-as

Jika router Anda mendukung large community, Anda harus menggunakan community diatas 16-bit (standard) karena sejumlah besar anggota IIX sekarang memiliki ASN 32-bit. Anda tidak boleh menggabungkan standar community 16-bit dan large community bersamaan – silakan pilih salah satu.

Blackhole = Advertise /25-32 dengan menambahkan bgp_community 65535:666 untuk mencegah attack dengan metode

Blackholing via Route Server (RS)

Tabel di bawah ini berisi informasi alamat gateway untuk blackhole IIX dan informasi Komunitas BGP BLACKHOLE.

Below table contain IIX blackhole next-hop address and BGP BLACKHOLE Community information.

Marked the prefix with BLACKHOLE community (65535:666), RS will automatically rewrite this prefix’s next-hop address to IIX blackhole next-hop address.

IPv4 Address123.108.8.66
IPv6 Global Address2001:7fa:2:5::666
MAC Address de:ad:be:ef:66:66
BLACKHOLE Community (RFC7999)65535:666

• Untuk berpartisipasi dalam layanan blackholing IIX, anggota HARUS mengizinkan prefix IPv4 & IPv6 yang ditandai dengan bgp_community BLACKHOLE (65535:666) melalui filter in mereka. Filter in blackholing ini harus ditempatkan di atas kebijakan masuk yang ada agar memastikan tidak akan dilewati.

• To participate in IIX blackholing service, members MUST allow IPv4 & IPv6 prefixes marked with BLACKHOLE community (65535:666) through their inbound filter. This blackholing inbound filter should be place above any existing inbound policies that you have to ensure it will not be bypass.

Berikut adalah panduan dan batasan saat menggunakan layanan blackholing melalui RS:

  • Anggota HARUS mengaktifkan pengiriman community untuk kedua keluarga alamat ip BGPv4v6.
  • RS hanya memperbolehkan awalan blackhole dengan ukuran berikut:
    • /25 =< Panjang Awalan IPv4 =< /32
    • /49 =< Panjang Awalan IPv6 =< /128
  • Anggota hanya boleh advertise prefix IP blackhole hanya dari range IP public address mereka sendiri.
  • Prefix IP blackhole tidak boleh diadvertise di luar AS lokal mereka.
  • Jumlah maksimum awalan blackhole yang dapat diiklankan dibatasi oleh:
    • (blackhole + awalan standar) < pengaturan ambang batas maksimum awalan

Below are guideline and restrictions when using blackholing service via RS:

Members MUST enable send-community for both BGPv4v6 address-family.
• RS only allowed blackhole prefixes from below size:
/25 =< IPv4 Prefix Length =< /32
/49 =< IPv6 Prefix Length =< /128
• Members should advertise blackhole IP prefixes only from range of their own address space.
• Blackhole IP prefixes should not be advertise outside their local AS.
• The maximum number of blackhole prefix that can be advertised is limited by:
(blackhole + standard prefix) < max-prefix threshold setting

Create BLACKHOLE community (RFC7999)
Contoh Filter out Blackhole sisi Anggota:
Example:

Cisco IOS

# Create a BGP Route Map
ip community-list 1 permit 65535:666
route-map RTBH permit 10
match ip address prefix-list RTBH
set community 65535:666

...,

# Apply the Route Map to the BGP Neighbor
router bgp YOUR_AS_NUMBER
neighbor PEER_IP route-map RTBH out

# Advertise the Prefix with the Community
ip prefix-list RTBH permit 103.1.1.1/32

ip route 103.1.1.1 255.255.255.255 Null0

RouterOS

# Create a BGP Filter
/routing filter
add chain=bgp-out prefix=103.1.1.1/32 prefix-length=32 action=accept set-bgp-communities=65535:666

...,
add chain=bgp-out action=discard

# Apply the BGP Filter to the Peer
/routing bgp peer
set peer1 out-filter=bgp-out

# Advertise the Prefix with the Community
/ip route
add dst-address=103.1.1.1/32 type=blackhole

/routing bgp network
add network=103.1.1.1/32

Junos

# Create a BGP Policy
set policy-options policy-statement RTBH term 1 from route-filter 103.1.1.1/32 exact
set policy-options policy-statement RTBH term 1 then community add BLACKHOLE
set policy-options policy-statement RTBH term 1 then accept

...,
set policy-options policy-statement RTBH term 10 then reject

set policy-options community BLACKHOLE members 65535:666

# Apply the BGP Policy to the BGP Neighbor
set protocols bgp group EBGP export RTBH

# Advertise the Prefix with the Community
set routing-options static route 103.1.1.1/32 discard

set protocols bgp group EBGP export RTBH

Looking Glass

Anda dapat gunakan looking-glass untuk semua routes server IIX pada url: https://squad.iix.net.id/lg

Jika route server memfilter prefix, itu akan ditampilkan di looking-glass dengan simbol peringatan di route list State/PfxRcd . Anda dapat mengklik Detail untuk melihat mengapa prefix difilter.

Known IssuesActions
Automatic shutdown: Route limit exceededPrefix yang di announce ke IIX melebihi batas maksimal, default max-prefixes=100.
Cek kembali route-map atau routing filter pada router anggota.
BGP Error: Required capability missingdisable enforce-first-as lihat pada tabel “Required Capability Configuration Table”
Mikrotik : cek pada address family
RPKI INVALIDROV mendeteksi route yang tidak sah oleh protocol RPKI, periksa ROA dan validasi menggunakan Routinator (idnic.net)
IRRDB ORGIN AS FILTEREDASN tidak terdaftar dalam member AS-SET (silahkan update AS-SET) atau AS-SET key tidak valid / tidak didefinisikan pada IXP Manager IIX (hub NOC untuk cek)
IRRDB PREFIX EMPTYAS-SET key tidak valid pada IXP Manager IIX (hub NOC untuk cek)

Filtering Policy

IIX’s Route Server filtering policy ditentukan dalam source code IXP Manager github. Ini adalah ringkasan dari apa yang dilakukannya.

  1. Drop small prefixes – longer than /24 for ipv4 and longer than /48 for ipv6.
  2. Drop all well-known martians and bogons.
  3. Ensure that there is at least 1 ASN and less than 64 ASNs in the AS path.
  4. Ensure that the peer AS is the same as the first AS in the AS path.
  5. Drop any prefix where the next-hop IP address is not the same as the peer IP address. This prevents prefix hijacking.
  6. Drop any prefix with a transit network ASN in the AS path.
  7. Ensure that origin AS is in set of ASNs from the client’s IRRDB AS-SET.
  8. If the prefix is evaluated as RPKI valid, accept.
  9. If the prefix is evaluated as RPKI invalid, drop.
  10. If the prefix is evaluated as RPKI unknown, revert to standard IRRDB prefix filtering.