# [conf] La rete locale non va! [Risolto]

## ProT-0-TypE

Allora, premetto che prima di cambiare modem (sono passato da usb a ethernet) tutto funzionava benissimo

Ora invece la rete locale va un po male.. fino a poco tempo fa il client mi apriva alcune pagine si, altre no... ora nemmeno quello..

La rete è così strutturata:

Server: Gentoo

2 schede di rete:     eth0: 192.168.100.100 a cui è collegato il modem

                              eth1: 192.168.0.1 a cui è collegato l'altro pc

Client: Winzozz XP

                               eth: 192.168.0.2

Penso proprio che sia un problema di config di gentoo perchè se uso win come server la rete funziona benissimo!

questi sono i comandi che do (prima erano un po di più.. ora li ho ridotti al minimo ma non funziona lo stesso):

```
ifconfig eth1 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up

iptables -F

iptables -X

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

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

```

*Edit:   avevo scritto:

```
iptables -t nat -A POSTROUTING -d ! 192.168.0.0/24 -j MASQUERADE
```

ma era un errore di copia e incolla  :Very Happy: 

ci aggiungo pure un:

```
# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:40:05:8A:6F:29

          inet addr:192.168.100.100  Bcast:192.168.100.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:5442889 (5.1 Mb)  TX bytes:364999 (356.4 Kb)

          Interrupt:10 Base address:0xe000

eth1      Link encap:Ethernet  HWaddr 00:40:05:8A:6F:28

          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:1054 (1.0 Kb)  TX bytes:1157 (1.1 Kb)

          Interrupt:11 Base address:0xe400

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:73 errors:0 dropped:0 overruns:0 frame:0

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

          collisions:0 txqueuelen:0

          RX bytes:3690 (3.6 Kb)  TX bytes:3690 (3.6 Kb)

ppp0      Link encap:Point-to-Point Protocol

          inet addr:80.181.96.36  P-t-P:192.168.100.1  Mask:255.255.255.255

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1

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

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

          collisions:0 txqueuelen:3

          RX bytes:5322292 (5.0 Mb)  TX bytes:265857 (259.6 Kb)

```

e un 

```
# route -en

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

192.168.100.1   0.0.0.0         255.255.255.255 UH        0 0          0 ppp0

192.168.100.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0

192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1

127.0.0.0       127.0.0.1       255.0.0.0       UG        0 0          0 lo

0.0.0.0         192.168.100.1   0.0.0.0         UG        0 0          0 ppp0

```

e già che ci sono ci metto pure la config del client winzozz:

```
 ip: 192.168.0.2

           netmask: 255.255.255.0

           gateway: 192.168.0.1

           dns: 217.141.249.205

                   151.99.125.1

```

Non credo che sia un problema di dns perchè sono gli stessi che ho sulla gentoo, ed in ogni caso ho provato a navigare usando l'ip invece del nome e non funziona lo stesso..

I 2 pc si pingano correttamente

Dove sbaglio?Last edited by ProT-0-TypE on Fri Jul 16, 2004 11:31 pm; edited 2 times in total

----------

## ProT-0-TypE

se al posto del modem ethernet al server attacco l'usb il client naviga e il server no...

----------

## ProT-0-TypE

Altre info:

Il client pinga i siti, ma non li apre nemmeno se uso "i numeri" al posto dei dns.

Sembra che inizi ad aprirli poi si arrende..

Mi hanno detto che:

mi serve il modulo ipt_tcpmss.ko

e devo inserire nel firewall una regola che usa quel modulo per i pacchetti SYN

Domanda: cosa devo abilitare per avere quel modulo?

(il mio kernel è il 2.6.5-gentoo-r1)

----------

## primero.gentoo

 *ProT-0-TypE wrote:*   

> Altre info:
> 
> Mi hanno detto che:
> 
> mi serve il modulo ipt_tcpmss.ko
> ...

 

il modulo in questione serve per settare l'MSS (maximum segment size) , ovvero la massima dimensione che i segmenti , ovvero un "pacchetto" al livello 4 transport, puo' avere.

Evidentemente il tuo problema e' nella dimensione che eccede quella massima sulla tua linea . 

Io personalmente lo uso per le connessioni IPSEC della mia rete Wireless in quanto i pacchetti diventavano troppo grandi e venivano scartati.

Puoi utilizzare l'MSS in due modi, ma considera che e' una specifica opzione del TCP e quindi funzionera' solo con questo protocollo.

Con Iptables :

```

#modprobe ipt_tcpmss

#iptables -t filter -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1400

```

oppure puoi farlo con ip route:

```

#ip route change 192.168.100.1/32 dev ppp0  src 192.168.100.100 advmss 1400

#ip route change default via 192.168.100.1 dev ppp0 advmss 1400

```

