SlideShare a Scribd company logo
Route Origin Validation With Routinator
- A MANRS Approach for Operators
Md. Zobair Khan
Fiber@Home Limited
Acknowledgement
• This paper is made taking notes, diagram, configurations from
MANRS, APNIC training materials, NLnet Labs & Dr. Philip
Smith along with the operational experience of the author.
MANRS
• Mutually Agreed Norms for Routing Security (MANRS) is a
global initiative, supported by the Internet Society, that
provides crucial fixes to reduce the most common routing
threats.
MANRS
• MANRS outlines four simple but concrete actions that network
operators should take:
• Filtering
• Anti-spoofing
• Coordination
• Global Validation
Global Validation
• Publish your data, so others can validate routing information on
a global scale
• Automated information validation needs arrangements
• Securing global routing information is done by RPKI
Resource Public Key Infrastructure (RPKI)
• RPKI allows holders of Internet number resources to make
verifiable statements about how they intend to use their
resources.
• RPKI is a way to define data in an out-of-band system such
that the information that are exchanged by BGP can be
validated to be correct.
• RPKI is used to make Internet routing more secure.
Importance of RPKI
• Secured Routing Table
• Dynamic LOA checking
• Maintaining a Dynamic Chain of Trust
• Digitally Signed Resources Certificate (X.509 Certificates-RFC5280)
• Helps to Stop Route Hijack
Route Origin Authorizations (ROA)
• Using the RPKI system, the legitimate holder of a block of IP
addresses can use their resource certificate to make an
authoritative, signed statement about which autonomous
system is authorized to originate their prefix in BGP.
• These statements are called Route Origin Authorizations
(ROAs).
Route Origin Validation (ROV)
• RPKI system tries to closely mimic what route objects in the
IRR intend to do, but then in a more trustworthy manner.
• This process is called route origin validation (ROV)
Validity
• Valid - Resources found in database which is called Validated
ROA Payload (VRP).
• Invalid – Resources found but partial/whole information
doesn’t match with database.
• Not Found - The prefix in this announcement is not covered
by a VRP.
RPKI - Chain Of Trust
Ecosystem
Working Steps
• Creating ROA for owned resources for RPKI
• Implementing Validator relying software for ROV
• Enforcing policies for based on Validation
Creating ROA
• Go to Resources > Route Management and select Create route
https://www.apnic.net/wp-content/uploads/2017/12/ROUTE_MANAGEMENT_GUIDE.pdf
Creating ROA
• Mention your prefix with ASN & desired subnet & Submit
https://www.apnic.net/wp-content/uploads/2017/12/ROUTE_MANAGEMENT_GUIDE.pdf
Relying Party Software
 NLnet Labs Routinator
https://www.nlnetlabs.nl/projects/rpki/routinator/
https://github.com/NLnetLabs/routinator
 Dragon Research validator
https://rpki.net
https://github.com/dragonresearch/rpki.net/
 RIPE NCC validator
https://github.com/RIPE-NCC/rpki-validator-3/wiki
 LACNIC/NIC Mexico validator (FORT)
https://github.com/NICMx/FORT-validator
 Cloudflare validator (OctoRPKI)
