Συχνά λάθη σε routers με Quagga

(Reference) Συγγραφέας: Acinonyx

Default Gateway/Πρόσβαση Internet σε BGP router

  • Περιγραφή
    Το default gateway χαλάει το σύστημα του BGP για την εύρεση του next-hop. Σε περιπτώσεις κοινών AS και όχι μόνο, έχει παρατηρηθεί ότι το default gateway θεωρείται πάντα σαν valid next-hop ακόμη κι αν οι πραγματικοί neighbors έχουν πέσει. Το αποτέλεσμα είναι να δημιουργούνται μαύρες τρύπες στο BGP.
  • Λύση
    Δεν δίνουμε ποτέ πρόσβαση internet στο router μας, είτε περνάμε τα απαραίτητα φίλτρα ανάλογα το λειτουργικό σύστημα του router. Ρυθμίσεις φίλτρων για Linux, Mikrotik.

Δήλωση ολόκληρου C-Class (/24) στο OSPF network

  • Περιγραφή
    Δηλώνοντας στο OSPF σαν network όλο το /24 subnet, είναι πιθανό να ενεργοποιείται OSPF σε όλα τα interfaces ακόμη και σε αυτά με γείτονες που δεν θέλουμε. Αν και ο γείτονας τρέχει OSPF με τον ίδιο τρόπο, τότε γίνεται κανονικά σύνδεση και routing μέσω του OSPF αντί για το BGP.
  • Λύση
    Δηλώνουμε σαν OSPF network μόνο το subnet που έχουμε OSPF neighbors.

Ενεργοποιημένο rp_filter

  • Περιγραφή
    Το rp_filter είναι μία λειτουργία του router η οποία δεν επιτρέπει την λήψη πακέτων από πηγές για τις οποίες έχουμε routes από διαφορετικά interfaces από αυτά που μας ήρθαν. Ενεργοποιώντας αυτή τη λειτουργία ο router πρακτικά απορρίπτει τις λεγόμενες ασύμμετρες διαδρομές.
  • Λύση
    Απενεργοποιούμε το rp_filter μέσω του sysctl.conf ή μέσω ενός script.

Σημείωση
Στο Debian αυτό ορίζεται στο αρχείο /etc/network/options. Εκεί πρέπει να έχετε

ip_forward=yes
spoofprotect=no

Δεν αρκεί όμως να το αλλάξετε εκεί για να εφαρμοστεί άμεσα, και πιθανολογείται ότι το /etc/init.d/networking restart δεν το αλλάζει. Οπότε είτε κάνετε reboot, είτε

echo 0 > /proc/sys/net/ipv4/conf/*/rp_filter

για να το λάβει άμεσα υπόψη. Μετά το reboot θα κάνει ό,τι του λέει το /etc/network/interfaces αρχείο.

Στο Slackware από default είναι σωστά ρυθμισμένο, ωστόσο εάν θέλετε να το περάσετε (για να είναι ενεργό στην εκκίνηση) θα πρέπει να βάλετε την εντολή

echo 0 > /proc/sys/net/ipv4/conf/*/rp_filter

στο αρχείο

/etc/rc.d/rc.local