Imposta la tabella di routing persistente su Debian


13

Ho modificato la mia tabella di routing eliminando una regola e aggiungendo due nuove regole per la mia seconda interfaccia eth1:

route del -net 10.1.2.0 netmask 255.255.255.0
route add -host 10.1.2.51 eth1
route add -host 10.1.2.52 eth1

Voglio che le regole sopravvivano al riavvio. Potrei scrivere un semplice script rc per rimuovere 1 regola e inserire 2 nuove, ma mi chiedevo se c'è un modo per configurare ifconfig, non per aggiungere una regola di instradamento per l'interfaccia (eth1) quando viene avviata, o anche meglio, per specificare quali regole devono essere aggiunte.

Quale sarebbe un modo pulito per farlo? Mi ifconfigconsente di specificare regole personalizzate per il routing?

Risposte:


21

È possibile aggiungere le chiamate post-upall'hook quando viene visualizzata l'interfaccia. La configurazione dell'interfaccia si trova in /etc/network/interfaces. Ecco un esempio:

auto eth1
iface eth1 inet dhcp
  post-up route del -net 10.1.2.0 netmask 255.255.255.0
  post-up route add -host 10.1.2.51 eth1
  post-up route add -host 10.1.2.52 eth1
  pre-down route add -net 10.1.2.0 netmask 255.255.255.0
  pre-down route add -host 10.1.2.51 eth1
  pre-down route add -host 10.1.2.52 eth1

Dalla pagina man - interfacce :

post-up command
Esegui il comando dopo aver visualizzato l'interfaccia. Se questo comando non riesce, ifup si interrompe, astenendosi dal contrassegnare l'interfaccia come configurata (anche se è stata realmente configurata), stampa un messaggio di errore ed esce con lo stato 0.

pre-down command
Esegui il comando prima di disattivare l'interfaccia. Se questo comando non riesce, ifdown si interrompe, contrassegna l'interfaccia come deconfigurata (anche se non è stata realmente deconfigurata) ed esce con lo stato 0.

Inoltre, su Linux "net-tools" routeè obsoleto e dovrebbe essere sostituito dagli strumenti del pacchetto iproute2 .

Ulteriori letture:


potrei, invece di rimuovere la prima regola, impedirne la creazione in primo luogo? Come viene comunque creata una regola di route? Dalle impostazioni di rete in /etc/network/interfaces? E come faccio a sapere che quando viene eseguito il post-up, la regola da rimuovere esiste già? La pagina man non dice in quale momento è stata creata.
Martin Vegter,

1
Dal momento che non conosco né la tua rete né la tua configurazione host, non posso dire come questo percorso sia entrato nella tabella di routing. Viene fornito con un contratto di locazione DHCP? In caso contrario, controlla i tuoi servizi /etc/init.de verifica quali potrebbero eventualmente armeggiare con la tabella di routing. Dai anche un'occhiata alle /etc/networksottodirectory incluse.
Marco,

5
post-upe pre-downsono alias per upe down, rispettivamente. E l'aggiunta di || :a alla fine di una riga consente al comando di fallire e non disturbare ifup / ifdown. Di solito lo aggiungo a route del, nel caso in cui il percorso non esista ancora e quindi non possa essere rimosso.
Tino,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.