czy brama musi znajdować się w podsieci?

14

Patrzyłem na uruchomienie takiego interfejsu w / etc / network / interfaces (to jest na Debianie), z bramą poza podsiecią:

iface eth0 inet static
address 10.100.10.99
netmask 255.255.255.0
gateway 10.100.0.1

ale „ifup --verbose eth0” wyświetla tylko ten komunikat o błędzie:

ifconfig eth0 10.100.10.99 netmask 255.255.255.0
 route add default gw 10.100.0.1  eth0
SIOCADDRT: No such process
Failed to bring up eth0

Oczywiście zmiana maski sieci na 255.255.0.0 działa dobrze.

Czy to w ogóle możliwe, czy jest coś innego, co stanowi problem? Czy istnieje sposób, aby uzyskać więcej informacji z ifup? Widzę jeden post w Internecie, który sugeruje, że powinien działać.

Kevin G.
źródło

Odpowiedzi:

10

Innym sposobem podejścia do tego pytania jest: jeśli nie możesz połączyć się z routerem bramy domyślnej w sieci lokalnej, w jaki sposób wysyłasz przez niego pakiety? Będziesz musiał wysłać je przez inny router.

Na tle należy pamiętać, że pakiet IP zazwyczaj zawiera adresy źródłowe i docelowe: skąd pochodzi i dokąd chce się udać. Zwykle od routerów zależy, jak się tam dostanie.

Tak więc, gdy wysyłasz pakiet IP przez domyślny router bramy sieci, jedna z dwóch rzeczy musiałaby się zdarzyć.

  1. Router sieci lokalnej wie, jak dotrzeć do routera bramy domyślnej i zgadza się z Twoim pomysłem, że pakiet powinien zostać wysłany przez router bramy domyślnej, aby dotrzeć do miejsca docelowego. W takim razie dlaczego nie użyć routera sieci lokalnej jako domyślnej bramy?

  2. Router sieci lokalnej uważa (domyślnie), że pakiet powinien zostać wysłany przez inny router, aby dostać się do miejsca docelowego. W takim przypadku musisz mieć sposób, aby powiedzieć inaczej. Ta funkcja istnieje i jest nazywana „routingiem źródłowym” ... ale jest uważana za zagrożenie dla bezpieczeństwa, a większość routerów jest skonfigurowana do jej ignorowania.

Wreszcie z mojego doświadczenia wynika, że ​​narzędzie Linux iproute ( ip) nie pozwala na dodanie trasy, jeśli do bramy nie można dotrzeć bezpośrednio przez lokalny interfejs sieciowy.

Kilka odniesień do routingu źródła:

Jander
źródło
4

Brama domyślna musi znajdować się w tej samej podsieci, co adres IP urządzenia. Zazwyczaj jest to adres IP routera sieci, z którą się łączysz. Ze strony wikipedia na domyślnej trasie :

W sieci komputerowej brama jest węzłem (routerem) w sieci TCP / IP, który służy jako punkt dostępu do innej sieci. Brama domyślna to węzeł w sieci komputerowej, z którego korzysta oprogramowanie sieciowe, gdy adres IP nie odpowiada żadnym innym trasom w tabeli routingu. W rzeczywistości jest to adres IP routera, do którego podłączona jest sieć komputerowa.

W domowych konfiguracjach ISP często zapewnia fizyczne urządzenie, które łączy lokalny sprzęt z Internetem i służy jako brama. Do takich urządzeń należą routery DSL i routery kablowe.

W systemach organizacyjnych brama jest węzłem, który kieruje ruch ze stacji roboczej do innego segmentu sieci. Brama domyślna zwykle łączy sieci wewnętrzne i zewnętrzne (Internet). W takiej sytuacji węzeł bramy może również działać jako serwer proxy i zapora ogniowa. Brama jest również powiązana zarówno z routerem, który używa nagłówków i tabel przesyłania, aby określić, gdzie wysyłane są pakiety, oraz z przełącznikiem, który zapewnia rzeczywistą ścieżkę dla pakietu wchodzącego i wychodzącego z bramy.

