UWAGA: Jeśli urządzenia klienckie (
computer B
w tym przykładzie) chcą uzyskać dostęp do Internetu za pośrednictwem komputera bramy, być może nadal muszą skonfigurować rozdzielczość serwera nazw. Nie zostało to tutaj wyjaśnione (brama niekoniecznie obsługuje Internet).
Próbuję zrozumieć podstawy routingu sieci.
Więc eksperymentuję z moją siecią LAN (na razie nie potrzebuję internetu, tylko komunikacja w sieci LAN).
Wiem, że konfiguracja sieci jest sprawą dość złożoną, ale staram się tylko, aby komputer (powiedzmy A) działał jako brama dla innego (powiedzmy B) (oba z systemem Ubuntu Linux).
Potrzebuję tylko B, aby móc połączyć się z routerem, który jest dostępny tylko dla A.
Tak jest w przypadku:
Router for computer A --> 192.168.0.1
Computer A - eth0 --> 192.168.0.2
Computer A - eth1 --> 192.168.1.1
Computer B - eth0 --> 192.168.1.2
Komputer A dobrze łączy się z routerem .
Komputer A i B łączą się dobrze (ping, SSH ... itd.) Między nimi .
Komputer B nie może połączyć się z routerem dla komputera A.
Myślałem, że samo dodanie na komputerze A B jako domyślnej bramy i aktywacja przekazywania IP na A sprawiłoby, że B mógłby uzyskać dostęp do routera dla A:
luis@ComputerB:~$ sudo route add default gw 192.168.1.1
luis@ComputerB:~$ sudo routel
target gateway source proto scope dev tbl
127.0.0.0 broadcast 127.0.0.1 kernel link lo local
127.0.0.0 8 local 127.0.0.1 kernel host lo local
127.0.0.1 local 127.0.0.1 kernel host lo local
127.255.255.255 broadcast 127.0.0.1 kernel link lo local
192.168.1.0 broadcast 192.168.1.2 kernel link eth0 local
192.168.1.2 local 192.168.1.2 kernel host eth0 local
192.168.1.255 broadcast 192.168.1.2 kernel link eth0 local
default 192.168.1.1 eth0
169.254.0.0 16 link eth0
192.168.1.0 24 192.168.1.2 kernel link eth0
I na komputerze A (brama pośrednia):
root@ComputerA:~$ echo 1 > /proc/sys/net/ipv4/ip_forward
Komputer B nadal może pingować komputer A, ale router dla A nie odpowiada:
luis@ComputerB:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
^C
(Brak odpowiedzi ping)
Czy jest to poprawna procedura, aby komputer z systemem Linux działał jako brama dla innego komputera w prosty sposób?
źródło
Aby routing działał poprawnie między dwoma komputerami z systemem Linux działającymi jako bramy, należy wprowadzić kilka rzeczy:
Trasy należy dodać do obu interfejsów routera.
Brama lokalna musi być określona dla sieci zdalnej na obu bramach. Dzięki temu komputery w sieci lokalnej mogą wiedzieć, gdzie wysłać pakiety do sieci zdalnej. Brama powinna być adresem IP komputera, który wyśle pakiety do zdalnej sieci.
Maskowanie IP musi być włączone, aby NAT mógł działać między bramami.
Może być konieczne określenie źródła i celu, ponieważ używasz tego samego interfejsu do maskarady:
a druga brama:
Dla każdej bramy ruch sieci lokalnej powinien być akceptowany na odpowiednim interfejsie, takim jak ten:
lub
Istnieje wiele linków i podobnych pytań, które można znaleźć w celu rozwiązania problemów, które masz.
Wydaje się, że w tym konkretnym przypadku niewłaściwe jest to, że konfiguracja trasy i bramy nie została ukończona na obu komputerach, a translacja adresów sieciowych (NAT) nie została włączona za pomocą iptables, dzięki czemu bramy mogą przenosić żądanie z komputera w drugiej podsieci w ich imieniu.
Jest to również ważne przy konfigurowaniu połączenia internetowego, ponieważ jesteś odpowiedzialny za jeden koniec połączenia (np. Używanie komputera z systemem Linux jako bramy do połączenia PPPoE).
źródło