# Problem z siecią (dns, nat)

## ath4r

Witam. Od paru dni mam problem z siecią. Po którymś update nie chce mi działać udostępnianie połączenia internetowego w sieci, sieć jako sieć działa np samba, pingi z 192.168.0.1 odpowiadają. Niewiem czy to kwestia konfiguracji dns (uzywam dnsmasq) czy iptables ale w iptables nie ruszałem nic. A zeby bylo fajnie to pod windowsem 2003 wszystko dalej działa jak powinno.

iptables:

```
#!/bin/bash

iptables -F

iptables -F -t nat

iptables -X -t nat

iptables -F -t filter

iptables -X -t filter

iptables -P FORWARD ACCEPT

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

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

for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d 0/0 -j MASQUERADE
```

dnsmasq (tylko jedna linia-dhcp):

dhcp-range=192.168.0.2,192.168.0.49,12h

```
cat /etc/resolv.conf 

# Generated by dhcpcd for interface eth1

search home.aster.pl

nameserver 212.76.39.211

nameserver 212.76.33.138

nameserver 212.76.33.137
```

szczerze mowiac niewiem jaki moze byc tego powod.. bede wdzięczny za jakieś sugestie

----------

## lsdudi

1.ping na zewnetrzny server z podsieci (po ip)

2.route

3.na windows pod cmd wykonaj komende ipconfig  :Smile:  i porównaj co masz w resolves.conf

----------

## ath4r

atar pawel # route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.0.0     *               255.255.255.0   U     0      0        0 eth0

.               *               255.255.252.0   U     0      0        0 eth1

loopback        *               255.0.0.0       U     0      0        0 lo

default         .               0.0.0.0         UG    0      0        0 eth1

co do ipconfig - to samo co w resolv.conf

pingi z laptopa do neta tez nie działają (do serwera tak)

----------

## lsdudi

 *ath4r wrote:*   

> 
> 
> pingi z laptopa do neta tez nie działają (do serwera tak)

 

no to problem wogóle z forwadowaniem

btw uzywaj znacznika code

odpalałeś skrypt z łapki czy robi się automatycznie?

----------

## bartmarian

jezeli domyslna brama jest na 0.0.0.0 to... to co ja mam dodac...  :Wink: 

----------

## ath4r

 *Quote:*   

> btw uzywaj znacznika code 

 

zapomnialem ;>

 *Quote:*   

> 
> 
> odpalaĹeĹ skrypt z Ĺapki czy robi siÄ automatycznie?
> 
> 

 

iptables? automatycznie

 *Quote:*   

> jezeli domyslna brama jest na 0.0.0.0 to... to co ja mam dodac... 

 

coz.. na twoim miejscu powiedzial bym jak to rozwiazac.. nie znam sie zabardzo na sieciach, skrypt iptables jakos napisaĹem z roznych turtoriali, chodzilo przez caly czas wiec co.. nagle domyslna brama ustawiona na 0.0.0.0 dala o sobie znac?

----------

## arek.k

 *bartmarian wrote:*   

> jezeli domyslna brama jest na 0.0.0.0 to... to co ja mam dodac... 

  Może ja nie do końca rozumiem powyższy wynik route, ale 0.0.0.0 to nie adres bramy tylko maska. Za rzadko używam route i pewnie dlatego nie kapuję tych kropek zamiast adresu dla eth1.

IMHO coś jest nie tak z tym pierwszym DNSem w /etc/resolv.conf. Jakoś mi się nie podoba.

Daj wynik 

```
dig @212.76.39.211 google.pl
```

U mnie po wstawieniu 212.76.39.211 niby pinguje np. goolgle, ale jakoś kiepsko mu to idzie. Standardowo próbuje pierwszy DNS, czeka i w obliczu klęski próbuje drugi i tak w kółko. U ciebie też ping powinien działać, tylko...wolno  :Wink: .

Nie jestem pewien, ale problem powinno rozwiązać zahashowanie pierwszego DNS w resolv.conf (lub chociaż przesunięcie go niżej).

Spróbuj zmienić plik 

```
# nano /etc/resolv.conf

# Generated by dhcpcd for interface eth1

search home.aster.pl

#nameserver 212.76.39.211

nameserver 212.76.33.138

nameserver 212.76.33.137
```

Następnie spinguj np. google.pl

EDIT:

Nie do mnie może należy upominanie, ale popraw kodowanie powyżej, bo prawie oślepłem jak to zobaczyłem.

----------

