Dodanie dwóch domyślnych bram w pliku interfejsów Debiana

10

To jest mój plik interfejsów:

auto eth0
iface eth0 inet static
   address 192.168.1.10
   netmask 255.255.255.0
   gateway 192.168.1.1

auto eth1
iface eth1 inet static
   address 192.168.2.10
   netmask 255.255.255.0
   gateway 192.168.2.1

Gdybym restart sieci demon otrzymuję ten błąd: eth1 is not up. Chcę, aby dwie domyślne bramy osiągnęły to, co wspomniano w zaakceptowanej odpowiedzi na pytanie tutaj . Tak powinna wyglądać moja tabela routingu:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1

Mam powyższą tabelę za pomocą poleceń ifconfigi route add default gw. Ale chcę to zrobić z /etc/network/interfacesplikiem. Jak mogę to zrobić?

Aktualizacja 1:

iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    up ip route del 192.168.1.0/24
    post-up ip route add 192.168.1.0/24 dev eth0 metric 1
    up route add default gw 192.168.1.1 metric 1
nixnotwin
źródło
1
Dopóki nie obchodzi Cię, jak zgaśnie Twój ruch. W Solarisie i wcześniejszych wersjach Linuxa zrobiono to w stylu Round-Robin
Karlson
Twój plik interfejsów wygląda poprawnie. Zazwyczaj DHCP jest dziś o wiele wygodniejszy i tego właśnie użyłem w tych okolicznościach. Możesz podać określonym adresom MAC ustawiony adres IP w ustawieniach serwera DHCP.
casualunixer,
Na marginesie, NetworkManager dodał ostatnio szersze wsparcie dla metryk trasy. Obsługuje je automatycznie lub możesz ustawić je ręcznie. Może to być wygodniejszy sposób lub możesz złożyć wniosek o funkcję dla swojego narzędzia.
Pavel Šimerda
Możesz także dodać szczegóły, dlaczego w ogóle chcesz mieć dwie domyślne trasy. Mogę tylko zgadywać, że dwie trasy o różnych parametrach nie będą działać zgodnie z oczekiwaniami.
Pavel Šimerda
Plik interfejsów pozwala ustawić metrykę. Nie powinno być potrzeby ręcznego dodawania tras za pomocą funkcji „up” i „post-up”
Goswin von Brederlow,

Odpowiedzi:

10

Ten / etc / network / interfaces działa dla mnie na Ubuntu 10.04 LTS 2.6.32-40:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.254
    post-up route add default gw 192.168.1.1 metric 1
    pre-down route del default gw 192.168.1.1

auto eth1
iface eth1 inet static
    address 192.168.2.10
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.254
    post-up route add default gw 192.168.2.1 metric 2
    pre-down route del default gw 192.168.2.1

Dostaję dwie domyślne trasy:

root@gamla:/etc/network# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 eth0
0.0.0.0         192.168.2.1     0.0.0.0         UG    2      0        0 eth1

Zwróć uwagę na dane. Czy zrozumiałem twoje pytanie?

Eli Rosencruft
źródło
Sieć i brama skojarzone z nią eth0powinny najpierw się pojawiać, ponieważ jest to podstawowa sieć i brama. Jakie są dane wyjściowe netstat -anrlub tylko routepolecenia w konfiguracji?
nixnotwin
Edytowałem, dodając parametry metryki, aby uzyskać żądaną kolejność tras. Mój system ma wiele innych interfejsów, które edytowałem z danych wyjściowych, a moje interfejsy nie są nazwami ethX, więc nie jestem w 100% pewien, że moje rozwiązanie będzie dla ciebie działać. Wypróbuj i daj mi znać wyniki.
Eli Rosencruft,
Dodawanie metryki dla bram domyślnych działa. Ale jak mogę dodać metrykę dla tras? Moja tabela routingu ma podsieć klasy B, która powinna znajdować się przed moją inną podsiecią klasy A. Określanie metric 3z ifmetricpakietu debian nie działało dla mnie.
nixnotwin
1
Jądro przechowuje metrykę, ale nie używa jej do trasowania. Aby użyć tej metryki, musisz uruchomić demona routingu, takiego jak quagga (była zebra) lub ptak.
Eli Rosencruft,
1
@EliRosencruft czy możesz cytować referencje plz?
drAlberT