ROA i obiekt route
Weryfikacja i ochrona dotyczą prefiksów IPv4 o długości do /24 włącznie, ogłoszonych w sesji BGP. AS-SET grupuje Twój numer systemu autonomicznego (AS) i numery AS sieci downstream, a filtr ogłoszeń przyjmuje prefiksy z obiektów route pod każdym z nich. Ani ROA, ani obiekt route nie potwierdza, że to Ty posługujesz się numerem AS, dlatego prawo do numeru oświadczasz w umowie.
| Cecha | ROA | Obiekt route |
|---|---|---|
| Rejestr | RPKI: ROA jest wpisem podpisanym certyfikatem zasobów wydanym przez RIR | IRR: obiekt route w bazie IRR. Uznajemy wyłącznie bazy RIR-ów |
| Co stwierdza | Który AS może rozgłaszać prefiks i do jakiej długości (maxLength) | Pod jakim AS prefiks jest zarejestrowany (pole origin) |
| Kto tworzy | Posiadacz przestrzeni adresowej, w systemie RPKI swojego RIR-u | W bazie RIR-u posiadacz przestrzeni adresowej albo ktoś za jego zgodą |
| Kto go używa | Operatorzy stosujący walidację pochodzenia tras (ROV) | Operatorzy budujący filtry ogłoszeń, na przykład narzędziem bgpq4 |
Stany RPKI
Walidacja ogłoszenia według RPKI (RFC 6811) daje jeden z trzech stanów. Kolumna „U nas” opisuje pierwszą weryfikację prefiksu objętego obiektem route.
| Stan | Kiedy | W Internecie | U nas |
|---|---|---|---|
| Valid | ROA obejmuje prefiks, wskazuje AS, który go ogłasza, a długość ogłoszenia mieści się w maxLength | Przyjmowany | Chroniony, gdy ROA wskazuje Twój AS albo AS z Twojego AS-SET-u (wynik „RPKI”) |
| Invalid | ROA obejmuje prefiks, ale wskazuje inny AS albo ogłoszenie jest dłuższe niż maxLength | Odrzucany przez operatorów stosujących ROV | Niechroniony (wynik „Inny AS”) |
| NotFound | Żaden ROA nie obejmuje prefiksu | Przyjmowany | Chroniony na podstawie obiektu route, jeżeli żaden ROA wewnątrz zakresu nie wskazuje innego AS (wynik „IRR”) |
Przykłady
W przykładach Twoja sieć ma numer AS64496 i AS-SET AS64496:AS-PRZYKLAD, do którego należy też AS64497 sieci downstream. AS64510 jest AS-em innej sieci. Obiekty route są w bazie RIPE, chyba że w wierszu podano inaczej.
| Ogłaszasz | ROA | Obiekt route | Wynik | Co zrobić |
|---|---|---|---|---|
| Prefiks chroniony | ||||
| 198.18.1.0/24 | 198.18.1.0/24, AS64496 | 198.18.0.0/22, AS64496 | RPKI | Nic |
| 198.19.0.0/24 | 198.19.0.0/24, AS64497 | 198.19.0.0/24, AS64497 | RPKIw kolumnie Prefiks: „sieć downstream” | Nic |
| 198.18.2.0/24 | Brak | 198.18.0.0/22, AS64496 | IRR | Nic. Zalecamy ROA wskazujący AS64496 |
| 198.18.0.0/22 | Tylko 198.18.1.0/24, AS64496 | 198.18.0.0/22, AS64496 | IRR | Nic. Zalecamy ROA dla całego zakresu |
| Prefiks niechroniony | ||||
| 198.18.2.0/24 | 198.18.0.0/22, maxLength 22, AS64496 | 198.18.0.0/22, AS64496 | Inny ASROA nie dopuszcza /24 | Dodaj ROA dla 198.18.2.0/24 |
| 198.18.0.0/22 | 198.18.0.0/22, AS64510 | 198.18.0.0/22, AS64496 | Inny AS | Popraw ROA albo, jeżeli AS64510 to Twoja sieć downstream, dodaj go do AS-SET-u w bazie RIR. Jeżeli oba są poprawne, skontaktuj się z NOC |
| 198.18.0.0/22 | Brak dla /22. Wewnątrz zakresu: 198.18.3.0/24, AS64510 | 198.18.0.0/22, AS64496 | Inny AS | Popraw ROA dla 198.18.3.0/24 albo, jeżeli AS64510 to Twoja sieć downstream, dodaj go do AS-SET-u. Jeżeli ta część należy do innej sieci, ogłaszaj osobno 198.18.0.0/23 i 198.18.2.0/24 |
| Filtr nie przyjmuje ogłoszenia | ||||
| 198.18.1.0/24 | 198.18.1.0/24, AS64496 | Brak | Prefiks nie trafia do panelu | Utwórz obiekt route w bazie swojego RIR-u |
| 198.18.0.0/22 | Brak | 198.18.0.0/22, AS64496, tylko w RADB | Prefiks nie trafia do panelu | Utwórz obiekt route w bazie swojego RIR-u |
Sieci downstream
ROA sieci downstream wskazuje jej numer AS, a nie Twój. Uznajemy taki ROA, gdy ten AS należy do Twojego AS-SET-u w bazie RIR-u. Przy prefiksie panel podaje „sieć własna”, gdy obiekt route jest pod Twoim numerem AS, albo „sieć downstream”, gdy jest pod numerem AS należącym do Twojego AS-SET-u.
Wyniki w panelu
Kolumna Weryfikacja na liście prefiksów podaje wynik, a pod nim jego podstawę albo powód odmowy.
| Wynik | Opis w panelu | Znaczenie | Co zrobić |
|---|---|---|---|
| RPKI | „ROA wskazuje Twój AS” | ROA obejmuje prefiks i wskazuje Twój AS albo AS z Twojego AS-SET-u | Nic |
| IRR | „bez ROA, obiekt route 198.18.0.0/22 (AS64496: | Żaden ROA nie obejmuje prefiksu, a obejmuje go obiekt route pod Twoim AS-SET-em albo numerem AS | Nic. Zalecamy ROA wskazujący Twój AS |
| Brak wpisu | „czeka na ROA albo obiekt route w IRR” | Prefiks jest na koncie, ale nie obejmuje go ani ROA, ani obiekt route pod Twoim AS-SET-em albo numerem AS. Zdarza się, gdy obiekt route zniknął, zanim prefiks przeszedł weryfikację | Utwórz obiekt route w bazie swojego RIR-u. Zalecamy też ROA wskazujący Twój AS |
| Inny AS | „rejestr wskazuje inny AS” | ROA obejmuje prefiks i wskazuje inny AS albo nie dopuszcza ogłoszenia tej długości. Ten sam wynik daje ROA wskazujący inny AS dla części zakresu, którego w całości nie obejmuje żaden ROA | Popraw ROA albo, gdy wskazany AS to Twoja sieć downstream, dodaj go do AS-SET-u. Jeżeli oba są poprawne, skontaktuj się z NOC. Obiekt route nie zmienia tego wyniku |
| Za szeroki zakres | „ROA tylko na 198.18.1.0/24” | Wpisy ROA obejmują tylko części zakresu, a obiektu route dla całego zakresu nie ma | Ogłaszaj węższe prefiksy osobno albo utwórz obiekt route dla całego zakresu |
| Po naszej stronie | „przypisujemy sieć do konta” „nie mamy świeżych danych rejestru” | Numer AS z umowy nie jest jeszcze potwierdzony albo nie mamy aktualnych danych z RPKI lub IRR dla tego prefiksu | Nic. Sami sprawdzimy prefiks ponownie |
| Nie sprawdzono | „rejestr nie był jeszcze sprawdzany” | Prefiks czeka na pierwsze sprawdzenie | Nic |
Zastrzeżenie
Gdy prefiks, który przeszedł weryfikację, nie przejdzie kolejnego sprawdzenia, pod wynikiem pojawia się „Zastrzeżenie od” z datą. Ochrona działa dalej. Sprawdź ROA i obiekt route, a jeżeli są poprawne, skontaktuj się z NOC.
Bazy RIR zamiast RADB
Filtr ogłoszeń budujemy i AS-SET rozwijamy wyłącznie na podstawie baz pięciu RIR-ów, bo tylko w nich utworzenie obiektu route wymaga zgody posiadacza adresów.
| Baza | Obiekty route | U nas |
|---|---|---|
| RIPE, ARIN, APNIC, AFRINIC, LACNIC | Tworzy posiadacz przestrzeni adresowej albo ktoś za jego zgodą, którą baza sprawdza | Uznajemy |
| RADB, NTTCOM i inne bazy spoza RIR-ów | Może utworzyć każdy, kto ma konto w bazie, także dla cudzej przestrzeni | Nie uznajemy |
| RIPE-NONAUTH | Utworzone bez sprawdzenia zgody posiadacza, dla przestrzeni spoza regionu RIPE NCC | Nie uznajemy |
Jeżeli AS-SET jest wyłącznie w RADB, nie znajdziemy go w bazach RIR i filtr nie przyjmie żadnego Twojego ogłoszenia. Polecenie bgpq4, którym sprawdzisz zawartość naszego filtra, podajemy w artykule o przygotowaniu sesji BGP.
Jak ustawić maxLength
ROA bez pola maxLength dopuszcza wyłącznie ogłoszenie o długości prefiksu z ROA. Pole maxLength rozszerza to na prefiksy bardziej szczegółowe, do podanej długości.
Ustaw maxLength na długość, którą faktycznie ogłaszasz. Przy większym maxLength bardziej szczegółowy prefiks ogłoszony przez kogokolwiek z Twoim AS jako AS-em źródłowym przejdzie walidację i przejmie ruch kierowany do tej części Twojej przestrzeni. Dlatego RFC 9319 zaleca osobny ROA dla każdego ogłaszanego prefiksu zamiast jednego ROA z dużym maxLength.
Przykład
Ogłaszasz 198.18.0.0/22, a do sterowania ruchem także 198.18.1.0/24 i 198.18.2.0/24. Opublikuj trzy ROA dla AS64496, każdy bez maxLength:
- 198.18.0.0/22
- 198.18.1.0/24
- 198.18.2.0/24
Pozostałe prefiksy z zakresu są wtedy Invalid.
Jak utworzyć obiekt route i ROA
W regionie RIPE NCC obiekt route i AS-SET tworzysz w bazie RIPE, a ROA w RPKI Dashboard. U pozostałych RIR-ów obiekty tworzy się tak samo, w ich bazach i systemach RPKI.
route: 198.18.0.0/22
origin: AS64496
mnt-by: PRZYKLAD-MNT
source: RIPE
as-set: AS64496:AS-PRZYKLAD
members: AS64496
members: AS64497
admin-c: <nic-hdl>
tech-c: <nic-hdl>
mnt-by: PRZYKLAD-MNT
source: RIPE
Nowy AS-SET w bazie RIPE musi mieć nazwę hierarchiczną zaczynającą się od numeru Twojego AS, na przykład AS64496:AS-PRZYKLAD. AS-SET-y o krótkich nazwach założone wcześniej działają dalej.
AS-SET wymienia w polu members Twój AS i AS-y sieci downstream. Dla prefiksów każdej z tych sieci potrzebne są obiekty route z jej numerem AS w polu origin. Tworząc ROA, podajesz prefiks, AS uprawniony do jego rozgłaszania i maxLength.
Weryfikację powtarzamy regularnie. Prefiks niezweryfikowany albo z zastrzeżeniem możesz w panelu sprawdzić ponownie jednym przyciskiem.
Które prefiksy chronimyPytania
Czy prefiks z wynikiem IRR jest chroniony słabiej niż z wynikiem RPKI?
Nie. Ochrona działa tak samo przy obu wynikach. Różnica dotyczy operatorów filtrujących według RPKI: dla nich ogłoszenie prefiksu z wynikiem IRR ma stan NotFound.
Opublikowałem ROA dla prefiksu, który miał wynik IRR. Co się zmieni?
Przy następnym sprawdzeniu wynik zmieni się na RPKI. Operatorzy filtrujący według RPKI zobaczą wtedy ogłoszenie jako Valid.