# Awaria... sieciówki ??

## Yatmai

Introduction  :Wink: 

Mam stałe łącze po LAN'ie, które dziele sobie poprzez serwer+switch na 3 swoje kompy. Schematycznie: 

```
                                                              /------KOMP1 (Squall)

PROVIDER----------------------SERWER---SWITCH----------------+------KOMP2 (Janette)

                              (Elodie)                        \------KOMP3 (Tatko) 
```

W nawiasach nazwy, żeby sie maszyny nie pomyliły  :Smile:  Elodie jest na Fedorze Core 3, później Debian i obecnie Gentoo. Standardowy komp, 2 sieciówki, całość leci na masqueradzie.

Teraz pora na sam problem, otóż na kompach klienckich net działa bez zarzutu, ale na Elodie co chwile lecą Time Out'y przy próbie wejścia na stronki, z serwerami FTP wogóle nie da sie połączyć (Time Out ;] )P2P bardzo kuleje, w zasadzie to sprawnie działa tylko Kadu. I ta sytuacja jest bez względu na to, czy komputery klienckie korzystają z neta czy nie. Dochodzi do takiego paradoksu, że z Elodie na wp.pl wejść nie moge, ale jak przez ssh połącze sie ze Squall'em (Debian Sarge) i poprzez forwadrowane X'y otworze sobie przegladarke, to wchodzi bez problemu.

Z diagnostyki Ethereal'a i podobnych progsów wyszło, że gdy probuje wejść na stronke www z Elodie, to wysyła do serwera docelowego pakiety SYN, jednak nie dostaje na nie żadnej odpowiedzi. Całosć jest o tyle dziwna, że na kompach klienckich net działa bez zarzutu, a na samej Elodie Time Out'y zdarzają się często, ale bywają wyjątki gdzie udaje sie połączyć. Obrazowo wygląda to tak, że przegladarka przyjmuje żądanie wejścia na strone, mięli tym swoim logosem, na dole pojawia sie, że próbje sie połączyć ze stronką xxx.yyy i próbuje tak aż wywali time out'a. Jak będe próbował refresh'a albo ponowienia żądania, to efekt będzie ten sam, natomist gdy zostawić przeglądarke na 10 minut spokoju, to znów sie dobrze łączy, do czasu aż sie pojawią kolejne time out'y.

Dla pewności też rozłożyłem całego kompa na wszelkie możliwe części i przeczyściłem, poczym składając włożyłem sieciówki w inne sloty, do tego zainstalowałem świeżutkiego Linucha, lecz nic to nie dało. Przekładalem też sieciówki (tak nota bene obie to 3Com'y) do innych komputerow i tam działały poprawnie.

Zamieniłem miejscami Squall'a i Elodie, Squall bez problemu łączył sie z netem, na Elodie dalej pojawiały sie time out'y. Co więcej, wymieniłem w Elodie płyte główną, procka, ram i sieciówki, czyli praktycznie wstawiłem nowego kompa, ale problem pozostał.

Jest to o tyle głupie, że na wszystkich pozostałych kompach net działa bez zarzutu i cholerka kończą mi sie pomysły, co jeszcze moge zrobić  :Sad: 

----------

## mbar

np. podać konfigurację iptables, bo my też jej nie znamy...

----------

## Yatmai

Heh, masz racje, choć móglbym sie założyć, że jest dobra :]

```
admin@tux ~ $ cat /etc/rc.d/rc.free

#!/bin/sh

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

iptables -F -t nat

iptables -X -t nat

iptables -F -t filter

iptables -X -t filter

iptables -t filter -P FORWARD DROP

iptables -A INPUT -i eth1 -j ACCEPT -m state --state ESTABLISHED

#iptables -A INPUT -i eth1 -j LOG -m limit --limit 10/hour

iptables -A INPUT -i eth1 -s 0/0 -d 192.168.9.81/32 -p tcp --dport 631 -j ACCEPT

iptables -A INPUT -i eth1 -s 0/0 -d 192.168.9.81/32 -p tcp --dport 632 -j ACCEPT

iptables -A INPUT -i eth1 -j DROP

iptables -t filter -A FORWARD -s 192.162.0.0/255.255.0.0 -d 0/0 -j ACCEPT

iptables -t filter -A FORWARD -s 0/0 -d 192.162.0.0/255.255.0.0 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.162.0.0/16 -d 0/0 -j MASQUERADE

admin@tux ~ $        
```

