image/svg+xml
Logo Tom's Hardware
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Tom's Hardware Logo
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Forum
  • Sconti & Coupon
% Black Friday
%
Accedi a Xenforo
Immagine di Scopri se il tuo THUN preferito è al -50% questo Black Friday Scopri se il tuo THUN preferito è al -50% questo Black Frid...
Immagine di Black Friday 2025: lista completa delle promozioni negozio per negozio Black Friday 2025: lista completa delle promozioni negozio p...

Gestione del traffico

Siamo giunti all'ultima parte di questo tutorial. In questa parte finale, aggiungeremo l'abilità di differenziare l'allocamento del bandwidth tra BitTorrent e altre attività Internet, e di controllare le prestazioni del file server che abbiamo creato.

Advertisement

Avatar di Tom's Hardware

a cura di Tom's Hardware

@Tom's Hardware Italia

Pubblicato il 23/03/2006 alle 11:59 - Aggiornato il 15/03/2015 alle 01:13
Avatar di Tom's Hardware

a cura di Tom's Hardware

@Tom's Hardware Italia

Pubblicato il 23/03/2006 alle 11:59 - Aggiornato il 15/03/2015 alle 01:13
Quando acquisti tramite i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Scopri di più

Gestione del traffico

Finalmente possiamo creare lo script per la gestione del traffico. In questo caso eviterò la teoria, dato che è tutto spiegato nei documenti indicati precedentemente (li avete letti, giusto?)

Procederemo con il creare tre script, uno per iptables per marchiare i pacchetti dati in base alla loro porta di provenienza, uno per il controllo del traffico (tc) in maniera da differenziare le priorità dei pacchetti in base al loro marchio, e uno per resettare lo stato.

Prima di tutto torniamo alla nostra iptables:

  • cd /home/myname
  • mkdir shaping
  • cd shaping
  • iptables-save > blank_iptables

ora creiamo il file di testo:

  • vi marking_packets.sh

Dovrebbe assomigliare a questo:

Mine looks a bit like this:

MARKPRIO1="1"

# Setting priority marks

iptables -t mangle -A OUTPUT -p tcp --sport 22 -j MARK --set-mark $MARKPRIO1

iptables -t mangle -A OUTPUT -p tcp --sport 80 -j MARK --set-mark $MARKPRIO1

iptables -t mangle -A OUTPUT -p tcp --sport 139 -j MARK --set-mark $MARKPRIO1

iptables -t mangle -A OUTPUT -p tcp --sport 138 -j MARK --set-mark $MARKPRIO1

iptables -t mangle -A OUTPUT -p tcp --sport 137 -j MARK --set-mark $MARKPRIO1

Tutto questo marca il traffico SSH, HTTP e Samba come "alta priorità". Tutto il resto è ignorato. Salviamo il file e rendiamo eseguibile con il seguente comando:

  • chmod +x marking_packets.sh

Ora creiamo il file chiamato iptables_quotas.sh, che assomiglierà a questo:

#Constants

# Interface you want to do shaping on

# eth2, eth1 for direct connection; ppp0 or so for dsl

# and other dialup connections (check ifconfig)

IFACE=eth0

# Priority marks

MARKPRIO1="1"

# Rates

LAN_RATE="100mbit"

P2PRATE="200kbit"

PRIORATE4="100kbit"

# Quantum

QUANTUM1="1200"

QUANTUM4="150"

# Burst

BURST1="0k"

BURST4="0k"

CBURST1="0k"

CBURST4="0k"

# Set queue length for IFACE

ifconfig $IFACE txqueuelen 16

# Specify queue discipline

tc qdisc add dev $IFACE root handle 1:0 htb default 104 r2q 1

# Set root class

tc class add dev $IFACE parent 1:0 classid 1:1 htb rate $LAN_RATE burst $BURST1

cburst $CBURST1

# Specify sub classes

tc class add dev $IFACE parent 1:1 classid 1:101 htb rate $LAN_RATE ceil $LAN_RATE

quantum $QUANTUM1 burst $BURST1 cburst $CBURST1 prio 0

tc class add dev $IFACE parent 1:1 classid 1:104 htb rate $PRIORATE4 ceil $P2PRATE

