Muszę dodać trasę, która nie zostanie usunięta po ponownym uruchomieniu. Przeczytałem te dwa sposoby:
Dodaj
ip route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
do pliku/etc/network/interfaces
lub
Utwórz plik /etc/network/if-up.d/route za pomocą:
#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
i uczyń go wykonywalnym:
chmod +x /etc/network/if-up.d/route
Więc jestem zdezorientowany. Jak najlepiej to zrobić?
ip route add <network> via <IP> dev <DEV>
zamiast poleceń net-tools (ifconfig, route itp.)Odpowiedzi:
Wspomniałeś
/etc/network/interfaces
, więc jest to system Debian ...Utwórz nazwaną tabelę routingu. Jako przykład użyłem poniżej nazwy „mgmt”.
Powyżej, jądro obsługuje wiele tabel routingu i odnosi się do nich przez unikalne liczby całkowite o numerach 0-255. Nazwa, mgmt, jest również zdefiniowana dla tabeli.
Poniżej przedstawiono domyślne ustawienie
/etc/iproute2/rt_tables
pokazujące, że niektóre liczby są zastrzeżone. Wybór w tej odpowiedzi 200 jest arbitralny; można użyć dowolnej liczby, która nie jest jeszcze używana, 1-252.Poniżej plik interfejsów Debiana 7/8 definiuje
eth0
ieth1
.eth1
to sieć 172.eth0
mógłby również użyć DHCP.172.16.100.10
to adres IP do przypisaniaeth1
.172.16.100.1
to adres IP routera.Uruchom ponownie lub uruchom ponownie sieć.
Aktualizacja - opisująca EL
W komentarzu zauważyłem, że „również zastanawiasz się nad RHEL”. W Enterprise Linux („EL” - RHEL / CentOS / et al) utwórz nazwaną tablicę routingu, jak wspomniano powyżej.
Plik EL
/etc/sysconfig/network
:Plik EL
/etc/sysconfig/network-scripts/ifcfg-eth0
, wykorzystujący konfigurację statyczną (bez NetworkManager i nie określający „HWADDR” i „UUID” w poniższym przykładzie) poniżej./etc/sysconfig/network-scripts/ifcfg-eth1
Następuje plik EL (bez NetworkManager i bez określenia „HWADDR” i „UUID” w poniższym przykładzie).Plik EL
/etc/sysconfig/network-scripts/route-eth1
:Plik EL
/etc/sysconfig/network-scripts/rule-eth1
:źródło
W dystrybucji opartej na Debianie możesz na stałe dodać trasę statyczną w następujący sposób:
W dystrybucji opartej na RHEL:
źródło
sudo
ma to znaczenia w obu twoich poleceniach. Albo jesteś już rootem, więc>>
działa, albo nie, w takim przypadku>>
jest stosowany jako oryginalny użytkownik i tylkoecho
jako root. Nie powiedzie się to również, jeśli istnieje wiele interfejsów zdefiniowanych w/etc/network/interfaces
.ip route add <network> via <IP> dev <DEV>
net-tools route i polecenia ifconfig, które nie są instalowane domyślnie.