Ofkoz eth1 jest iface'm wyjściowym server <---> provider, a eth0 lokalnym server <---> switch <---> klienci :]

Porty 631 i 632 w przypływie łaski wycyganiłem przeportowanie z zewnątrz u providera. A sieć lokalną mam jako 192.162.1.x/16, wiem, że troche dziwne, ale jakoś tak mi sie spodobało  :Very Happy: 

Jest to oczywiście config z serverka i gdy podmieniłem Elodie ze Squall'em miejscami zmieniłem też configa. Klienci tak czy inaczej nie mają skonfigurowanego fw, więc tu nie ma problemu :]

----------

## mbar

Masz stałe IP na eth1? Bo wtedy chyba nie powinieneś używać maskarady, tylko skonfigurować bodajże DNAT (czy SNAT  :Smile: )

Ja mam u siebie tak na ruterze do neostrady:

```

gateway ~ # cat ./ipt_firewall.sh

#!/bin/bash

# prosty firewall + NAT + przekierowanie portów

/etc/init.d/iptables stop

rm /var/lib/iptables/rules-save

# ip forwarding OFF

echo "0" >> /proc/sys/net/ipv4/conf/all/forwarding

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

# firewall flush:

iptables -F

iptables -t nat -F

iptables -t mangle -F

# hardening

iptables -A INPUT -p tcp --dport ssh -i ppp0 -j ACCEPT

iptables -A INPUT -p tcp --dport 21 -i ppp0 -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT

iptables -A INPUT -p tcp -i ppp0 -d 0/0 --dport 0:1023 -j DROP

iptables -A INPUT -p udp -i ppp0 -d 0/0 --dport 0:1023 -j DROP

# rules for NAT:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# port forwarding:

# ms remote desktop --> 10.0.1.31

iptables -t nat -A PREROUTING -p tcp --dport 3389 -i ppp0 -j DNAT --to 10.0.1.31:3389

iptables -t nat -A PREROUTING -p udp --dport 3389 -i ppp0 -j DNAT --to 10.0.1.31:3389

# tlen dc --> 10.0.1.31

iptables -t nat -A PREROUTING -p tcp --dport 443 -i ppp0 -j DNAT --to 10.0.1.31:443

#mss clamping

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1350:5000 -j TCPMSS --clamp-mss-to-pmtu

# ip forwarding ON

/etc/init.d/iptables save

echo "1" >> /proc/sys/net/ipv4/conf/all/forwarding

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

/etc/init.d/iptables start

gateway ~ #

```

----------

## Yatmai

 *mbar wrote:*   

> Masz stałe IP na eth1? Bo wtedy chyba nie powinieneś używać maskarady, tylko skonfigurować bodajże DNAT (czy SNAT )

 

 *mbar wrote:*   

> 
> 
> ```
> 
> # rules for NAT:
> ...

 

Tylko twój fw też bazuje na Masqueradzie :] Niemniej to raczej nie o to biega, bo gdy Elodie stoi jako serwer z wyłączonym całkowicie fw, to też są time out'y :/

----------

## Raku

do tego:

```
iptables -A INPUT -i eth1 -j ACCEPT -m state --state ESTABLISHED
```

przydałoby się jeszcze akceptowanie pakietów RELATED

jestes pewien, że timeouty występują przy czystych łańcuchach w iptables i domyś[/code]lej polityce ACCEPT?

a może DNS nie jest na tej bramie ustawiony? Co jest w /etc/resolv.conf?

----------

## mbar

Ale ja mam maskaradę, bo mam zmienne IP, jak już napisałem - mam neostradę.

----------

## Yatmai

```
tux ~ # cat /etc/rc.d/rc.free

