Komputer pobiera adres IP z serwera DHCP, ale nie ma połączenia z Internetem

1

Zainstalowałem serwer isc-dhcp na Ubuntu 12.10 i próbuję skonfigurować serwer DHCP na węźle głównym dla sześciu komputerów roboczych w sieci lokalnej. Sam węzeł główny jest klientem DHCP odbierającym adres IP 192.168.20.1 (na eth0) z innego komputera w sieci.

Przekazywanie IP IPv4 jest włączone w węźle głównym. W pliku /etc/sysctl.conf dodano następujący wiersz:

net.ipv4.ip_forward = 1

Następujące reguły są ustawione w /etc/rc.local:

/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE

Ponadto, INTERFACES="eth0" jest ustawiony w / etc / default / isc-dhcp-server.

Plik dhcpd.conf zawiera (na razie tylko jeden komputer roboczy znajduje się w pliku):

ddns-update-style none;

default-lease-time 3600;
max-lease-time 7200;

authoritative;

subnet 192.168.20.0 netmask 255.255.255.0 {
  range 192.168.20.2 192.168.20.200
  host hostName {
    hardware ethernet macOfHost;
    fixed-address 192.168.20.20;
  }
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.20.255;
  option routers 192.168.20.1;
}

Węzeł roboczy skutecznie otrzymuje adres IP 192.168.20.20, ale nie ma połączenia z Internetem. Ping do 192.168.20.1 powiódł się, a także ping do komputera, który służy jako serwer DHCP dla węzła głównego (ping do 192.168.1.1). Problem nie wydaje się mieć nic wspólnego z DNS, ponieważ ping do adresu IP (takiego jak 8.8.4.4) nie powiedzie się.

Aktualizacja

Topologia sieci jest następująca. Jest przełącznik łączący komputer (z dostępem do Internetu i uruchomionym serwerem DHCP, adres IP 192.168.1.1) i 7 innych komputerów. Jeden z tych 7 komputerów otrzymuje adres IP z komputera 192.168.1.1. Otrzymywany adres IP to 192.168.20.1, a internet na tym komputerze działa prawidłowo. Teraz mamy serwer DHCP działający na 192.168.20.1, aby zapewnić dostęp do Internetu pozostałym 6 komputerom, ale to się nie powiedzie. Otrzymują adresy IP, ale nie mają dostępu do Internetu. Nie możemy modyfikować niczego w węźle 192.168.1.1, więc powinno być możliwe, aby Internet działał z tą konfiguracją.

Czy ktoś wie, na czym polega problem?

user2611216
źródło

Odpowiedzi:

1

Wszystko działa teraz. Okazało się to problemem DNS; zmienianie option routers do option routers 192.168.1.1 naprawiono problem. Pingi musiały zostać zablokowane gdzieś w sieci, ponieważ odpowiedzi nigdy nie dotarły, ale surfowanie w przeglądarce na konkretny adres IP było możliwe, co uświadomiło mi, że problemem był DNS. Dziękuję wszystkim za pomoc.

user2611216
źródło
0

Wygląda na to, że eth0 to Twój wewnętrzny interfejs. Jeśli tak jest, jaki jest twój zewnętrzny interfejs? Na serwerze „router” zewnętrzny interfejs, a nie wewnętrzny (który powinien przekazywać pakiety), musi mieć MASQUERADE.

johnshen64
źródło
Jest tylko jeden interfejs (eth0) z wyjątkiem pętli zwrotnej.
user2611216
1
w takim przypadku, jak dostać się do Internetu? reguły iptables wskazują, że przekazujesz swój ruch gdzieś z sieci wewnętrznej, ale z tylko jednym interfejsem nie ma dokąd przesyłać dalej.
johnshen64
Sam węzeł główny jest klientem DHCP innego komputera, który również znajduje się w sieci lokalnej. Ten inny komputer jest podłączony do Internetu. Wygląda to mniej więcej tak: 192.168.1.1 (Router i serwer DHCP) - & gt; 192.168.20.1 (inny lokalny router i serwer DHCP) - & gt; 192.168.20.20 (klient DHCP)
user2611216
Czy komputer 20.1 ma dostęp do Internetu? Ponadto komputer 20.1 MUSI mieć dwa interfejsy, jeśli łączysz go z routerem i komputerem 20.20.
trpt4him
Komputer 20.1 ma dostęp do Internetu. Ma jednak tylko jedną kartę sieciową, wszystko jest połączone za pomocą przełącznika.
user2611216