Przekieruj cały ruch dla określonego adresu IP przez określony interfejs sieciowy

17

Mam serwer linux, który potrzebuje trochę routingu. Jestem w tym dość nowy i nie mogę znaleźć żadnego wyraźnego źródła w Google.

Konfiguracja powinna być prosta:
cały ruch do serwera na ip 192.168.72.20 powinien być przesyłany przez interfejs 3. Wszystkie inne interfejsy nie mają obecnie znaczenia.

Tutaj masz wyjście dla route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth3
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth4
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.72.12   0.0.0.0         UG    0      0        0 eth0
Frederiek
źródło
1
Czy używasz staroświeckiego polecenia ifconfig i route lub nowoczesnych poleceń ip? (stare byłyby coś w stylu route add -host 192.168.72.20 GW eth3_ip)
Hennes
nie wiem, chyba stare, jak mogę to sprawdzić?
Frederiek

Odpowiedzi:

21

Próbować:

ip route add 192.168.72.20/32 dev eth3

LawrenceC
źródło
3
Tylko uwaga: aby na stałe zachować tę konfigurację, upewnij się, że ją dodasz /etc/rc.locallub ekwiwalent dystrybucji. Nie będzie się utrzymywać między restartami.
LawrenceC
1
Próbowałem ten sam format do mapowania adresu IP do wlan0 na Ubuntu 14.04 i dostał RTNETLINK answers: Invalid argumentmusiałem usunąć / ** od OD więc skończyło się z: sudo ip route add 192.168.50.15 dev wlan0- Pomyślałam, że wspomnieć, że w przypadku gdy ktoś inny wpadł na ten problem . Dziękuję za odpowiedź ultrasawblade, było pomocne.
mason81,
3
Nie zapomnij, via <gateway_ip>jeśli docelowy adres IP nie jest bezpośrednio osiągalny!
calandoa