quantum $QUANTUM4 burst $BURST4 cburst $CBURST4 prio 3

# Filter packets

tc filter add dev $IFACE parent 1:0 protocol ip prio 0 handle $MARKPRIO1 fw

classid 1:101

tc filter add dev $IFACE parent 1:0 protocol ip prio 3 handle $MARKPRIO4 fw

classid 1:104

# Add queuing disciplines

tc qdisc add dev $IFACE parent 1:101 sfq perturb 16 quantum $QUANTUM1

tc qdisc add dev $IFACE parent 1:104 sfq perturb 16 quantum $QUANTUM4

Ora rendiamolo eseguible come il file precedente. Se volete resettare iptable e tc, potete utilizzare lo script seguente:

IFACE=eth0

tc qdisc del dev $IFACE root 2> /dev/null > /dev/null

tc class del dev $IFACE root 2> /dev/null > /dev/null

tc filter del dev $IFACE root 2> /dev/null > /dev/null

iptables-restore < blank_iptables

Ora avviamo i due script:

  • ./marking_packets.sh
  • ./iptables_quotas.sh

Ecco fatto! Se avete concluso tutto correttamente non appariranno ne errori ne avvisi. Potete controllare il traffico impostando, per esempio, il LAN_RATE a 10kbit e cercare di copiare un file dall'xbox tramite la rete, e noterete quanto è lento.

Complimenti, ecco che avete per le mani un potente NAS. Ci sono molte cose che possono essere fatte con questo progetto. Potete utilizzare due grossi hard disk anziché un drive da 2.5". Perché non aggiungere anche le funzionalità RAID? O magari abbinare un modem USB per donare alla Xbox le funzionalità di router! Insomma, le possibilità sono infinite.

👋 Partecipa alla discussione! Scopri le ultime novità che abbiamo riservato per te!

0 Commenti

⚠️ Stai commentando come Ospite . Vuoi accedere?

Invia

Per commentare come utente ospite, clicca cerchi

Cliccati: 0 /

Reset

Questa funzionalità è attualmente in beta, se trovi qualche errore segnalacelo.

Segui questa discussione

Advertisement

Ti potrebbe interessare anche

Black Friday 2025: lista completa delle promozioni negozio per negozio

Altri temi

Black Friday 2025: lista completa delle promozioni negozio per negozio

Di Dario De Vita • 1 giorno fa
Scopri se il tuo THUN preferito è al -50% questo Black Friday

Altri temi

Scopri se il tuo THUN preferito è al -50% questo Black Friday

Di Dario De Vita • 1 giorno fa
Reolink mette gli sconti sulle telecamere giuste per te. Approfitta del Black Friday!

Sponsorizzato

Reolink mette gli sconti sulle telecamere giuste per te. Approfitta del Black Friday!

Di Dario De Vita • 1 giorno fa
Black Friday su Amazon: tutte le migliori offerte in tempo reale
1

Altri temi

Black Friday su Amazon: tutte le migliori offerte in tempo reale

Di Dario De Vita • 15 minuti fa
Serie X o Serie T? Ecco gli ECOVACS da scegliere ora!

Sponsorizzato

Serie X o Serie T? Ecco gli ECOVACS da scegliere ora!

Di Antonello Buzzi • 1 giorno fa

Advertisement

Advertisement

Footer
Tom's Hardware Logo

 
Contatti
  • Contattaci
  • Feed RSS
Legale
  • Chi siamo
  • Privacy
  • Cookie
  • Affiliazione Commerciale
Altri link
  • Forum
Il Network 3Labs Network Logo
  • Tom's Hardware
  • SpazioGames
  • CulturaPop
  • Data4Biz
  • TechRadar
  • SosHomeGarden
  • Aibay

Tom's Hardware - Testata giornalistica associata all'USPI Unione Stampa Periodica Italiana, registrata presso il Tribunale di Milano, nr. 285 del 9/9/2013 - Direttore: Andrea Ferrario

3LABS S.R.L. • Via Pietro Paleocapa 1 - Milano (MI) 20121
CF/P.IVA: 04146420965 - REA: MI - 1729249 - Capitale Sociale: 10.000 euro

© 2025 3Labs Srl. Tutti i diritti riservati.