Προς το περιεχόμενο

FreeBSD kai Channel Bonding of 2 ADSL lines


bigbrother

Προτεινόμενες αναρτήσεις

Δημοσ.

Paidia mhpos gnorizete kapoion tropo oste na enosw 2 ADSL grammes se mia (me diplasio bandwidth), xoris yposthrixh apo ton ISP?

 

Exw psaxei/rothsei arketa alla h lysh pou lene (me netgraph) den me ikanopoiei afou 8elei na kanei allages kai o ISP.

 

 

Genika, pws ginetai an exoume 2 DSL grammes se mia etairia na tis enosoume se 1 me diplasio bandwidth? Or kalutera einai na poume poia PC 8a bgainoun apo ti mia grammh kai poia apo thn allh? Or diaforetika poies yphresies 8a dromologuntai apo to ena interface (1st modem) kai poies apo to allo? (2nd modem)?

 

thankx!!!

  • 2 εβδομάδες αργότερα...
Δημοσ.

ego tha sou apantiso ligo apla.to na xoriseis ta services auto tha ginei oxi apo to litourgiko ennoite alla to kathe pc tha bgenei me alli gateway exo.mono auto mporeis na kaneis.alla i kaliteri lisi einai ena modem tis cisco(Tha skaseis arketa lefta) to opoio ennonei 2 grammes se ena interface opos xero.den xriazetai kamia allagi apo ton provider.apla 2 grammes adsl kai to modem kanei ta ipoloipa.montelo den xero apla exo akousei oti iparxei.den to exo dei pote os tora.tha rotiso kiolas kai tha enimeroso.

Δημοσ.

Είχα κοιτάξει μια τέτοια λύση (hardware) παλιότερα αλλά από ένα ψάξιμο που είχα κάνει τότε (~6 μήνες πριν) δεν έμεινα ικανοποιημένος. Βασικά παντού διάβαζα ότι το hardware δεν μπορεί να διαχειριστεί τόσα πακέτα με αποτέλεσμα να μειώνεται κάπως η απόδοση των γραμμών.Τα Windows 2003 έχουν το Network Load Balancing για αυτή τη δουλειά όπως επίσης και τα Linux/xBSD που έσυ αναφέρεσαι αλλά δυστυχώς λεπτομέρειες ρυθμίσεων δεν γνωρίζω.

Δημοσ.

το πρόβλημα δεν είναι στο hardware (ίσα-ίσα και σε εναν 486 μπορείς να έχειςι μερικά Mbps άνετα), αλλά στον διαχωρισμό της εισερχόμενης κίνησης και στην διαχείρηση των "σπασμένων" πρωτοκόλλων (ftp,voip,IRC,DCOM,κλπ κλπ).

Δημοσ.

Euxaristw gia tis apanthseis sas

 

Σε πρώτη φάση θα με ενδιέφερε το να χωρίζω IPs και όχι πακέτα (κάτι το οποίο είναι πάρα πολύ δύσκολο). Πιστεύω ότι είναι το πιο εύκολο (για την ώρα...ας παίξει το δίκτυο και μετά τα πειράματα....)

 

Έτσι θα ήθελα π.χ. να κάνω τα PC που έχουν IP 192.168.1.1 - 192.168.1.127 να βγαίνουν απο το modem 1 ενώ τα υπόλοιπα PC (που είναι στο υπόλοιπο range) να βγαίνουν μέσω του modem 2.

 

Σε περίπτωση που δε γνωρίζετε FreeBSD εσείς πως θα το κάνατε αυτό σε οποιοδήποτε λειτουργικό; Σκεφτείτε ότι όλο το LOCAL lan βρίσκεται στο ίδιο το switch και ο δρομολογητής έχει μια κάρτα δικτύου για να συνδέεται με το LAN.

 

 

 

(Θέματα για λίγο πιο προχωρημένους)

Τέλος, η κατάσταση είναι λίγο πιο περίπλοκη που σας λέω κάτι που πιστεύω καθιστά αδύνατη τη λειτουργία γεφύρωσης (bridged) των ADSL interfaces με τη κάρτα δικτύου του LAN για διαφορετικά subnets:

α) ο δρομολογητής FreeBSD θα έχει WEB proxy και DNS Server (άρα πρέπει να έχει IP για να τον βλέπουν...)

B) ο δρομολογητής FreeBSD κάνει και NAT για τα υπόλοιπα PC (δεν βγαίνουν όλα τα PC με πραγματικές διευθύνσεις)

 

 

 