Innymi słowy, brama domyślna zapewnia punkt wejścia i punkt wyjścia w sieci.

slm
źródło
Ale jeśli istnieje statyczna trasa do adresu, czy nie może to być brama domyślna, nawet jeśli nie ma jej w podsieci? (Zajmujemy się kwestiami technicznymi tutaj i z dala od dobrych praktyk).
kurtm
Trasa statyczna może być trasą, ale nie domyślną bramą (jak rozumiem).
slm
2
Domyślna trasa MUSI znajdować się w tej samej podsieci. Domyślna trasa polega na tym, w jaki sposób przenosisz cały ruch z podsieci do innej. Jeśli więc próbujesz uzyskać ruch z 10.100.10.99 do 10.100.0.1, potrzebujesz „bramy”, aby uzyskać dostęp z sieci 10.100.10.0/24 do 10.100.0.0/24. 10.100.0.1 nie może być domyślną bramą, ponieważ domyślnie nie można do niej dotrzeć. Może to jednak być „brama”. I może to być nawet „brama”, do której wysyłasz cały ruch (gdy powiesz mu, jak dostać się do innej sieci).
coteyr
1
@coteyr: a jednak mam to działające. Jeśli istnieje statyczna trasa do drugiej podsieci, a brama domyślna znajduje się w tej podsieci, zarówno jestem w stanie dodać domyślną trasę, jak i ping / nawiązywać połączenia bez problemów. Może to być mniej wydajne, ale działa.
siride
Powiedziałbym: trasa to sposób, w jaki cały ruch z podsieci przechodzi do innej. Określając trasę, możesz określić segment IP (lub supernet - kombinację segmentów) i bramę, za pomocą której można uzyskać dostęp do tego segmentu / supernetu, lub możesz określić „dla wszystkich innych elementów niewymienionych w tabeli routingu, użyj tego przejście". Ta ostatnia jest domyślną trasą, a używana w niej brama nazywana jest bramą domyślną. Gdy masz tylko jedną kartę sieciową, prawie zawsze potrzebujesz tylko domyślnej trasy; ale w przypadku wielu kart sieciowych możesz potrzebować także innych tras.
telcoM
2

Mam ten sam problem w wielu lokalizacjach dzięki usłudze Verizon ADSL. „Brama domyślna” znajduje się w innej podsieci. W naszym przypadku potrzebujemy publicznych adresów IP, aby korzystać z ipsec site-to-site VPN. W tym celu musimy przełączyć bramę DSL w tryb mostowania, aby publiczny adres IP był na naszym routerze zamiast bramy DSL.

Większość dostawców jest w stanie to zrobić dość łatwo, ale Verizon wydaje się mieć trudności. Korzystając z bramy DSL D-Link 2750B i przełączając ją w tryb mostka, technicy Verizon mówią mi, żebym używał domyślnej bramy w oddzielnej podsieci. Przetestowałem to na moim laptopie z systemem Windows 7 i chociaż system Windows wyświetla komunikat o błędzie, mówiąc: „Jesteś idiotą, a to zły pomysł - czy nadal chcesz zapisać tę konfigurację? Tak / Nie”, działa .

Jednak oprogramowanie z bardziej rygorystycznymi kontrolami poczytalności wydaje się chronić cię przed tobą ...

Nadal nie mogę się powstrzymać, ale myślę, że musi istnieć sposób, aby to wyłudzić ...

Stuart Smith
źródło
1

Jest to możliwe, ale jak wyjaśniono w powiązanym artykule, twój komputer musi już wiedzieć, jak dostać się do adresu bramy. Oznacza to, że będziesz musiał użyć, post-upaby ręcznie dodać trasy zamiastgateway

iface eth0 inet static
  address 10.100.10.99
  netmask 255.255.255.0
  post-up ip route 10.100.0.0/24 via 10.100.10.x # router that can route you to the 10.100.0.0/24 network
  post-up ip route 0.0.0.0 via 10.100.0.1
Jordan
źródło
2
Te ip routepolecenia zakończą się niepowodzeniem, jeśli spróbujesz je ... nawet jeśli dodasz brakujące addpolecenie.
Jander