Nie można uzyskać dostępu do komputera w odizolowanej sieci


0

Mam komputer stacjonarny z systemem Windows w mojej firmowej sieci LAN z 2 kartami sieciowymi i wybrałem oba adaptery i zmostkowałem je w opcjach sieciowych. Mam także komputer z Linuksem z 2 kartami sieciowymi, a pierwszy skonfigurowałem, aby uzyskać DHCP w firmowej sieci LAN, a drugi - statyczny adres IP w sieci izolowanej. Zmodyfikowałem trasę na komputerze z systemem Linux, aby korporacyjny ruch sieciowy wychodził z pierwszej karty sieciowej (eth0), a ruch do izolowanej sieci - drugi (eth1). Mogę więc uzyskać dostęp do obu sieci na komputerze z systemem Linux.

                  Windows               
            +-----------------+    
10.x.x.x <- | NIC1 -+         |                          Linux
            |       | bridged |              +----------------------------+
            | NIC2 -+         |<-->switch<-->| NIC1 (DHCP 10.x.x.x)       |
            +-----------------+              |                            |
                                             | NIC2 (static 192.168.1.50) |<----> 192.168.1.x
                                             +----------------------------+

Ale muszę uzyskać dostęp do serwera WWW w sieci LAN 192.168.1.x z komputera z systemem Windows i utknąłem. Mam skonfigurowany system Windows do łączenia połączeń, więc działa jak zwykły przełącznik. Dodałem trasę do Windows, aby przekazać ruch 192.168.1.x do Linux NIC1. Widzę, że używając tethereal Linux NIC1 odbiera pakiety http z okna Windows na NIC1.

Jak teraz przekierować ten ruch do NIC2, aby przechodził do sieci 192.168.1.x i mógł odbierać odpowiedzi? Myślę, że muszę zmienić linux box na router. Próbowałem więc dodać kilka reguł iptables:

 Chain INPUT (policy ACCEPT)
 target    prot opt source               destination
 ACCEPT    all  --  10.6.100.0/22        192.168.1.0/24
 ACCEPT    all  --  192.168.1.0/24       10.6.100.0/22

 Chain FORWARD (policy ACCEPT)
 target    prot opt source               destination
 ACCEPT    all  --  10.6.100.0/22        192.168.1.0/24   // (-o eth1)
 ACCEPT    all  --  192.168.1.0/24       10.6.100.0/22    // (-o eth0)

 Chain OUTPUT (policy ACCEPT)
 target    prot opt source               destination

Zakładam, że zrobiłem coś złego, ponieważ podczas uruchamiania iptables z opcją --verbose nie widzę ani polityki INPUT, ani FORWARD przetwarzającej żadnych pakietów.

Włączyłem także tryb promiscuous na eth0 i eth1 z ipconfig.

Chciałbym, aby to działało z istniejącym sprzętem i topologią. Komputer z systemem Windows jest tam, gdzie jest, ponieważ potrzebuję go do wykrywania ruchu wchodzącego i wychodzącego z izolowanej sieci w celu debugowania sprzętu.

Jak mogę to osiągnąć, jak chcę?


1
Nie znam dokładnej odpowiedzi, ale patrzysz na niewłaściwą tabelę w iptables. Powinieneś dodać iptable reguły NAT do NAT pakietów 10.x.x.x na 192.168.x.x Nie pamiętam składni iptables, ale google na iptables -t NAT na przykład
Andrew Keith

nie, on nie potrzebuje NAT
user23307

Odpowiedzi:


1

Myślę, że zapomniałeś aktywować przekazywanie IP na linuxowym pudełku. możesz to sprawdzić, wydając polecenie

cat /proc/sys/net/ipv4/ip_forward

jeśli to daje '0' przekazywanie IP jest wyłączone. aby go włączyć, wydaj następujące polecenie:

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

zauważ, że będzie to trwało tylko do następnego ponownego uruchomienia. jak uczynić ten trwały zależnym od dystrybucji. większość dystrybucji ma plik o nazwie /etc/sysctl.conf. jeśli ten plik istnieje, otwórz go za pomocą vi i sprawdź linię

net.ipv4.ip_forward = 0

zmień 0 na 1 i najprawdopodobniej umożliwi to przekazywanie IP przy następnym uruchomieniu komputera. pamiętaj, aby sprawdzić po ponownym uruchomieniu komputera.

uwaga na twoich iptables: łańcuchy mają następujące znaczenie:

  • INPUT odbiera pakiety przeznaczone do samego linuxa (więc nie zobaczy pakietów linuxowych do przodu)
  • FORWARD odebrał pakiety, które linux przekazuje do innych systemów - więc nie zobaczy pakietów przeznaczonych dla samego linuxa
  • OUTPUT jest przekazywany tylko przez pakiety pochodzące z samego linuksa (np. Generowane z lokalnego procesu, takiego jak polecenie ping lub podobne)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.