Σας ευχαριστώ για τον κόπο σας όλους σας.....Συνεχίζω τα πειράματα και αν προκύψει κάτι θα το ποστάρω....

 

BB

Δημοσ.

Αυτό το 2ο που περιγράγεις δεν είναι LB αλλά Policy-routing και είναι απλό να γίνει, αλλά έχει τα εξής μειονεκτήματα:

 

1. Μπορεί σε μια adsl γραμμή να μην βγαίνει bit (100% idle) αλλά σε άλλη γραμμή να σέρνονται.

2. Αν πέσει μια adsl γραμμή (δεν είναι εγγυημένη) έχεις το ποσοστό που βγαίνει από την γραμμή αυτή down.

 

Να ενα τυπικό παράδειγμα με pf που μπορείς να πειραματιστείς :

 

>
lan_net = "192.168.1.0/24"
lan1 = "192.168.1.0/25"
lan2 = "192.168.1.128/25"

int_if  = "fxp0"
ext_int = "fxp1"

ext_if1 = "ngeth0"
ext_if2 = "ngeth1"
ext_gw1 = "192.168.2.1"
ext_gw2 = "192.168.2.5"

#NAT
nat on $ext_if1 from $lan_net to any -> ($ext_if1)
nat on $ext_if2 from $lan_net to any -> ($ext_if2)
#INTERNAL
pass out quick on $int_if from $lan_net to $lan_net
pass in quick quick on $int_if from $lan_net to $lan_net

#POLICY ROUTING
pass in on $int_if route-to  ($ext_if1 $ext_gw1) from $lan1 to any keep state
pass in on $int_if route-to  ($ext_if2 $ext_gw2) from $lan2 to any keep state

pass in on $ext_if1 reply-to  ($ext_if1 $ext_gw1) from any to $lan1 keep state
pass in on $ext_if2 reply-to  ($ext_if2 $ext_gw2) from any to $lan2 keep state

pass out on $ext_if1 from any to any keep state
pass out on $ext_if2 from any to any keep state

pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any 
pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any 

 

μπορείς να το αλλάξεις και να το εφαρμόσεις σε (netgraph)virtual-ethernets

(ngeth0,ngeth1) που θα έχεις κάνει (netgraph)bridged πάνω στο physical εξωτερικό

σου interface(fxp1). Μετά σηκώνεις ότι web+DNS proxy+servers στο lo0, βάζοντας

μερικούς (nat)redirect rules στο $int_if.

 

 

Επιπλέον, κάποιες ολοκληρωμένες LB λύσεις κάνουν (τουλάχιστον) τα εξής:

1. Διαμειρασμό κίνησης σε επίπεδο session. (όχι src-IP ούτε πακέτου)

2. Αναγνώριση και δρομολόγηση των "σπασμένων" πρωτόκολλων.

3. Monitoring στα link-states και αναδρομολόγηση της κίνησης από τα "ζωντανά" links.

 

Αν θελήσεις να έχεις τα 3/3 από τα παραπάνω χωρίς OSPF/BGP δεν είναι καθόλου εύκολο

και δεν υπάρχει κάτι ετοιμο (απ όσο ξέρω) αυτην την στιγμή που μιλάμε. Η cisco σου

λέει να πας υποχρεωτικά σε OSPF ή BGP (το οποίο σημεπάγεται συμφωνία με τον ISP και μισθωμένο κύκλωμα).

Δημοσ.

Hi,

 

Exw kapoio problhma me to ipfw forward...

 

Ta paketa mpainoun apo th grammh 2 kai feugoun apo th grammh 1 (eprepe na feugoun apo thn idia grammh poy mpainoun)

 

.....

 

 

Sygkekrimena exw ta parakatw rules

 

[default route, outside interface em0]

[outside interface 2: em1]

[local lan: em2]

 

 

 

divert 8669 log logamount 40 ip from any to 62.169.233.213 in via em1

divert 8669 log logamount 40 ip from 192.168.3.213 to any out

fwd 62.169.233.209 log logamount 40 ip from 62.169.233.213 to any out

 

 

to natd to trexw os:

 

natd -v -f /scripts/natd.conf -n em1 -p 8669 -redirect_address 192.168.3.213 62.169.233.213

 

 

 

 

Etsi 8elw to mhxanhma 192.168.3.213 (esoteriko lan) na allazei thn IP se 62.169.233.213 kai na to proo8ei sto gateway 62.169.233.209.

 

To default gateway to systhmatos einai h allh grammh.

 

 

