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
Offerte & Coupon
Accedi a Xenforo
Immagine di Recensione Ring Intercom Video: rendere smart i vecchi videocitofoni Recensione Ring Intercom Video: rendere smart i vecchi video...
Immagine di Panasonic Experience, dai TV fino al nuovo giradischi Technics Panasonic Experience, dai TV fino al nuovo giradischi Techni...

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
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.

Le notizie più lette

#1
Vola negli USA per comprare un HDD e risparmia: siamo all'assurdo
4

Hardware

Vola negli USA per comprare un HDD e risparmia: siamo all'assurdo

#2
AWS, l’AI Kiro causa un'interruzione di 13 ore: ha cancellato e ricreato l'ambiente di produzione
1

Business

AWS, l’AI Kiro causa un'interruzione di 13 ore: ha cancellato e ricreato l'ambiente di produzione

#3
Fare domande furbette ai colloqui è inutile, ecco le prove
2

Business

Fare domande furbette ai colloqui è inutile, ecco le prove

#4
Intel lavora alle CPU next-gen a core unico
5

Hardware

Intel lavora alle CPU next-gen a core unico

#5
Dopo 100 anni, la teoria dei colori di Schrödinger è completa
1

Scienze

Dopo 100 anni, la teoria dei colori di Schrödinger è completa

👋 Partecipa alla discussione!

0 Commenti

⚠️ Stai commentando come Ospite . Vuoi accedere?

Invia

Per commentare come utente ospite, clicca triangoli

Cliccati: 0 /

Reset

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

Segui questa discussione

Advertisement

Ti potrebbe interessare anche

Panasonic Experience, dai TV fino al nuovo giradischi Technics
2

Altri temi

Panasonic Experience, dai TV fino al nuovo giradischi Technics

Di Andrea Riviera
Recensione Ring Intercom Video: rendere smart i vecchi videocitofoni

Altri temi

Recensione Ring Intercom Video: rendere smart i vecchi videocitofoni

Di Marco Pedrani
Offerte da leccarsi i baffi: da MediaWorld è il momento giusto per il tuo amico a 4 zampe

Altri temi

Offerte da leccarsi i baffi: da MediaWorld è il momento giusto per il tuo amico a 4 zampe

Di Dario De Vita
Perché questi 4 TV OLED valgono di più dei LED (e costano meno)

Altri temi

Perché questi 4 TV OLED valgono di più dei LED (e costano meno)

Di Dario De Vita
AliExpress: affari lampo in scadenza! Non lasciarti sfuggire questa occasione

Altri temi

AliExpress: affari lampo in scadenza! Non lasciarti sfuggire questa occasione

Di Dario De Vita

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
  • SosHomeGarden
  • Aibay
  • Coinlabs

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

© 2026 3Labs Srl. Tutti i diritti riservati.