Połącz dwie podsieci w systemie Linux

6

Jak można połączyć dwie podsieci?

Nie mogę pingować ani traceroute między tymi podsieciami.

Podsieć Vbox1 ifconfig:

eth0      Link encap:Ethernet  HWaddr 08:00:27:f1:68:9e
          inet addr:192.168.1.65  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef1:689e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:207703 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41701 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:45480669 (45.4 MB)  TX bytes:4855362 (4.8 MB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:79:02:34
          inet addr:10.0.3.15  Bcast:10.0.3.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe79:234/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:913 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1335 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:129887 (129.8 KB)  TX bytes:150700 (150.7 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:15106 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15106 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:949613 (949.6 KB)  TX bytes:949613 (949.6 KB)

I p4 (ponieważ nie mam stąd dostępu do tej maszyny, podaję ręczne podsumowanie):

etho : only inet6 addr
lo : inet addr : 127.0.0.1 Mask : 255.0.0.0
venet0 : only inet6 addr
vmbr0 : inet addr : 192.168.0.70 BCast : 192.168.0.255 Mask : 255.255.255.0

Pomyślnie połączono dwie podsieci. Po zmianie dostawcy Internetu nie mogę już uzyskać dostępu do podsieci p4. Coś się zmieniło, ale spodziewam się, że powinien to być niewielki problem, ponieważ przed użyciem podsieci działało.

Przeczytałem maszynę wirtualną w dwóch podsieciach , ale sugeruję użycie sieci VLAN . Ale zgodnie z najlepszym sposobem segmentacji ruchu, sieci VLAN lub podsieci? VLAN działa na warstwie sieci 2, a podsieci na warstwie sieci 3. I należy użyć warstwy 3, podsieci.

Powinienem więc mieć bramę między tymi podsieciami.

Według Ubuntu KB - Network Config dodałem do vbox1:

sudo route add default gw 10.10.14.81 eth1

Ale generuje:

SIOCADDRT: Network is unreachable

Wyszukiwanie zwraca tunel lub bramę Ubuntu różnicę między adresem hosta a adresem sieciowym.

Dla twojej informacji, vbox1 to Ubuntu 13.04 (Raring Ringtail), a p4 to Debian 7.5 (Wheezy).

Utknąłem teraz.

Bernard
źródło
3
Nie do końca rozumiem twoje pytanie. Jedno pudełko jest właściwie częścią dwóch podsieci: 192.168.1.0/24 i 10.0.3.0/24. Skrzynka p4 znajduje się w zupełnie innej podsieci. Potrzebujesz co najmniej jednego urządzenia skonfigurowanego do pracy w obu podsieciach, aby móc odbierać pakiety z jednej podsieci i wysyłać je do drugiego. Lub inaczej wyjaśnione: Załóżmy, że jesteś na vbox1 i to ty jesteś odpowiedzialny za wysyłanie pakietów przez sieć: przez jaki interfejs wysyłałbyś pakiety na 192.168.0.70? Czy użyłbyś eth1 czy eth0? vbox1 też nie wie, że ...
TomS
eth1 jest w sieci 10.0.3.X, brama musi znajdować się w sieci lokalnej, nie można dodać 10.10.14.Y jako bramy. jeśli P4 jest tylko ipv6, spróbuj go odkryć ip n , następnie spróbuj fe80::
pingować
@TomS p4 box to rzeczywiście inna podsieć. W tej chwili rzeczywiście vbox1 nie wie, jak uzyskać dostęp. Moje preferencje to dostosowanie vbox1. Jest to klient Virtualbox, więc ustawienia można odwrócić. Moje pytanie brzmi: jak połączyć te dwie różne podsieci?
Bernard
@Archemar p4 to nie tylko ip6, przynajmniej tak mi się wydaje. Widzę adresy w stylu ip4, takie jak 192.168.0.70. Moje preferencje to używanie ip4, co nie sprawia, że ​​jest to bardziej skomplikowane. Dziwne jest to, że podsieci działały przed przejściem na innego dostawcę usług internetowych. Więc zakładam, że powinna to być drobna korekta
Bernard

Odpowiedzi:

8

Przenieś vbox1 do innej podsieci: zmień jego adres IP w eth0 z 192.168.1.65 na 192.168.0.65 (lub inny wolny adres IP w podsieci 192.168.0.0/24). Następnie vbox1 wie, przez który interfejs p4 (192.168.0.70) jest dostępny (-> przez eth0). vbox1 automatycznie dostosowuje wtedy swoją tabelę routingu. Teraz powinieneś mieć dostęp do p4 z vbox1. Jeśli chcesz uzyskać dostęp do p4 z dowolnego dodatkowego klienta w 192.168.1.0/24, musisz skonfigurować vbox1 jako router (tj. Urządzenie, które może przekazywać pakiety przychodzące na eth1 [192.168.1.0/24] do eth0 [192.168.0.0/ 24] (i odwrotnie). To właśnie oznacza „połączenie dwóch sieci”).

Jak to zrobić, zależy od używanej dystrybucji. Zasadniczo musisz wpisać „1” do pliku urządzenia /proc/sys/net/ipv4/ip_forward.

Lubić echo 1 > /proc/sys/net/ipv4/ip_forward

Jest to jednak ważne tylko podczas bieżącego cyklu rozruchu. Ustawienie zniknęło po ponownym uruchomieniu.

Jeśli chcesz to zrobić na stałe, musisz umieścić tę linię w skrypcie startowym. Jeśli używasz Ubuntu, możesz również umieścić to w /etc/sysctl.conf (nie jestem pewien co do innych dystrybucji). Odkomentuj linię net.ipv4.ip_forward=1. Jeśli chcesz, aby to sudo sysctl -w net.ipv4.ip_forward=1zadziałało natychmiast, możesz również wydać zamiast „echo ”wspomnianego powyżej.

Pls. zobacz także ten link na askubuntu.com.

TomS
źródło
Komentarze nie są przeznaczone do rozszerzonej dyskusji; ta rozmowa została przeniesiona do czatu .
Sathyajith Bhat