Ricontrolla la sintassi perche' l'ho un po inventata dall'output del tuo "route -en". puoi dare semplicemente "ip route" e applicare le opzioni sopra all'output aggiungendo "advmss".

Per quanto riguarda l'mss specifico non saprei ! prova con poco e poi sali finche' non si bloca  :Wink: 

Spero funzioni. 

Ciauz!

----------

## federico

 *Quote:*   

> 
> 
> iptables -t nat -A POSTROUTING -d ! 192.168.0.0/24 -j MASQUERADE 
> 
> 

 

Tanto per iniziare dalle cose facili...

mascheriamo tutti i pacchetti che hanno destinazione -in entrata- diversi dagli indirizzi di rete locale.

Ha senso? No.

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

----------

## ProT-0-TypE

```
iptables -t nat -A POSTROUTING -d ! 192.168.0.0/24 -j MASQUERADE
```

Ops ho sbagliato! Quella era una regola vecchia! 

in realtà uso: 

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

quella è una regola vecchia che usavo con l'usb

comunque con:

```
 iptables -t filter -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452
```

ho risolto! funziona perfettamente!

Però non capisco perchè col modem usb funziona senza quella regola e invece con quello ethernet no... :'(

----------

## ProT-0-TypE

Riapro questo vecchio post perchè ho trovato un metodo alternativo (e più efficace) a 

```
 iptables -t filter -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452
```

Semplicemente basta impostare il valore dell'MTU di TUTTE le interfaccie di rete (ovvero sia del router che dei client) al valore ottimale (nel mio caso 1452)

Per farlo basta editare /etc/conf.d/net in questo modo:

```
config_eth0=("192.168.0.1/24 brd 192.168.0.255 mtu 1452")
```

(ovviamente va fatto per ciascuna interfaccia)

E' anche possibile passare l'mtu via dhcp tramite:

```
option interface-mtu 1452;
```

nel dhcpd.conf del server.

Molto probabilmente dovrete settare nella config dhcp dei client linux una cosa del genere:

```
request subnet-mask, broadcast-address, routers,

domain-name, domain-name-servers,  interface-mtu;
```

[OT] Per impostare l'mtu nei client win XP/2000:

 1. Start/Esegui in esegui digitare regedit. Si aprirà l'editor del registro di configurazione.

Aprite la cartella

HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\SERVICES\TCPIP\PARAMETRES

2. Inserite nuovo valore DWORD nominato TcpWindowSize con il valore trovato. Inserirlo in

forma DECIMALE!

----------

## makami

Mi aggancio al thread per non aprirne un altro.

Sia nel mio pc Linux che nell'altro Windows è presente una scheda di rete 10/100/1000 ma quando prendo un file dall'altro pc o viceversa la velocità di trasferimento non supera  i 10 11 Mbyte al secondo.

Premetto che uso un cavo di rete categoria 6 (compatibile con le gigabit quindi).

Pensavo che la bassa velocità fosse dovuta a un errato valore mtu.

Che valore dovrei impostare per una scheda di rete gigabit?

----------

## ProT-0-TypE

Se non sbaglio l'MTU di una gigabit è 9000. Nel caso prova a cambiare quel valore per vedere se le cose migliorano

----------

## Ilvalle

Ciao io ho avuto un problema simile,

alla fine era un plugin che veniva caricato per collegarmi alla adsl.

Mi permetteva di eseguire il tutto in kernel-mode. 

Eliminato il problema e' sparito

https://forums.gentoo.org/viewtopic-t-393852-highlight-alice+adsl+forwarding.html

Prova a dare un'occhiata.

Paolo

----------

## makami

Se setto l'mtu a 9000 in conf.d/net, eth0 non va, rimane down. stessa cosa con 8000 e 7000, con 6000 invece "va" up ma le prestazioni rimangono le stesse.

Su win il parametro TcpWindowSize era impostato a 65650 (decimale), ho provato a modificarlo in 9000 ma i risultati sono sempre gli stessi.

posto un ethtool eth0:

```
Settings for eth0:

        Supported ports: [ TP ]

        Supported link modes:   10baseT/Half 10baseT/Full

                                100baseT/Half 100baseT/Full

                                1000baseT/Full

        Supports auto-negotiation: Yes

        Advertised link modes:  10baseT/Half 10baseT/Full

                                100baseT/Half 100baseT/Full

                                1000baseT/Full

        Advertised auto-negotiation: Yes

        Speed: 1000Mb/s

        Duplex: Full

        Port: Twisted Pair

        PHYAD: 0

        Transceiver: internal

        Auto-negotiation: on

        Link detected: yes

```

La velocità è 1000 ma non capisco perchè nei trasferimenti ho le stesse prestazioni di una 10/100.. mah..

----------

