ADSL ir līdzsvarots (I)

L jums, ka mēs esam tālu no telefona centrāle (3km.), mums ir problēma, ka mums ir ne vairāk kā 3Mb ADSL, kaut arī tie ir apmēram 5 km. ir tā sliktāk, protams. Mums vairs nav ierobežojumu drīkst pārsniegt šo ātrumu (gan teorētiskā robeža ir aptuveni 5 Mb). Nekas atkārtot ik tik bieži, 256kb, 512KB, 1Mb, 3Mb .... Lai padarītu jautājumus sliktāks, un pat grūti iegūt maksimāli piesātināta, nav pats par sevi pasliktināšanos līnijām vai tāpēc, ka kāds ir sūdzējušies un ir snieguši savus pāris, kas bija labākā stāvoklī, lai apturētu viņu up ... risinājums? Investīciju teorijas: nolikšana "mini-core" (neliels pamatojoties uz sidewalk) par katru pāris blokiem, lai pāris apceļot vara ir samazināta līdz minimumam. Bet tas nenotiks, bet ... nav stimula to darīt, zema blīvuma zonas, lai gan pilsētu ...

Ko mēs varētu darīt? Nu, ja jums ir iespēja vēl viena līnija, noma viena sekundes ADSL un "pievienot tos" pārskatāmā veidā, izmantojot slodzes līdzsvarošana un / vai blīvi sastiprinot.

Līmēšanas aparatūru

Šis risinājums ir noraidīti, tagad, un tā ir visefektīvākā. Ir ADSL maršrutētāju, kas padara to pilnīgi plug & play,ZyXEL . Lai gan tas nebūtu žēlastība, ar GNU / Linux var izdarīt ar ifenslave un iproute2 . Lai gan tas būtu nepieciešams dators ar diviem NICs padarīt par maršrutētāju ... vai "iestrādāts" ar maršrutētāju ... Kā es varu atstāt, lai vēlāk, ļaujiet man ņemt to uz lidot kaut kā.

Šūpoles

Lai ielādētu balansēšana starp diviem ADSL ir pirmais solis ir savienot ar mūsu slēdža vai rumbā, ar divu dažādu fiksētu IP's. Un šī konfigurācija ir vienā un tajā pašā apakštīklā.

Tas nav tas pats, ar vienu pieslēgumu, kas ir summa no diviem ātrumiem. Tas nozīmē, ja lejupielādējat failu, maksimālais datu pārsūtīšanas ātrums jums ir tikai maksimālo, ka jums ļauj savienojumus. Bet uzlabojums ir tas, ka jūs varat lejupielādēt divus failus vienlaicīgi pilnā ātrumā. Vai lejupielādēt failu un skatīties video HD bez lec.

I guess pirmais ADSL vārteju konfigurēta tā, kā jums bija ar savu mašīnu, proti interfeisu eth0 . Rediģēt /etc/network/interfaces un komentēt. Lai gan tas ne vienmēr palīdz mums noteikt, vai balansēšana ir aktīvs.

Let's say mēs šo:

iface eth0 inet static
address 192.168.1.70
netmask 255.255.255.0
#gateway 192.168.1.45 #1er. ADSL
network 192.168.1.0
broadcast 192.168.1.255
auto eth0

Tātad, ja līdzsvarošanas nav aktīva nebūs interneta produkciju.

iproute2

iproute2 , ko es uzskatu, ka ir instalēta pēc noklusējuma Ubuntu (lai gan, ja ne, instalējiet to) ļauj mums darīt visu vēlaties ar maršrutu tīkla saskarnes. Un kā, lai Linux Advanced Routing & Traffic Control ir aprakstīti daži no tās programmas, bet šeit mēs automatizētu to mazliet, un daudz vienkāršāku.

  • Izveidot failu ar nosaukumu, piemēram, balanceo , atzīmējot to par izpildāmā ( chmod +x balanceo ), un ar saturu:
  #! / Bin / bash
 # Ar tech.onagenda.com v.0.8 21/06/2010
 # # #
 ADSL1 = 192.168.1.45 # IP maršrutētāju ADSL1
 ADSL2 = 192.168.1.46 # IP maršrutētāju ADSL2
 eth0 eth1 ) #Lista de interfaces a balancear posibles (Eth. y wifi por ej.) IFACE = (eth0 eth1) # saraksts saskarnes līdzsvaram iespējams (piemēram, Eth. Un wifi.)
 #0: Orientado a conexiones ISEQ = 1 # 0: savienojums orientētu
		      # 1: Package orientētas
 #Peso ADSL1 W1 = 1 # Svars ADSL1
 #Peso ADSL2 W2 = 1 # Svars ADSL2

 echo ""
 echo "Interneta slodzes līdzsvarošanas"
 Usage = "lietojums: $ 0 [restart | conf | palīdzība]

 "$#" -gt 0 ] ; then ja ["$ #"-gt 0], pēc tam
    in ja "$ 1"
        $USAGE ; echo "" ; exit 0 ;; paskaidrojumi) echo "$ izmantošana; echo" "izeju 0;;
        ;; conf) echo "Parādīt pašreizējo konfigurāciju:";
        etc / init.d / networking restart ;; restart) / etc / init.d / tīkla restart;;   
        " Unknow parameter '" $ 1 "'" ; echo " " $USAGE ; exit 1 ;; *) Echo "Nav zināms parametrs" "$ 1" '"echo" $ izmanto, izvešanas 1;                 
     ESAC
 fi

 "" equalize ) Equ = ("" izlīdzina) 

 ${IFACES[*]} par iface ar $ (iface [*])
 do
 => $ADSL1 (x $W1 )/ $ADSL2 (x $W2 ) ( ${EQU[$ISEQ]} )" echo "* $ iface => $ ADSL1 (x $ W1) / $ ADSL2 (x $ W2) ($ (equ [$ ISEQ]))"  
 "$1" ! = "conf" ] ; then ja ["$ 1"! = "CONF"], pēc tam
 dev $iface weight $W1 \ ip maršruta pievienot $ (equ [$ ISEQ]) noklusējuma proto statiskā nexthop pa $ ADSL1 svars dev $ iface $ W1 \
		  weight $W2 ADSL2 nexthop pa $ dev $ iface $ W2 svars
 fi
 darīts 