Auto pou exw kataferei na ginetai einai na erxontai ta paketa sth grammh 2 [62.169.233.213] na phgainoun sto NATD na allazoun se 192.168.3.213 na ftanoun sto PC me thn sosth esoterikh dieu8ynsh.

 

OMOS

 

Otan ta paketa feugoun apo to 192.168.3.213 pane sto freebsd kai meta allazoun thn IP tous (apo to natd rule)

 

Out {default} 0000ffff[iCMP] [iCMP] 192.168.3.213 -> 193.92.243.26 0(0) aliased to [iCMP] 62.169.233.213 -> 193.92.243.26 0(0)

 

alla meta blepw oti to IPFW ta proo8ei (forward) apo la8os interface

 

 

Forward to 62.169.233.209 ICMP:0.0 62.169.233.213 193.92.24

3.26 out via em0

 

 

 

[PROSOXH!!! via em0 eno eprepe na einai via em1]

 

 

 

 

Exw to exhs routing table:

 

default 192.168.1.1 UGS 0 35645 em0

62.169.233.209 00:0d:88:fa:95:1e UHLW 0 18 em1 1179

192.168.3 link#3 UC 0 31 em2

 

 

 

 

 

 

 

Koitaxte kai to route get ti dinei:

 

route get 62.169.233.209

route to: ipa209.233.tellas.gr

destination: ipa209.233.tellas.gr

interface: em1

 

 

 

 

Giati symbanei auto? Ennoeitai oti ta paketa afou feugoun apo to la8os interface xanontai sto diktuo.

 

Exw epibebaiwsei meso TCPDUMP sta interfaces em0 em1 oti ta paketa mpainoun apo to em1 kai feugoun apo to em0...

 

 

Please help me...

 

Exw psaxei edw kai para para polles ores na brw lysh alla den exw kataferei akomh....

 

exw dokimasei para polla pramata....Mhpos exei kaneis kanei kati paromoio kai epaixe?

 

 

(xrhsimopoiw IPFW , an kapoios xerei tous parapanw kanones na tou skanei se IPF kai paixei 8a 8ela na tous dokimasw)

 

thanx!!!

Δημοσ.

χωρις τις ακρως απαραίτητες πληροφορίες, πως είναι δυνατόν να σε βοηθήσουμε

σε ένα τόσο "δύσκολο" project (ούτε με cisco router δεν γίνεται).

 

#dmesg -a

#ipfw show

#kldstat -v

#sysctl -a

#ifconfig -a

#netstat -anr

Δημοσ.

File mou molis mporesw na xanapw sto box 8a sou pw....

Exw ftiaxei mia lysh h opoia einai arketa paraxenh...

 

 

Basika ebala to forward rule ena bhma pio panw kai allaxa to default route

 

 

dhladh

 

----------------------------------------------------------------------

ipfw add forward 192.168.1.1 all from 192.168.3.0/25 to any out via em1

ipfw add divert all from any to any via em1

-----------------------------------------------------------------------

 

kai ebala os default route to next hop tou em1 (to 62.169.233.209)

 

 

Etsi exw kataferei to exhs:

 

a) paketa apo to diktuo 192.168.3.1 - 192.168.3.126 ginontai forward (meso tou em0) sto 192.168.1.1 to opoio einai enas CISCO 836 router o opoios exei 1-1 STATIC NATD gia 16 diey8ynseis pou mas exoun dosei (a' DSL grammh)

 

(tou typou: ip nat inside 192.168.3.1 62.169.233.180 )

 

B) ola ta ypoloipa paketa tou diktou (192.168.3.128 - 192.168.3.255) feugoun mesa apo to neo default route (dhladh meso tou interface em1) afou prota ginoun NATD meso tou divert socket. Sto natd exw 1-1 static apeikonish me "redirect_address" entoles tou typo

redirect_address 192.168.3.200 62.169.233.211

(ktl ktl)

 

 

 

ifconfig em0: 192.168.1.1

ifconfig em1: 62.169.233.210 (h sygkekrimenh IP den ginetai redir)

ifconfig em2: 192.168.3.100

defaultroute: 62.169.233.209 (to opoio brisketai sto interface em1)

 

Exw FreeBSD 5.3 Stable

Oi kartes diktou einai oles Intel.

----------------------------------------------------------------------------

 

 

 

To shmantiko probklhma pou exw einai to exhs:

 