#!/bin/sh

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

iptables -F -t nat

iptables -X -t nat

iptables -F -t filter

iptables -X -t filter

iptables -t filter -P FORWARD ACCEPT

iptables -A INPUT -i eth1 -j ACCEPT -m state --state ESTABLISHED

iptables -A INPUT -i eth1 -j ACCEPT -m state --state RELATED

iptables -A INPUT -i eth1 -s 0/0 -d 192.168.9.81/32 -p tcp --dport 631 -j ACCEPT

iptables -A INPUT -i eth1 -s 0/0 -d 192.168.9.81/32 -p tcp --dport 632 -j ACCEPT

iptables -A INPUT -i eth1 -j DROP

iptables -t filter -A FORWARD -s 192.162.0.0/255.255.0.0 -d 0/0 -j ACCEPT

iptables -t filter -A FORWARD -s 0/0 -d 192.162.0.0/255.255.0.0 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.162.0.0/16 -d 0/0 -j SNAT --to-source 192.168.9.81

tux ~ # 
```

```
tux ~ # cat /etc/resolv.conf

nameserver 194.204.159.1

domain ac

nameserver 204.92.15.211

nameserver 204.92.15.212

nameserver 62.233.128.17

nameserver 86.111.200.12

nameserver 217.17.34.10

nameserver 194.204.152.34

tux ~ #   
```

DNS'y chyba jednak są w porządku  :Very Happy:  To jest listing z Elodie, która właśnie jest podpięta jako serwer.

Powyżej listing iptables'ów po przeróbkach, mbar mam nadzieje, że o to właśnie Ci chodziło  :Very Happy: 

Przy okazji, gdybyś mógł to miałbym prośbe o wyjaśnienie różnicy między Masqueradą, a Snat'em :]

----------

## mbar

Sam bym chciał mieć jasność  :Smile: 

Ja robiłem według http://www.gentoo.org/doc/en/home-router-howto.xml do tego niezbędne modyfikacje dla modemu na USB.

----------

## rasheed

Jesteś pewny, że z kablami wszystko jest ok?

Pozdrawiam.

----------

## Yatmai

No gdyby kabel był winny, to by na wszystkich kompach były problemy, a nie na tym jednym  :Smile: 

W sumie przypomina mi sie rozmowa z providerem, gdy net sie strasznie sypał, niestety to ojciec z nimi gadał, a za wiele sie nie zna, ale z tego co mówili, to u nich niby wygląda to tak, że łącze jest puste, a potem nagle z mojego kompa lecą takie żądania, że router nie nadąża.... Tylko czy gdy wszystko jest powyłączane, a ja tylko chce wejść na google.pl, żadnych więcej requestów, p2p czy innych paści to jest to powód do zapchania łącza ? :]

----------

## mbar

A masz jakieś QoS włączone?

----------

## Yatmai

Geee, a co to jest QoS, skarbie ? [LoTR mi sie udziela  :Very Happy: ]

Edit:

Oki, sprawdziłem a jajku, kilka włączyłem, ale to dopiero teraz :] Generalnie HTB, TTL  i CBQ, ale jeszcze ich nie konfigurowałem :]

..::Milu Edit:

Złączenie postów. 

----------

## mbar

Zastanawiałem się, czy ci czasem jakaś kolejka się nie dławi, ale skoro nie miałeś włączone, to nie powinno być problemu...

----------

## joi_

jak pokażesz wynik działania następujących komend to wtedy będzie można pogadać...

```
ifconfig -a

route -n

arp -n

iptables -L -vn

iptables -L -vn -t nat

iptables -L -vn -t mangle
```

poza tym jeszcze:

```
cat /proc/sys/net/ipv4/ip_local_port_range

host www.wp.pl

