Przekazywanie IP = kiedy i dlaczego jest to wymagane?

26

Dużo szukałem w Google. Jest tylko udokumentowane, jak włączyć przekazywanie IP w jądrze Linuksa, ale nie WHENi WHYmuszę go włączyć. Byłbym wdzięczny za radę.

Kiedy i dlaczego muszę to włączyć? (Na przykład, gdy instaluję mostek ?, lub podczas korzystania z iptables? Lub podczas korzystania route add?)

(Dobre linki są mile widziane, ale nie udało mi się znaleźć.)

Dziękuję Ci bardzo!

Jan

Jan
źródło
w zasadzie służy do przesyłania między sieciami, a nie do przesyłania między interfejsami. Rozumiem przez to, że jeśli dwa interfejsy są w tej samej sieci, nie musimy włączać przekierowywania IP na serwerze, uważam .... tylko dla serwera pomiędzy dwiema sieciami lub LANS ..... mam nadzieję, że to pomoże: D

Odpowiedzi:

32

Przekazywanie IP powinno być włączone, jeśli chcesz, aby system działał jak router, czyli przesyłanie pakietów IP z jednej sieci do drugiej.

W najprostszym przypadku rozważ serwer z dwoma fizycznymi portami Ethernet, który ma łączyć się z dwiema różnymi sieciami (powiedzmy, że twoja sieć wewnętrzna i świat zewnętrzny są dostarczane przez modem DSL). Jeśli po prostu połączysz i skonfigurujesz te dwa interfejsy, system może komunikować się w dowolnej sieci. Jednak pakiety z jednej sieci nie mogą podróżować do drugiej sieci, ponieważ przekazywanie nie jest włączone.

Rozważ konkretny przykład „dodawania trasy”. Jeśli masz dwa interfejsy sieciowe, dodasz co najmniej dwie trasy, po jednej dla każdego interfejsu. Kiedy jądro zastanawia się, gdzie wysłać pakiet sieciowy, wybierze najbardziej konkretną odpowiednią trasę, a następnie wyśle ​​ją do tego interfejsu.

Jeśli jednak przekazywanie jest wyłączone, jądro najpierw sprawdzi, z którego interfejsu pochodzi pakiet. Jeśli nie pochodzi z tego samego interfejsu, jądro go odrzuci.

EDYCJA : Najpierw zauważ, że możesz używać routera bez dwóch fizycznych interfejsów sieciowych. Na przykład, jeśli używasz sieci VLAN , serwer może przesyłać pakiety IP między sieciami VLAN, ale ma tylko jeden fizyczny interfejs sieciowy. Jest to tak zwany jednoręki router . Jednak w najprostszym przypadku tak można powiedzieć, że jeśli masz tylko jeden fizyczny interfejs sieciowy, nie musisz włączać przekazywania IP.

Przekazywanie IP obejmuje przesyłanie pakietów między interfejsami sieciowymi (rzeczywistymi lub wirtualnymi), więc myślę, że gdybyś miał dwa interfejsy w tej samej sieci, musiałbyś włączyć przekazywanie adresów IP, aby umożliwić przenoszenie pakietów między interfejsami. Ponieważ jednak interfejsy są już w tej samej sieci, przesyłanie pakietów między nimi nie ma większego sensu.

Phil Hollenback
źródło
Zasadniczo, jeśli nie używasz komputera jako routera, tj. Jeśli nie masz zainstalowanych 2 kart sieciowych, nie włączaj przekazywania IP.
LawrenceC
dzięki za odpowiedź: czy jest wymagane, aby pakiety IP przekraczały interfejsy, czy też koncentruje się na „przekraczaniu granic sieci”, to znaczy, że „komunikacja między procesami” wymaga przekazywania IP (jeśli przekraczanie granic sieci)? Po drugie, czy dotyczy to tylko pakietów przechodzących przez różne sieci (takich jak xxx.xxx.xxx.xxx/24 i rrrrrrrrrrrr / 24), czy też z pakietami w tej samej sieci przechodzącymi z jednego interfejsu do drugiego? dzięki.
sty
1

Według Wikipedii ...

Przekazywanie IP zwane także routingiem internetowym jest procesem stosowanym do określenia ścieżki, którą można wysłać pakiet lub datagram. Proces wykorzystuje informacje o routingu do podejmowania decyzji i ma na celu wysyłanie pakietu przez wiele sieci. Ogólnie rzecz biorąc, sieci są oddzielone od siebie routerami.

Jest to wymagane, gdy system ma być używany jako router. Sprawdź poniższy link, aby poznać dokładne wykorzystanie przekazywania IP. http://www.linuxjournal.com/content/linux-advanced-routing-tutorial ?

Akash Saxena
źródło