Otan apo ena allo host kanw SSH sto 62.169.233.210 mou bgainei to login prompt. dIno to password kai meta den ginetai TIPOTA apolytos. Kollaei to SSH session kai ystera apo merika lepta kanei timeout (enw mou eixe bgalei to login prompt.....kane ena telnet 62.169.233.210 22 kai 8a deis)

 

Apo to tcpdump pou exw dei den mporesa na katalabw ti paizei....

 

?? A ??

Mhpos xereis ti na kanw gia na paixei to SSH oste remotely na to epexergazomai??

 

?? B ??

Mhpos an tyxei kai mpei to forward rule YSTERA apo to DIVERT exei problhma kai den ta stelnei apo to sosto interface?

 

 

 

 

Please an mporeis na bo8hseis (idiaitera me to SSH) 8a sou eimoun eugnomon, diaforetika pes mou ti perissotero info 8a mporousa na sou dwsw.

 

Thanks in advance!!!

Δημοσ.

 

Please an mporeis na bo8hseis (idiaitera me to SSH) 8a sou eimoun eugnomon' date=' diaforetika pes mou ti perissotero info 8a mporousa na sou dwsw.

 

Thanks in advance!!![/quote']

 

Μoιαζει να μην μπορει να βρει τους DNS ( είναι reachable οι IPs του /etc/resolv.conf; ), και μέχρι να βγει το timeout του dns βγαίνει το timeout του ssh πρώτα. Δοκιμασε να απενεργοποιήσεις το dns reverse resolve στο sshd.conf ή να βάλεις entries με τις IPs πο μπαίνεις στο /etc/hosts ή να το κάνεις να δει τα DNS του.

Δημοσ.

8a to dokimasw molis mporesw alla please take into consideration

a) apo esvteriko IP tou diktuou (192.168.3.) paizei to ssh gia ton sygkekrimeno user

B) apo to idio to PC to opoio exei kai BIND, kanei resolv kai kanei ssh connect sto onoma tou ypologisth pou brisketai makrua..

 

Den exw dokimasei bebaia an paizei to resolv....8a to dokimasw me th proth eukairia....

 

Thankx pantos file mou

 

(btw, posa xronia asxoleisai me to fbsd? Egw asxoloumai 5 xronia vs admin sto panepisthmio (kai prin alla 3 xronia me linux) kai omologw oti htan mia ekplhxh na brw kapoion na gnorizei toso polu se ba8os kapoia 8emata pou agnow-euge!!!)

Δημοσ.

Ta neotera apo to SSH problhma:

 

O resolver paizei kanonika. Ebala bebaia ta flags. To problhma paramenei...

 

Ystera apo arketo searching, eida oti arketos kosmos paraponietai kai leei oti pi8anotata ftaiei to fragmentation ton packets.

 

Sto panepisthmio exw MTU 1500 eno ekei pera exei DSL grammh kai exei nomize 1452 or 1492...Auto se sundyasmo oti "bad configured routers drop the second fragment" pisteuw oti kati paizei kai xanetai to deutero meros tou paketou....

 

 

Twra to epomeno 8ema einai ti kanoume se auth th periptvsh? Pantos, sto diko mou firewall fainontai ola ok....Any suggestions?

 

thankx

Δημοσ.

Κανονικά δε θα έπρεπε να έχεις πρόβλημα με το MTU, το 1492 είναι το default για PPP encapsulation. Ενδέχεται το πρόβλημα να δημιουργείται από τον ISP σου. Ενδεικτικά στην manpage των iptables λέει το παρακάτω:

 

TCPMSS

This target allows to alter the MSS value of TCP SYN pack-

ets, to control the maximum size for that connection (usu-

ally limiting it to your outgoing interface's MTU minus

40). Of course, it can only be used in conjunction with

-p tcp.

This target is used to overcome criminally braindead ISPs

or servers which block ICMP Fragmentation Needed packets.

The symptoms of this problem are that everything works

fine from your Linux firewall/router, but machines behind

it can never exchange large packets:

1) Web browsers connect, then hang with no data received.

2) Small mail works fine, but large emails hang.

3) ssh works fine, but scp hangs after initial handshak-

ing.

Workaround: activate this option and add a rule to your

firewall configuration like:

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \

-j TCPMSS --clamp-mss-to-pmtu

 

Δεν είμαι σίγουρος ότι είναι πρόβλημα με το fragmentation όμως και δυστυχώς δεν έχω ιδέα από packet mangling σε *BSD, αλλά για ρίξε μια ματιά μήπως μπορείς να πειράξεις την MSS value με κάποιο τρόπο.

 

P.S.: Ωραίο case-study το topic αυτό παντως :-)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...