ping -c 5 212.77.100.101
```

----------

## Yatmai

A czy to teoretycznie możliwe bo faktycznie router sie dławił ?  :Smile: 

Edit:

ifconfig -a

```
tux ~ # ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:50:DA:44:FD:86

          inet addr:192.162.1.1  Bcast:192.162.255.255  Mask:255.255.0.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:3602434 errors:0 dropped:0 overruns:3438 frame:0

          TX packets:3654451 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:1457506274 (1389.9 Mb)  TX bytes:2959988113 (2822.8 Mb)

          Interrupt:11 Base address:0xd800

eth1      Link encap:Ethernet  HWaddr 00:60:97:AD:09:26

          inet addr:192.168.9.81  Bcast:192.162.9.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:2381829 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2721907 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:1706817328 (1627.7 Mb)  TX bytes:598725420 (570.9 Mb)

          Interrupt:11 Base address:0xdc00

eth2      Link encap:Ethernet  HWaddr 00:00:1C:D3:00:A1

          inet addr:192.162.1.8  Bcast:192.162.255.255  Mask:255.255.0.0

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          Interrupt:11 Base address:0xd400

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:714 errors:0 dropped:0 overruns:0 frame:0

          TX packets:714 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:63566 (62.0 Kb)  TX bytes:63566 (62.0 Kb)

tux ~ # 
```

```
tux ~ # route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.9.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

192.162.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0

192.162.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth2

127.0.0.0       127.0.0.1       255.0.0.0       UG    0      0        0 lo

0.0.0.0         192.168.9.1     0.0.0.0         UG    0      0        0 eth1

tux ~ #  
```

```
tux ~ # arp -n

Address                  HWtype  HWaddress           Flags Mask            Iface

192.168.9.1              ether   00:50:DA:3E:53:06   C                     eth1

192.162.1.6              ether   00:10:5A:21:3C:4C   C                     eth0

192.162.1.4              ether   00:60:97:AD:09:26   C                     eth0

tux ~ #    
```

```
tux ~ # iptables -L -vn

Chain INPUT (policy ACCEPT 2073K packets, 3356M bytes)

 pkts bytes target     prot opt in     out     source               destination        

 278K  391M ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           state ESTABLISHED

    0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           state RELATED

    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.9.81        tcp dpt:631

    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.9.81        tcp dpt:632

22090 3320K DROP       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0          

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination        

2491K  547M ACCEPT     all  --  *      *       192.162.0.0/16       0.0.0.0/0          

2041K 1276M ACCEPT     all  --  *      *       0.0.0.0/0            192.162.0.0/16     

Chain OUTPUT (policy ACCEPT 2387K packets, 4551M bytes)

 pkts bytes target     prot opt in     out     source               destination        

tux ~ #        
```

```
tux ~ # iptables -L -vn -t nat

Chain PREROUTING (policy ACCEPT 430K packets, 26M bytes)

 pkts bytes target     prot opt in     out     source               destination        

Chain POSTROUTING (policy ACCEPT 5645 packets, 349K bytes)

 pkts bytes target     prot opt in     out     source               destination        

 237K   12M SNAT       all  --  *      *       192.162.0.0/16       0.0.0.0/0           to:192.168.9.81

Chain OUTPUT (policy ACCEPT 15612 packets, 748K bytes)

 pkts bytes target     prot opt in     out     source               destination        

tux ~ #        
```

```
tux ~ # iptables -L -vn -t mangle

Chain PREROUTING (policy ACCEPT 9760K packets, 6842M bytes)

 pkts bytes target     prot opt in     out     source               destination        

Chain INPUT (policy ACCEPT 2553K packets, 3978M bytes)

 pkts bytes target     prot opt in     out     source               destination        

Chain FORWARD (policy ACCEPT 7182K packets, 2862M bytes)

 pkts bytes target     prot opt in     out     source               destination        

Chain OUTPUT (policy ACCEPT 2389K packets, 4552M bytes)

 pkts bytes target     prot opt in     out     source               destination        

Chain POSTROUTING (policy ACCEPT 12M packets, 7466M bytes)

 pkts bytes target     prot opt in     out     source               destination        

tux ~ #   
```

I jeszcze:

```
tux ~ # cat /proc/sys/net/ipv4/ip_local_port_range