Mainiet vērtības, kas ir apspriesti skriptu atbilstoši jūsu konfigurāciju. Ncesita komandu sudo

Skripts būs pievienoti pāris parametriem:

  • conf : Displays konfigurācijas un tas nekas.
  • restart : Restart tīklā pirms izveido sarakstā, un kalpo tam, lai atsāktu manuāli no termināla.
  • Un tā kopiju sbin ar sudo cp ./balanceo /sbin lai padarītu to pieejamu visu sistēmu.
  • Visbeidzot ievietot komandrindas /sbin/balanceo uz /etc/rc.local , lai aktivizētu šūpoles, lai startētu datoru.

Attiecībā uz citu komandu izmantot balansēšanas tīkls ir pietiekams, lai mainītu gateway uz IP adresi datoram, ka mums ir konfigur (192.168.1.70 mūsu piemērā)

Grafika kopsavilkumu, kas:

Atzīmē

Ir divi veidi, kā izplatīt paketēm, kas pamatojas uz savienojumiem, nevis equalize ( ISEQ=0 ar skriptu), vai pamatojas uz iepakojumiem ( ISEQ=1 ). Es izvēlējās pakešu komutācijas, ko es pieņemu, ka viņš būs iegūtu vairāk spēle.

Ja jums ir interneta pieslēguma ātrums jūs varat mainīt dažādus weight , lai reaģētu proporcionāli līdzsvarot šos dažādos ātrumos. Piemēram, ja jums ir divas 3Mb ADSL. un 6Mb. tu gribēji, lai dotu vairāk darba uz pēdējo. Just likts W2=2 ir skripts, lai otrais abu paketes tiek nosūtītas katra jānosūta uz pirmo ( W1=1 ).

Diagnoze un problēmas

  • Ja jūs gatavojas līdzsvaru divu 3Mb ADSL., Kā man, nekādu problēmu, izmantojot tikai tīkla interfeisa datorā. Bet, ja jūs izmantojat divas ADSL no 20Mb. Jūs varat būt piesātinājumu problēmas un būtu atsevišķa veltīta NIC.
  • Lai manuāli restart sudo balanceo restart
Pārbaude

Lai redzētu, ka tas ir pareizi konfigurēts:

  $ Ip maršruta Ls
 dev eth0  proto kernel  scope link  src 192.168.1.70 192.168.1.0 / 24 dev eth0 proto kodola darbības jomu saiti src 192.168.1.70 
 .... 
 izlīdzinātu noklusējuma proto statiskā 
	 nexthop caur 192.168.1.45 dev eth0 svars 1
	 nexthop caur 192.168.1.46 dev eth0 svars 1 

Redzēt, ja veiksmīga balansēšana nav tik acīmredzama, kā tas varētu likties, jo mēs ne saņemt ātruma palielinājums no pirmā acu uzmetiena. " Vienkāršākais veids, kā es domāju, ir pārbaudīt traceroute skaidri pateikt mums, ka mūsu lūgumu aiziet ADSL internetu.

Pirmais do sudo iproute flush cache , lai nodzēstu iepriekš izmantots maršrutēšanas.

Pēc tam izvēlieties pāris pazīstamu vietu un izlaidumi traceroutes secīgi. Mēs saņemam kaut kas līdzīgs šim:

  $ Traceroute ubuntu.com
 , 30 hops max, 60 byte packets traceroute uz ubuntu.com (91.189.94.156), 30 apiņu max, 60 baits paketes
  ms 58.432 ms 57.895 ms 1 58 917 ms 192.168.1.45 57 895 ms 58 432 ms
  ..... 
  $ Traceroute google.com
 , 30 hops max, 60 byte packets traceroute uz google.com (209.85.227.103), 30 apiņu max, 60 baits paketes
  ms 50.438 ms 49.959 ms 1 50 891 ms 192.168.1.46 49 959 ms 50 438 ms
 ..... 

Tas arī var darīt to no citiem datoriem tīklā, ir vārti, kas, kā minēts iepriekš. Tikai šajā gadījumā pirmais hop ir vārti un otrais izejas ADSL. Varbūt, ko jūs mēģināt pāris reizes, līdz slēdzis, bet to darīt ir tas, ka labi.

Ja jums ir Windows datoru tīkla izmantošanu komandu tracert ir līdzvērtīga.

Maršruta cache

Maršruti ir kešatmiņā uz brīdi, lai redzētu maršruta kešatmiņu:

  $ Ip-s maršrutā rāda cache 192.168.1.70
 vietējās 192.168.1.70 dev no SRC 192.168.1.70 91.189.94.156 
     1 used 51 age 38sec iif eth0 vietējās cache lietotāji vecumu 51 1 Lietota 38sec IIf eth0
 vietējās 192.168.1.70 dev no SRC 192.168.1.70 209.85.229.104 
     1 used 3 age 113sec iif eth0 vietējās cache lietotājiem 1 Lietota trīs vecuma 113sec IIf eth0
 .... 

Iztukšot kešatmiņu:

  $ Sudo ip maršruta flush cache 

Ja jūs saņemat, piemēram, video vai audio straumēšanas, iespējams, sagriezti jums tukšu cache.

Ja vēlaties komentēt šo lapu darīt ierakstu prezentācija .