Strona 1 z 1

[+] Nie mogę pingować świata zewnętrznego

: 01 lipca 2009, 14:21
autor: natomiast
Witam.
Dzisiaj rano miałem awarie zasilania czego skutkiem "nieoczekiwanym" jest wyłączeniem się komputera pełniącego role rutera (na Debianie Lenny). Po włączeniu niby wszystko ruszyło jednak nie do końca. Mianowicie nie mogę pingować świata zewnętrznego co wiąże się też z dostępem do paru usług a raczej jego brakiem. Sieci wygląda tak:

Kod: Zaznacz cały

Podsieć 10.0.0.0<-->router<-->Podsieć 172.16.0.0
Ruter ma 3 kartę z podłączonym modemem z internetem. Z rutera wszystko działa poprawnie, można pingować np. onet.pl zarówno po nazwie jak i adresie IP. Natomiast z klienta sieci 172.16.0.0 (sieć 10.0.0.0 nie jest podłączona do internetu) mogę pingować co najwyżej interfejs rutera do którego podłączony jest internet. Dalej już nie idzie. Przekierowanie jest włączone, nawet jest internet (przez Squid3), a pingi nie chodzą. Wszystkie usługi działają ale np. nie mogę ustanowić połączenia z serwerem, na którym znajduję się firmowa poczta (co rodzi niemałą frustrację wśród współpracowników) bo nawet nie mogę pingować jego adresu.
Proszę o pomoc. Podaję parę rzeczy, które mogą się przydać:

Kod: Zaznacz cały

iptables -L -n

Kod: Zaznacz cały

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:3128 dpt:80 
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp dpt:3128 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:3128 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:53 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:53 
ACCEPT     udp  --  172.16.0.0/16        0.0.0.0/0           udp spts:1024:65535 dpt:53 
ACCEPT     tcp  --  172.16.0.0/16        0.0.0.0/0           tcp spts:1024:65535 dpt:53 
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  10.0.0.0/8           0.0.0.0/0           
ACCEPT     all  --  172.16.0.0/16        0.0.0.0/0           

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  172.16.0.0/16        0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:443 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:143 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:110 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:25 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:3306 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:21 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:20 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:8074 
ACCEPT     tcp  --  0.0.0.0/0            172.16.0.0/16       tcp spt:6666 
ACCEPT     all  --  172.16.0.0/16        10.0.0.0/8          
ACCEPT     all  --  10.0.0.0/8           172.16.0.0/16       

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Kod: Zaznacz cały

iptables -L -n -t nat

Kod: Zaznacz cały

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 3128 

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  172.16.0.0/16        0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Kod: Zaznacz cały

route -n

Kod: Zaznacz cały

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
83.3.118.112    0.0.0.0         255.255.255.248 U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth2
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth1
0.0.0.0         83.3.118.113    0.0.0.0         UG    0      0        0 eth0

Kod: Zaznacz cały

cat /proc/sys/net/ipv4/conf/all/forwarding

: 01 lipca 2009, 14:56
autor: Cyphermen
Pytanie, czy podsieć dostaje neta z dhcp czy manualna konfiguracja? Czy obie podsieci mogą się pingować?

Zapisz gdzieś iptables by móc go przywrócić i spróbuj wyczyścić wszystkie tablice po czym ping wp.pl z podsieci.

Spróbuj oczywiście przed Tym wpisać

Kod: Zaznacz cały

iptables -t nat -A POSTROUTING -j MASQUERADE

: 01 lipca 2009, 15:00
autor: natomiast
Cyphermen pisze:Pytanie, czy podsieć dostaje neta z dhcp czy manualna konfiguracja?
Na Debianie jest serwer Dhcp3. Sprawdzałem i działa. Przydziela adresy bez problemu.
Przepraszam ale co ma do tego serwer Dhcp? Problem polega na tym, że:
eth0 -> zewnętrzne ip, eth1 -> ip_podsieci wew.
pakiety nie są przekazywane z interfejsu eth1 do eth2 i na odwrót.
Pozdrawiam

: 01 lipca 2009, 15:03
autor: Cyphermen
Zrób tak jak napisałem wyżej. Może coś pomoże a jeśli nie to może to uszkodzenie mechaniczne na sprzęcie? Aha ustaw wszystkie polityki na ACCEPT.

Możesz spróbować jeszcze wyłączyć dhcp i ustawić interfejsy ręcznie i wtedy zobaczyć czy działa. zawsze wykluczysz pewne rzeczy.

: 01 lipca 2009, 15:12
autor: natomiast
Cyphermen pisze:Zrób tak jak napisałem wyżej. Może coś pomoże a jeśli nie to może to uszkodzenie mechaniczne na sprzęcie? Aha ustaw wszystkie polityki na ACCEPT.

Możesz spróbować jeszcze wyłączyć dhcp i ustawić interfejsy ręcznie i wtedy zobaczyć czy działa. zawsze wykluczysz pewne rzeczy.
Na Debianie wszystkie interfejsy są skonfigurowane ręcznie. Klienci z podsieci 172.16.0.0 korzystają z Dhcp-a na Debianie do uzyskiwania adresów.

: 01 lipca 2009, 15:18
autor: Cyphermen
No to tak jak napisałem postaraj się bez firewalla cokolwiek zrobić wtedy będzie wiadome ze to nie jego wina...

i ustaw na clientach podsieci 172.x.x.x chociażby na jednym ręcznie wszystkie parametry( adres ip maska, default gw) i wtedy zobacz czy cokolwiek działa..

Nie wiem czy to coś pomoże ale możesz jeszcze zamiast przekazywania pakietów tak jak ty masz, wpisać

Kod: Zaznacz cały

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

Ale nie wiem czy to robi różnice

Sprawdź czy interfejs jest na up po stronie serwera i klienta

: 01 lipca 2009, 17:09
autor: natomiast
Dziękuję Cyphermen. Rzeczywiście ustawienie łańcuchów iptables na ACCEPT wyjaśniło sprawe. Trzeba będzie się jeszcze nieco douczyć na ten temat. Ale podobno pierwszy raz zawsze boli?

: 01 lipca 2009, 18:15
autor: Cyphermen
Nie ma za co tylko jeden mankament masz teraz. Jeśli ustawiłeś wszystko na ,,accept'' to tak naprawdę teoretycznie nie masz firewalla. Bo nic nie jest zablokowane chyba ze blokujesz coś w którejś regułce. Przejrzyj wszystkie reguły dokładnie ja to zrobię później to może na coś trafię.

Daj ,,INPUT'' na ,,drop'' z tym że może znowu nie chodzić ci internet. To znaczy że wina leży, w którejś regułce firewalla.

Mam nadzieję że tu jeszcze zajrzysz.

[Dodano: 2009-07-01, 18:27]
Według mnie trochę masz namieszane w IPTABLES ale ja nie jestem jakims specem. Przeczytaj jednak dokładnie to co napisałem w tym poście bo naprawdę teraz teoretycznie nie masz firewalla.