32768   61000

tux ~ #  
```

```
tux ~ # host www.wp.pl

-bash: host: command not found

tux ~ # ping -c 5 212.77.100.101

PING 212.77.100.101 (212.77.100.101) 56(84) bytes of data.

64 bytes from 212.77.100.101: icmp_seq=1 ttl=122 time=22.6 ms

64 bytes from 212.77.100.101: icmp_seq=2 ttl=122 time=23.1 ms

64 bytes from 212.77.100.101: icmp_seq=3 ttl=122 time=23.7 ms

64 bytes from 212.77.100.101: icmp_seq=4 ttl=122 time=28.1 ms

64 bytes from 212.77.100.101: icmp_seq=5 ttl=122 time=63.6 ms

--- 212.77.100.101 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4012ms

rtt min/avg/max/mdev = 22.635/32.246/63.637/15.818 ms

tux ~ #        
```

Po doinstalowaniu pakietu host:

```
tux ~ # hostx www.wp.pl

www.wp.pl               A       212.77.100.101

tux ~ #  
```

..::Milu Edit:

Złączenie postów. 

----------

## joi_

3 sprawy (2 prawdopodobnie niezwiązane z twoim problemem):

- nie wiem jak jest teraz, ale kiedyś posiadając neostradę należało zmniejszyć MTU sieciówki do 1492 (zamiast standardowego 1500), więc może spróbuj...

- 192.162.1.1 to nie jest prywatny adres (whois pokazuje, że należy do jakiejś holenderskiej firmy)

tylko te adresy są prywatne:

10.0.0.0 - 10.255.255.255,

172.16.0.0 - 172.31.0.0,

192.168.0.0 - 192.168.255.0

- na eth0 i eth2 masz tą samą podsieć - to nie jest dobry pomysł... (a jak widać po statystykach, eth2 w ogóle jest nieużywane, więc nie wiem co chciałeś osiągnąć wkładając jeszcze jedną sieciówkę)

----------

## mbar

Jeśli chodzi o problemy z MTU, to mi pomogła wspomniana już przeze mnie linia:

```
#mss clamping

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1350:5000 -j TCPMSS --clamp-mss-to-pmtu
```

----------

## Yatmai

Zmieniłem adresy sieci wewnętrznej na 192.168.1.x/24. Niby poprzednie ustawienia działały, ale tak na wszelki wpadek  :Smile: 

Co do eth2 to w istocie jest nieużywany, nawet nie ma podpiętego kabla. A po co mi był, no mam zintegrowaną sieciówke na płycie głównej, a wsadziłem dwie sieciówki, żeby na nich postawić ruch sieciowy, tyle tylko, że jako eth1 wykrył właśnie ta zintegrowaną, zamiast drugiej zewnętrznej sieciówki, a nie chciało mi sie confa przerabiać, to zostawiłem tak jak było, bo i tak zamierzałem na tym ustawieniu posiedzieć jedynie kilka dni, aż postawie drugi serwerek (ah ten czas instalacji Gentoo  :Very Happy: )

 *mbar wrote:*   

> Jeśli chodzi o problemy z MTU, to mi pomogła wspomniana już przeze mnie linia:
> 
> ```
> #mss clamping
> 
> ...

 

W nie umieściłem jej w tablesach ponieważ szczerze nie mam pojęcia co i jak to robi, a wolałbym nie robić takich eksperymentów, bo potem ciężko dojść do tego, co jest winowajcą  :Very Happy:  Mógłbym prosić o dwa słowa wyjaśnienia działania ?  :Smile: 

----------

## Yatmai

Tak sobie przeglądam stare posty, wymieniłem serwerek na Cell550+128SDR, postawiłem na tym Gentoo i wszystko śmiga jak należy. Nie wiem tylko czy poprzednik (K6-350+128SDR) był za słaby czy miał jakieś wady ukryte (oddałem kumplowi jako maszynka do grania w Eastern Front'a  :Very Happy: )

Niemniej, dzięki za poświęcony czas  :Smile: 

----------