https://github.com/cloudflare/cfrpki
Routinator
• Routinator is free, open source RPKI Relying Party software written by NLnet Labs in the
Rust programming language.
• Routinator connects to the Trust Anchors of the five Regional Internet Registries (RIRs) —
APNIC, AFRINIC, ARIN, LACNIC and RIPE NCC — downloads all of the certificates and
ROAs in the various repositories, verifies the signatures and makes the result available
for use in the BGP workflow.
• The validated cache can be fed directly into RPKI-capable routers via the RPKI to Router
Protocol (RPKI-RTR), described in RFC 8210.
https://rpki.readthedocs.io/en/latest/routinator/index.html
Why Routinator?
• Designed to have a small footprint and great portability
• Can run on any Unix-like operating system, but also works on Microsoft Windows via API
• Have a mailing list for general discussion and exchanging operational experiences
(https://nlnetlabs.nl/mailman/listinfo/rpki)
• Problem report & feature request is possible
(https://github.com/NLnetLabs/routinator/issues)
• Used in production by AT&T, NTT, AMS-IX, DECIX and many more
https://rpki.readthedocs.io/en/latest/routinator/index.html
Installation
• curl https://sh.rustup.rs -sSf | sh
• sudo apt install cargo
• source ~/.cargo/env
• cargo install routinator
• routinator init --accept-arin-rpa
• routinator server --rtr [SERVER IP]:3323 --http [SERVER IP]:9556 –d
• routinator -v vrps
https://rpki.readthedocs.io/en/latest/routinator/installation.html
Adding Into Crontab
• nano /etc/rovscript.sh
#!/bin/bash
/home/[USER]/.cargo/bin/routinator init -f --accept-arin-rpa &
/home/[USER]/.cargo/bin/routinator server --rtr [SERVER IP]:3323 --http [SERVER IP]:9556 -d &
• sudo chmod +x rovscript.sh
• crontab -e
@reboot /etc/rovscript.sh
5 13 * * * /home/nano/.cargo/bin/routinator -v vrps &
5 0 * * * /home/nano/.cargo/bin/routinator -v vrps &
Allow In Iptables
• -A INPUT -i ens18 -p tcp -m tcp --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT
• -A INPUT -i ens18 -p tcp -m tcp --sport 873 -m state --state NEW,ESTABLISHED -j ACCEPT
• -A INPUT -i ens18 -p tcp -m tcp --dport 9556 -m state --state NEW,ESTABLISHED -j ACCEPT
• -A INPUT -i ens18 -p tcp -m tcp --sport 9556 -m state --state NEW,ESTABLISHED -j ACCEPT
• -A INPUT -i ens18 -p tcp -m tcp --dport 3323 -m state --state NEW,ESTABLISHED -j ACCEPT
• -A INPUT -i ens18 -p tcp -m tcp --sport 3323 -m state --state NEW,ESTABLISHED -j ACCEPT
• -A INPUT -i ens18 -p tcp -m tcp --dport 9100 -m state --state NEW,ESTABLISHED -j ACCEPT
• -A INPUT -i ens18 -p tcp -m tcp --sport 9100 -m state --state NEW,ESTABLISHED -j ACCEPT
• -A INPUT -i ens18 -p tcp -m tcp --dport 9090 -m state --state NEW,ESTABLISHED -j ACCEPT
• -A INPUT -i ens18 -p tcp -m tcp --sport 9090 -m state --state NEW,ESTABLISHED -j ACCEPT
Router Configuration
router bgp [ASN]
rpki server [SERVER IP]
transport tcp port 3323
refresh-time 120
address-family ipv4 unicast
bgp origin-as validation signal ibgp
address-family ipv6 unicast
bgp origin-as validation signal ibgp
Configuration of IOS-XR
Router Configuration
• routing-options {
autonomous-system [ASN];
validation {
group rpki-validator {
Session [Server IP] {
refresh-time 120;
Port 3323;
local-address X.X.X.253;
}
}
}
}
Configuration of Junos
Checking
• ps ax| grep routinator
1369 ? Sl 124:05 /home/[USER]/.cargo/bin/routinator server --rtr [SERVER IP]:3323 --http [SERVER IP]:9556 -d
7487 pts/0 S+ 0:00 grep --color=auto routinator
• sh bgp rpki server summary
Sun Nov 3 12:27:37.333 UTC
Hostname/Address Transport State Time ROAs (IPv4/IPv6)
[SERVER IP] TCP:3323 ESTAB 6d19h 97473/16440
Monitoring
• apt install prometheus
• nano /etc/prometheus/prometheus.yml
- job_name: 'Routinator'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
scrape_timeout: 10s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
target_groups:
- targets: ['[SERVER IP]:9556']
service prometheus stop
service prometheus start
https://prometheus.io/docs/introduction/overview/
Monitoring
# HELP routinator_valid_roas number of valid ROAs seen
# HELP routinator_vrps_total total number of VRPs seen
# HELP routinator_last_update_start seconds since last update started
# HELP routinator_last_update_duration duration in seconds of last update
# HELP routinator_last_update_done seconds since last update finished
# HELP routinator_serial current RTR serial number
# HELP routinator_rsync_status exit status of rsync command
# HELP routinator_rsync_duration duration of rsync in seconds
# HELP routinator_rrdp_status status code for getting notification file
# HELP routinator_rrdp_duration duration of rsync in seconds
http://[server ip]:9556/metrics
Monitoring
Monitoring
Decision
• Since now the validation states are visible to you, you can
decide what to do with invalids
• You can –
– Use them with low preference
– Or drop them
Policy
route-policy RPKI
if validation-state is invalid then
set local-preference 50
else
if validation-state is valid then
set local-preference 200
else
pass
endif
endif
end-policy
route-policy RPKI
if validation-state is invalid then
drop
else
if validation-state is valid then
set local-preference 200
else
pass
endif
endif
end-policy Configuration of IOS-XR
Observation
• sh bgp origin-as validity invalid | exclude 9498 | exclude 6453 | exclude 2914 | exclude 132602
Network Next Hop Metric LocPrf Weight Path
*>i103.206.228.0/24 103.7.251.241 450 0 137491 137491 137491
137491 134146 134146
132735 135037 i
*>i104.134.130.0/24 103.7.251.241 0 850 0 15169 395973 i
*> 119.30.36.0/24 163.47.157.86 450 0 24389 24389 64512 i
*> 120.50.24.0/21 163.47.157.82 0 450 0 38712 i
* 163.47.157.94 0 450 0 38712 38712 38712
38712 38712 i
*> 103.134.59.0/24 103.7.248.110 450 0 58689 58689 58689
58689 135615 139834 i
*> 103.139.9.0/24 103.7.248.110 450 0 58689 65507 i
Observation - 1
• 103.206.228.0/24 - 135037 I
• Techno Asia BD
• Originated from 135037
• ROA created for parent block - /22
• Route Object ok
• Current Status : Issue Resolved by Owner after notification
Observation - 2
• 104.134.130.0/24 - 395973 I
• Google
• Originated from 395973
• ROA created accordingly
• Route Object not updated
• Current Status : No response yet after sending notification
Observation - 3
• 119.30.36.0/24 - 64512 I
• Grameenphone
• Originated from 64512 (Private ASN)
• ROA created for parent block not for /24 ( ROA shows public & private ASN)
• Route Object not updated
• Current Status : Issue Resolved by Owner after notification
Observation - 4
• 120.50.24.0/21 - 38712 I
• Telnet Communication Limited
• Originated from 38712
• ROA created for parent block - /19
• Route Object ok
• Current Status : Issue Resolved by Owner after notification
Observation - 5
• 103.134.59.0/24 - 139834 i
• Achiever Broadband Internet
• Originated from 139834
• ROA created for parent block - /22
• Route Object ok
• Current Status : Issue Resolved by Owner after notification
Observation - 6
• 103.139.9.0/24 - 65507 i
• ICC COMMUNICATION LTD.
• Originated from 65507
• ROA created for parent block - /23
• Route Object ok
• Current Status : Issue Resolved by Owner after notification
Closure
• https://sg-pub.ripe.net/jasper/rpki-web-test/
Reference
• https://www.manrs.org/about/
• https://blog.apnic.net/2019/10/28/how-to-installing-an-rpki-validator/
• http://www.bgp4all.com.au/pfs/training/apnic48/agenda
• https://www.nlnetlabs.nl/projects/rpki/routinator/
• https://www.ripe.net/manage-ips-and-asns/resource-management/certification/tools-and-resources
• https://github.com/cloudflare/cfrpki#octorpki
Query !!
Thanks …

More Related Content

PPT
MPLS & BASIC LDP
PDF
Putting Firepower Into The Next Generation Firewall
PDF
BGP Techniques for Network Operators
PPT
PDF
Segment Routing: A Tutorial
PPTX
IS-IS vs OSPF
PPT
Deploying Carrier Ethernet features on ASR 9000
MPLS & BASIC LDP
Putting Firepower Into The Next Generation Firewall
BGP Techniques for Network Operators
Segment Routing: A Tutorial
IS-IS vs OSPF
Deploying Carrier Ethernet features on ASR 9000

What's hot (20)

PDF
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
PDF
Wireless communication theodore rappaport
PDF
VXLAN BGP EVPN: Technology Building Blocks
PPTX
Dynamic routing protocols (CCNA)
PDF
How BGP Works
PPT
Mpls Services
PDF
Troubleshooting BGP
PPTX
OSPF - Copie.pptx
PPTX
IS-IS Protocol Introduction
PDF
CCNA - Routing & Switching Commands
PPTX
OSPF Fundamental
PPTX
Mpls technology
PPTX
Tutorial: Using GoBGP as an IXP connecting router
PPTX
IS-IS Packet Types
PPTX
MX Fabric troubleshootingv1.0.pptx
PDF
Virtual Extensible LAN (VXLAN)
PDF
VXLAN Design and Deployment.pdf
PPTX
Ccna ppt1
PPTX
IS-IS Protocol
PPTX
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
Wireless communication theodore rappaport
VXLAN BGP EVPN: Technology Building Blocks
Dynamic routing protocols (CCNA)
How BGP Works
Mpls Services
Troubleshooting BGP
OSPF - Copie.pptx
IS-IS Protocol Introduction
CCNA - Routing & Switching Commands
OSPF Fundamental
Mpls technology
Tutorial: Using GoBGP as an IXP connecting router
IS-IS Packet Types
MX Fabric troubleshootingv1.0.pptx
Virtual Extensible LAN (VXLAN)
VXLAN Design and Deployment.pdf
Ccna ppt1
IS-IS Protocol
Ad

Similar to Route Origin Validation With Routinator - A MANRS Approach for Operators (20)

PDF
Route Origin Validation - A MANRS Approach
PPTX
32nd TWNIC IP OPM: ROA+ROV deployment & industry development
PDF
RPKI Overview, Case Studies, Deployment and Operations
PPTX
Rpki -manrs_(7_september)
PPTX
HKNOG 7.0: RPKI - it's time to start deploying it
PDF
Implementation of DNS Anycast - a case study
PDF
BSides: BGP Hijacking and Secure Internet Routing
PDF
APAN 50: RPKI industry trends and initiatives
PPTX
PhNOG 2019: RPKI Deployment Update
PPTX
ICANN APAC-TWNIC Engagement Forum: Internet Number Registry Services - The Ne...
PDF
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
PDF
PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...
PDF
npNOG 5: Securing Internet Routing
PPTX
DCUS17 : Docker networking deep dive
PDF
Introduction to RPKI by Sheryl (Shane) Hermoso
PDF
Introduction to RPKI - MyNOG
PDF
Finding the path, by Yoshinobu Matsuzaki [APNIC 38 / APOPS 1]
PDF
CCNP Data Center Centralized Management Automation
PDF
Protect your edge BGP security made simple
PPTX
IPv6 Segment Routing : an end-to-end solution ?
Route Origin Validation - A MANRS Approach
32nd TWNIC IP OPM: ROA+ROV deployment & industry development
RPKI Overview, Case Studies, Deployment and Operations
Rpki -manrs_(7_september)
HKNOG 7.0: RPKI - it's time to start deploying it
Implementation of DNS Anycast - a case study
BSides: BGP Hijacking and Secure Internet Routing
APAN 50: RPKI industry trends and initiatives
PhNOG 2019: RPKI Deployment Update
ICANN APAC-TWNIC Engagement Forum: Internet Number Registry Services - The Ne...
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
PFRv3 – новое поколение технологии Performance Routing для интеллектуального ...
npNOG 5: Securing Internet Routing
DCUS17 : Docker networking deep dive
Introduction to RPKI by Sheryl (Shane) Hermoso
Introduction to RPKI - MyNOG
Finding the path, by Yoshinobu Matsuzaki [APNIC 38 / APOPS 1]
CCNP Data Center Centralized Management Automation
Protect your edge BGP security made simple
IPv6 Segment Routing : an end-to-end solution ?
Ad

More from Bangladesh Network Operators Group (20)

PDF
DNS & DNSSEC operational best practices - Sleep better at night with KINDNS i...
PDF
IPv6 Mostly Experience at APRICOT by Yoshinobu Matsuzaki (IIJ)
PDF
Fast Reroute in SR-MPLS by Md Abdullah Al Naser
PDF
DDoS Mitigation Strategies by Md. Abdul Awal
PDF
DNS & DNSSEC operational best practices - Sleep better at night with KINDNS i...
PDF
Optics101 for non-Optical (IP) folks by Tashi Phuntsho
PPTX
The Internet Service Providers and Connectivity Providers of ICANN
PPTX
Integration of AI and GenAI in Education and beyond
PPTX
Strengthening Cyber Security with Tools and Human Expertise
PDF
Mental Health and Workplace Culture in Tech:A Personal Perspective
PDF
Network Efficiency:The LLM Advantage on network infrastructures
PDF
Utilizing Free and open-source Technology and Achieve Next Generation Enterpr...
PPTX
BDNOG17 Plenary Session, Security Concerns: A perspective in Smart Bangladesh
PPTX
Maximizing Network Efficiency with Large Language Models (LLM)
PPTX
Geolocation and Geofeed Implementation bdNOG18
PDF
Data Centre Design Consideration for Bangladesh
PDF
DNS Troubleshooting - Assumptions and Problem Breakdown
PPTX
Team Cymru Community Services,Overview of all public services
PPTX
Open Source TCP or Netflow Log Server Using Graylog
PPTX
Enhancing seamless access using TIGERfed
DNS & DNSSEC operational best practices - Sleep better at night with KINDNS i...
IPv6 Mostly Experience at APRICOT by Yoshinobu Matsuzaki (IIJ)
Fast Reroute in SR-MPLS by Md Abdullah Al Naser
DDoS Mitigation Strategies by Md. Abdul Awal
DNS & DNSSEC operational best practices - Sleep better at night with KINDNS i...
Optics101 for non-Optical (IP) folks by Tashi Phuntsho
The Internet Service Providers and Connectivity Providers of ICANN
Integration of AI and GenAI in Education and beyond
Strengthening Cyber Security with Tools and Human Expertise
Mental Health and Workplace Culture in Tech:A Personal Perspective
Network Efficiency:The LLM Advantage on network infrastructures
Utilizing Free and open-source Technology and Achieve Next Generation Enterpr...
BDNOG17 Plenary Session, Security Concerns: A perspective in Smart Bangladesh
Maximizing Network Efficiency with Large Language Models (LLM)
Geolocation and Geofeed Implementation bdNOG18
Data Centre Design Consideration for Bangladesh
DNS Troubleshooting - Assumptions and Problem Breakdown
Team Cymru Community Services,Overview of all public services
Open Source TCP or Netflow Log Server Using Graylog
Enhancing seamless access using TIGERfed

Recently uploaded (20)

PPTX
Spectroscopy.pptx food analysis technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
Teaching material agriculture food technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Approach and Philosophy of On baking technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
Spectroscopy.pptx food analysis technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Digital-Transformation-Roadmap-for-Companies.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Machine learning based COVID-19 study performance prediction
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Teaching material agriculture food technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
“AI and Expert System Decision Support & Business Intelligence Systems”
Programs and apps: productivity, graphics, security and other tools
Spectral efficient network and resource selection model in 5G networks
Approach and Philosophy of On baking technology
MIND Revenue Release Quarter 2 2025 Press Release
cuic standard and advanced reporting.pdf
Encapsulation theory and applications.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity

Route Origin Validation With Routinator - A MANRS Approach for Operators

  • 1. Route Origin Validation With Routinator - A MANRS Approach for Operators Md. Zobair Khan Fiber@Home Limited
  • 2. Acknowledgement • This paper is made taking notes, diagram, configurations from MANRS, APNIC training materials, NLnet Labs & Dr. Philip Smith along with the operational experience of the author.
  • 3. MANRS • Mutually Agreed Norms for Routing Security (MANRS) is a global initiative, supported by the Internet Society, that provides crucial fixes to reduce the most common routing threats.
  • 4. MANRS • MANRS outlines four simple but concrete actions that network operators should take: • Filtering • Anti-spoofing • Coordination • Global Validation
  • 5. Global Validation • Publish your data, so others can validate routing information on a global scale • Automated information validation needs arrangements • Securing global routing information is done by RPKI
  • 6. Resource Public Key Infrastructure (RPKI) • RPKI allows holders of Internet number resources to make verifiable statements about how they intend to use their resources. • RPKI is a way to define data in an out-of-band system such that the information that are exchanged by BGP can be validated to be correct. • RPKI is used to make Internet routing more secure.
  • 7. Importance of RPKI • Secured Routing Table • Dynamic LOA checking • Maintaining a Dynamic Chain of Trust • Digitally Signed Resources Certificate (X.509 Certificates-RFC5280) • Helps to Stop Route Hijack
  • 8. Route Origin Authorizations (ROA) • Using the RPKI system, the legitimate holder of a block of IP addresses can use their resource certificate to make an authoritative, signed statement about which autonomous system is authorized to originate their prefix in BGP. • These statements are called Route Origin Authorizations (ROAs).
  • 9. Route Origin Validation (ROV) • RPKI system tries to closely mimic what route objects in the IRR intend to do, but then in a more trustworthy manner. • This process is called route origin validation (ROV)
  • 10. Validity • Valid - Resources found in database which is called Validated ROA Payload (VRP). • Invalid – Resources found but partial/whole information doesn’t match with database. • Not Found - The prefix in this announcement is not covered by a VRP.
  • 11. RPKI - Chain Of Trust
  • 13. Working Steps • Creating ROA for owned resources for RPKI • Implementing Validator relying software for ROV • Enforcing policies for based on Validation
  • 14. Creating ROA • Go to Resources > Route Management and select Create route https://www.apnic.net/wp-content/uploads/2017/12/ROUTE_MANAGEMENT_GUIDE.pdf
  • 15. Creating ROA • Mention your prefix with ASN & desired subnet & Submit https://www.apnic.net/wp-content/uploads/2017/12/ROUTE_MANAGEMENT_GUIDE.pdf
  • 16. Relying Party Software  NLnet Labs Routinator https://www.nlnetlabs.nl/projects/rpki/routinator/ https://github.com/NLnetLabs/routinator  Dragon Research validator https://rpki.net https://github.com/dragonresearch/rpki.net/  RIPE NCC validator https://github.com/RIPE-NCC/rpki-validator-3/wiki  LACNIC/NIC Mexico validator (FORT) https://github.com/NICMx/FORT-validator  Cloudflare validator (OctoRPKI) https://github.com/cloudflare/cfrpki
  • 17. Routinator • Routinator is free, open source RPKI Relying Party software written by NLnet Labs in the Rust programming language. • Routinator connects to the Trust Anchors of the five Regional Internet Registries (RIRs) — APNIC, AFRINIC, ARIN, LACNIC and RIPE NCC — downloads all of the certificates and ROAs in the various repositories, verifies the signatures and makes the result available for use in the BGP workflow. • The validated cache can be fed directly into RPKI-capable routers via the RPKI to Router Protocol (RPKI-RTR), described in RFC 8210. https://rpki.readthedocs.io/en/latest/routinator/index.html
  • 18. Why Routinator? • Designed to have a small footprint and great portability • Can run on any Unix-like operating system, but also works on Microsoft Windows via API • Have a mailing list for general discussion and exchanging operational experiences (https://nlnetlabs.nl/mailman/listinfo/rpki) • Problem report & feature request is possible (https://github.com/NLnetLabs/routinator/issues) • Used in production by AT&T, NTT, AMS-IX, DECIX and many more https://rpki.readthedocs.io/en/latest/routinator/index.html
  • 19. Installation • curl https://sh.rustup.rs -sSf | sh • sudo apt install cargo • source ~/.cargo/env • cargo install routinator • routinator init --accept-arin-rpa • routinator server --rtr [SERVER IP]:3323 --http [SERVER IP]:9556 –d • routinator -v vrps https://rpki.readthedocs.io/en/latest/routinator/installation.html
  • 20. Adding Into Crontab • nano /etc/rovscript.sh #!/bin/bash /home/[USER]/.cargo/bin/routinator init -f --accept-arin-rpa & /home/[USER]/.cargo/bin/routinator server --rtr [SERVER IP]:3323 --http [SERVER IP]:9556 -d & • sudo chmod +x rovscript.sh • crontab -e @reboot /etc/rovscript.sh 5 13 * * * /home/nano/.cargo/bin/routinator -v vrps & 5 0 * * * /home/nano/.cargo/bin/routinator -v vrps &
  • 21. Allow In Iptables • -A INPUT -i ens18 -p tcp -m tcp --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT • -A INPUT -i ens18 -p tcp -m tcp --sport 873 -m state --state NEW,ESTABLISHED -j ACCEPT • -A INPUT -i ens18 -p tcp -m tcp --dport 9556 -m state --state NEW,ESTABLISHED -j ACCEPT • -A INPUT -i ens18 -p tcp -m tcp --sport 9556 -m state --state NEW,ESTABLISHED -j ACCEPT • -A INPUT -i ens18 -p tcp -m tcp --dport 3323 -m state --state NEW,ESTABLISHED -j ACCEPT • -A INPUT -i ens18 -p tcp -m tcp --sport 3323 -m state --state NEW,ESTABLISHED -j ACCEPT • -A INPUT -i ens18 -p tcp -m tcp --dport 9100 -m state --state NEW,ESTABLISHED -j ACCEPT • -A INPUT -i ens18 -p tcp -m tcp --sport 9100 -m state --state NEW,ESTABLISHED -j ACCEPT • -A INPUT -i ens18 -p tcp -m tcp --dport 9090 -m state --state NEW,ESTABLISHED -j ACCEPT • -A INPUT -i ens18 -p tcp -m tcp --sport 9090 -m state --state NEW,ESTABLISHED -j ACCEPT
  • 22. Router Configuration router bgp [ASN] rpki server [SERVER IP] transport tcp port 3323 refresh-time 120 address-family ipv4 unicast bgp origin-as validation signal ibgp address-family ipv6 unicast bgp origin-as validation signal ibgp Configuration of IOS-XR
  • 23. Router Configuration • routing-options { autonomous-system [ASN]; validation { group rpki-validator { Session [Server IP] { refresh-time 120; Port 3323; local-address X.X.X.253; } } } } Configuration of Junos
  • 24. Checking • ps ax| grep routinator 1369 ? Sl 124:05 /home/[USER]/.cargo/bin/routinator server --rtr [SERVER IP]:3323 --http [SERVER IP]:9556 -d 7487 pts/0 S+ 0:00 grep --color=auto routinator • sh bgp rpki server summary Sun Nov 3 12:27:37.333 UTC Hostname/Address Transport State Time ROAs (IPv4/IPv6) [SERVER IP] TCP:3323 ESTAB 6d19h 97473/16440
  • 25. Monitoring • apt install prometheus • nano /etc/prometheus/prometheus.yml - job_name: 'Routinator' # Override the global default and scrape targets from this job every 5 seconds. scrape_interval: 5s scrape_timeout: 10s # metrics_path defaults to '/metrics' # scheme defaults to 'http'. target_groups: - targets: ['[SERVER IP]:9556'] service prometheus stop service prometheus start https://prometheus.io/docs/introduction/overview/
  • 26. Monitoring # HELP routinator_valid_roas number of valid ROAs seen # HELP routinator_vrps_total total number of VRPs seen # HELP routinator_last_update_start seconds since last update started # HELP routinator_last_update_duration duration in seconds of last update # HELP routinator_last_update_done seconds since last update finished # HELP routinator_serial current RTR serial number # HELP routinator_rsync_status exit status of rsync command # HELP routinator_rsync_duration duration of rsync in seconds # HELP routinator_rrdp_status status code for getting notification file # HELP routinator_rrdp_duration duration of rsync in seconds http://[server ip]:9556/metrics
  • 29. Decision • Since now the validation states are visible to you, you can decide what to do with invalids • You can – – Use them with low preference – Or drop them
  • 30. Policy route-policy RPKI if validation-state is invalid then set local-preference 50 else if validation-state is valid then set local-preference 200 else pass endif endif end-policy route-policy RPKI if validation-state is invalid then drop else if validation-state is valid then set local-preference 200 else pass endif endif end-policy Configuration of IOS-XR
  • 31. Observation • sh bgp origin-as validity invalid | exclude 9498 | exclude 6453 | exclude 2914 | exclude 132602 Network Next Hop Metric LocPrf Weight Path *>i103.206.228.0/24 103.7.251.241 450 0 137491 137491 137491 137491 134146 134146 132735 135037 i *>i104.134.130.0/24 103.7.251.241 0 850 0 15169 395973 i *> 119.30.36.0/24 163.47.157.86 450 0 24389 24389 64512 i *> 120.50.24.0/21 163.47.157.82 0 450 0 38712 i * 163.47.157.94 0 450 0 38712 38712 38712 38712 38712 i *> 103.134.59.0/24 103.7.248.110 450 0 58689 58689 58689 58689 135615 139834 i *> 103.139.9.0/24 103.7.248.110 450 0 58689 65507 i
  • 32. Observation - 1 • 103.206.228.0/24 - 135037 I • Techno Asia BD • Originated from 135037 • ROA created for parent block - /22 • Route Object ok • Current Status : Issue Resolved by Owner after notification
  • 33. Observation - 2 • 104.134.130.0/24 - 395973 I • Google • Originated from 395973 • ROA created accordingly • Route Object not updated • Current Status : No response yet after sending notification
  • 34. Observation - 3 • 119.30.36.0/24 - 64512 I • Grameenphone • Originated from 64512 (Private ASN) • ROA created for parent block not for /24 ( ROA shows public & private ASN) • Route Object not updated • Current Status : Issue Resolved by Owner after notification
  • 35. Observation - 4 • 120.50.24.0/21 - 38712 I • Telnet Communication Limited • Originated from 38712 • ROA created for parent block - /19 • Route Object ok • Current Status : Issue Resolved by Owner after notification
  • 36. Observation - 5 • 103.134.59.0/24 - 139834 i • Achiever Broadband Internet • Originated from 139834 • ROA created for parent block - /22 • Route Object ok • Current Status : Issue Resolved by Owner after notification
  • 37. Observation - 6 • 103.139.9.0/24 - 65507 i • ICC COMMUNICATION LTD. • Originated from 65507 • ROA created for parent block - /23 • Route Object ok • Current Status : Issue Resolved by Owner after notification
  • 39. Reference • https://www.manrs.org/about/ • https://blog.apnic.net/2019/10/28/how-to-installing-an-rpki-validator/ • http://www.bgp4all.com.au/pfs/training/apnic48/agenda • https://www.nlnetlabs.nl/projects/rpki/routinator/ • https://www.ripe.net/manage-ips-and-asns/resource-management/certification/tools-and-resources • https://github.com/cloudflare/cfrpki#octorpki