## lsdudi

 *Quote:*   

> iptables? automatycznie

 

tzn czy skrypt odpala sie za pomocą init'a podczas startu systemu przykładowo

----------

## ath4r

Sory za pl znaki ale pod win pisalem

 *Quote:*   

> tzn czy skrypt odpala sie za pomocą init'a podczas startu systemu przykładowo

 

odpala sie normalnie przez /etc/init.d/iptables, choc watpie zeby to była wina iptables skoro jak mowiłem nic nie ruszałem w nim i działało, no a raczej samo sie zmienic nagle nie mogło  :Wink:  czego nie mozna powiedziec o dns'ach

 *Quote:*   

> Daj wynik
> 
> Kod:
> 
> dig @212.76.39.211 google.pl

 

niewiem co to za dig albo w jakim pakiecie jest ale nie mam tego, ale mniejsza o to, zahaszowałem/przeniosłem na koniec pliku ten pierwszy DNS, nic nie dało, wylaczylem dhcp, wpisalem recznie wsio, sieć jak chodziła tak chodzi, ping z 192.168.0.1 działa (taki tez adres dns ustawiłem), ale np pingi z 212.76.39.211 czy innych recznie wpisanych adresów nie dochodza... to juz chyba nie zadanie dns'a? (o ile dobrze rozumiem dns tłumaczy "onet.pl" na taki adres wiec chyba reczne wpisanie powinno zadziałać?), po wpisaniu innego dnsa w win (212.76.33.137) tez nie chodzi (jego tez nie moge spingowac)

wiec niewiem co to moze byc  :Neutral: 

tak z ciekawosci.. da sie jakos udostepnic połączenie internetowe bez iptables?

----------

## ch4os

Tak, posrednio za pomoca proxy (np. 3proxy). Ale wtedy sa problemy z poczta i czasem dostepem do serwerow wymagajacych ssl.

----------

## arek.k

 *ath4r wrote:*   

> niewiem co to za dig albo w jakim pakiecie jest

  Dig służy do odpytywania serwerów dns, a jest w pakiecie net-dns/bind-tools (ale to nie ważne).

 *ath4r wrote:*   

> zahaszowałem/przeniosłem na koniec pliku ten pierwszy DNS, nic nie dało

  Z twojego opisu problemu wywnioskowałem, że masz problem z dns. Jak widać chodzi o coś innego.

Przedstw może pokrótce twoją sieć w stylu: 

```
INTERNET

     |

Komputer-router (linux, ip 1.1.1.1)

     |

     |

----------

## ath4r

Sieć mam praktycznie taką samą jak opisałeś.. no moze poza adresami IP

router pod linuxem, do jednej karty wchodzi internet (dhcp), z drugiej wyjście na sieć, wczesniej stał switch, teraz tylko jeden kabel do laptopa (lub acces pointa)

ip routera: 192.168.0.1

ip pod windowsem:

192.168.0.2 (lub dowolny inny skoro i tak tylko jeden komputer jest), dns ustawiam na 192.168.0.1, brame tez, odpaliłem tez dhcp z dnsmasq'a ale tez nie chce chodzić

co do pingów tak jak mówiłem, pingi z serwera do laptopa (ping 192.168.0.2), i z laptopa to serwera też (ping 192.168.0.1), na serwerze (ktory jednoczesnie jest tez desktopem ;]) net działa bez problemu, natomiast pod laptopem nic nie wychodzi na swiat, ale sieć działa normalnie (np wymiana plików przez sambe)

dla pewnosci jeszcze jeden config:

```
cat /etc/conf.d/net

config_eth0=( "192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0" )

config_eth1=( "dhcp" )

```

 *Quote:*   

> Np. routery sprzętowe (nie na systemie linux) z obsługą nat - większość (wszystkie?) .

 

no cośty   :Very Happy:  wlasnie w tym sęk ze nie chce kupowac zadnego routera skoro i tak komp mi chodzi 24 wiec moge tutaj udostepniac  :Smile: 

----------

## lsdudi

dopal z palca /etc/init.d/iptables

----------

## ath4r

A co to ma dac skoro firewall jest juz odpalony. Zreszta juz tego próbowałem, i wszelkich innych kombinacji z przeładowywanie eth0, eth1, dnsmasq i iptables

----------

## lmmsci

Spróbuj dorzucić

```
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
```

do skryptu z iptables (tam gdzie jest coś podobnego) na routerze. Czy mógłbyś pokazać konfigurację dhcp na routerze?

----------

