Configurare il gateway per due NIC tramite la route statica

OK Ho due NIC eth0 e eth1 . Ciascuno oltre il proprio gateway predefinito. Posso accedere alla networking solo su eth0 poiché è la prima NIC per aggiungere un path predefinito. Come posso configurare le mie rotte statiche per consentire sia l'accesso alle sottoreti separate?

 eth0: 10.0.0.3 netmask 255.255.255.0 gw 10.0.0.254 eth1: 10.0.1.1 netmask 255.255.255.0 gw 10.0.1.26 

EDIT:

  • Linux NFS crea maschera e forza equivalente utente
  • rsync - Imansible impostare l'authorization - l'operazione non è consentita
  • PYTHONPATH variabile d'ambiente ... come faccio ad each subdirectory successivamente?
  • Come fermare Apache da crashare tutto il mio server?
  • Come sostenere completamente un'image Linux e caricarla in un altro server?
  • Scarsa performance di scrittura sul server Debian che esegue NFS con 22TB esportto file system JFS
  • Domanda 2

    Se non esiste alcun path nella tabella di routing su Linux, utilizza eth0 per impostazione predefinita?

  • Trasferisci 15TB di file piccoli
  • screenshot CLI di linux senza X
  • È ansible effettuare il multidistribuzione del sistema con una scheda grafica / due teste?
  • Più veloce IMAP per la ricerca di server IMAP Courier su Linux
  • Imposta il collegamento simbolico in cui gli utenti possono accedervi con FTP
  • devo installare fail2ban su CentOS
  • 3 Solutions collect form web for “Configurare il gateway per due NIC tramite la route statica”

    È ansible eseguire il routing dei criteri , cioè avere più tabelle di routing e select la tabella di routing da utilizzare in base all'indirizzo di origine (in generale altri campi, ma non rilevanti in questo caso). Si noti che i numbers di tabella riportti di seguito sono scelti in modo arbitrario.

    Non so come fare il routing delle politiche usando il route dal pacchetto net-tools . E 'lunga perduta comunque. Usa ip dal pacchetto iproute2 .

    Dovresti inoltre abilitare il routing dei criteri nel tuo kernel. Le distribuzioni principali lo fanno per impostazione predefinita se non mi sbaglio.

    Inizia da uno stato pulito, se appropriato:

     # Assumes that previous configuration properly set address and route scopes ip route flush all proto static scope global 

    Quindi aggiungere le tabelle per each interface.

     ip route add 10.0.0.3/24 dev eth0 table 5000 ip route add default via 10.0.0.254 dev eth0 table 5000 ip route add 10.0.1.1/24 dev eth1 table 5001 ip route add default via 10.0.1.26 dev eth1 table 5001 

    Si imposta quindi le regole di routing :

     ip rule add from 10.0.0.3 table 5000 ip rule add from 10.0.1.1 table 5001 

    L'ultimo passo consiste nel configurare il gateway predefinito per quando si è l'iniziatore , per così dire.

    Se vuoi utilizzare solo eth0 come gateway predefinito, fai semplicemente qualcosa di simile:

     ip route add default via 10.0.0.254 dev eth0 

    Si noti che non esiste una tabella specificata , per cui è predefinito il principale. L'utilizzo di eth1 è lasciato come esercizio al lettore.

    Se si desidera caricare l'equilibrio tra i due, è ansible effettuare routes multipath utilizzando nexthop .

     ip route add default nexthop via 10.0.0.254 dev eth0 weight 1 nexthop via 10.0.1.26 dev eth1 weight 1 

    Per quanto riguarda la seconda domanda, nessun Linux crea automaticamente un path predefinito. Se non esiste un path locale per il traffico, avrai un errore di EHOSTUNREACH .

    EDIT: Si noti che nessuno dei suddetti elementi deve essere preso per implicare che l'IP sia dichiarativo, che abbia qualcosa a che fare con le connessioni o addirittura una nozione intrinseca di un stream. Semplicemente significa che supponiamo che un stream abbia sempre gli stessi punti di arrivo e che ci leghiamo ad un stream di gateway a seconda del nostro indirizzo di origine. Ciò è semplicemente necessario perché molti gateway (in particolare nel context di ISP residenziali) fanno il filter del path di inversione.

    In circostanze normali, è ansible avere solo un gateway predefinito . È il valore predefinito dopo tutto. Tutto il traffico che non corrisponde a un path statico più specifico uscirà il gateway predefinito su eth0 .

    Se vuoi che tutto il traffico per la substring 10.0.1.0/24 uscire da eth1 e il resto del traffico per utilizzare eth0 , fai quello che @AlanCurry ha detto e fai qualcosa come la route add -net 10.0.1.0 netmask 255.255.255.0 dev eth1

    Il modo più semplice:

     ip route flush all ip route add 10.0.0.0/24 dev eth0 ip route add 10.0.3.0/24 dev eth1 ip route add default via 10.0.0.254 

    Questo vi permetterà di accedere a entrambe le sottoreti sui dispositivi appropriati e percorrere tutto il traffico Internet attraverso eth0 sul gateway 10.0.0.254.

    È ansible impostarli fino a persistere mediante riavvii / riavvii con regole nei sapori basati su Red Hat in: /etc/sysconfig/network-scripts/route-ethX .


    /etc/sysconfig/network-scripts/route-eth0 :

      10.0.0.0/24 dev eth0 default via 10.0.0.254 

    /etc/sysconfig/network-scripts/route-eth1 :

     10.0.3.0/24 dev eth1 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.