PDA

Επιστροφή στο Forum : Διαφορετικά account σε κάθε wic 2811 και dota



gew77
01-12-08, 17:06
Καλησπέρα σε όλους.

Προσπαθώ να φτιάξω το configuration σε ένα cisco 2811 με 4 adsl wics ως εξής:
1. Σε κάθε wic να λειτουργεί ένα account ("μια γραμμή") , οπότε 4 σύνολο
2. Απο κάθε wic να φεύγουν συγκεκριμένες ip μόνο (με σκοπό να μοιράζεται το φορτίο). Το έχω κάνει αυτό με την εντολή που είδα κάπου στο forum π.χ. για το 1ο wic (dialer0)


route-map equal-access permit 10
match ip address 101
set interface Dialer0

και access lists, όπου χωρίζω τέσσερις ομάδες (101,102,103,104). Γνωρίζω οτι ίσως να γίνεται και με καλύτερους τρόπους load balancing και ίσως κάποιο qos policy, και κάποια πρόταση προς άλλη κατευθυνση είναι δεκτή.

Το θέμα είναι όμως αλλού. Το configuration αυτό δουλεύει με ένα όμως πρόβλημα. Τα pc που συνδέονται με τον router παίζουν διάφορα online παιχνίδια όπως wowΙΙΙ dota. Όταν κάποιος "φτιάχνει πίστα" μπορεί όλο το internet να μπαίνει και η ομάδα που ανήκει στο συγκεκριμένο wic (πχ όσοι ανήκουν στο access list 101). Δεν μπορούν όμως μπάινουν υπολογιστές που πέφτουν σε άλλο wic "ανήκουν σε άλλο access list" . Φαντάζομαι οτι είναι πρόβλημα των access list. Παρακαλώ για τα φώτα σας και ευχαριστώ προκαταβολικά! Ιδού και το sh run:


!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname cisco2811
!
boot-start-marker
boot-end-marker
!
logging buffered 51200 warnings
!
no aaa new-model
!
resource policy
!
ip subnet-zero
!
!
ip cef
!
!
!
username xxxxx privilege 15 secret 5 xxxxxxxxxx
!
!
!
interface FastEthernet0/0
description $ETH-LAN$$ETH-SW-LAUNCH$$INTF-INFO-FE 0$
ip address 10.10.30.223 255.255.255.0
ip nat inside
ip route-cache flow
ip policy route-map equal-access
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface ATM0/0/0
no ip address
no ip mroute-cache
no atm ilmi-keepalive
dsl operating-mode auto
pvc 8/35
encapsulation aal5mux ppp dialer
dialer pool-member 1
!
!
interface ATM0/1/0
no ip address
no ip mroute-cache
no atm ilmi-keepalive
dsl operating-mode auto
pvc 8/35
encapsulation aal5mux ppp dialer
dialer pool-member 2
!
!
interface ATM0/2/0
no ip address
no ip mroute-cache
no atm ilmi-keepalive
dsl operating-mode auto
pvc 8/35
encapsulation aal5mux ppp dialer
dialer pool-member 3
!
!
interface ATM0/3/0
no ip address
no ip mroute-cache
no atm ilmi-keepalive
dsl operating-mode auto
pvc 8/35
encapsulation aal5mux ppp dialer
dialer pool-member 4
!
!
interface Dialer0
ip address negotiated
ip load-sharing per-packet
ip nat outside
encapsulation ppp
dialer pool 1
ppp authentication chap pap callin
ppp chap hostname xxx1@otenet.gr
ppp chap password 7 01160A0D4904135F74
ppp pap sent-username xxx1@otenet.gr password 7 14121E021E0B3F7B71
ppp ipcp dns request
ppp ipcp wins request
hold-queue 224 in
!
interface Dialer1
ip address negotiated
ip load-sharing per-packet
ip nat outside
encapsulation ppp
dialer pool 2
ppp authentication chap pap callin
ppp chap hostname xxx2@otenet.gr
ppp chap password 7 121C091E000419547C
ppp pap sent-username xxx2@otenet.gr password 7 13001B1B1903117A7D
ppp ipcp dns request
ppp ipcp wins request
hold-queue 224 in
!
interface Dialer2
ip address negotiated
ip load-sharing per-packet
ip nat outside
encapsulation ppp
dialer pool 3
keepalive 30
ppp authentication chap pap callin
ppp chap hostname xxx3@otenet.gr
ppp chap password 7 0609012D45400C2654
ppp pap sent-username xxx3@otenet.gr password 7 14181C07050A2F1475
ppp ipcp dns request
ppp ipcp wins request
hold-queue 224 in
!
interface Dialer3
ip address negotiated
ip load-sharing per-packet
ip nat outside
encapsulation ppp
dialer pool 4
ppp authentication chap pap callin
ppp chap hostname xxx4@otenet.gr
ppp chap password 7 050C071B2E5F1F
ppp pap sent-username xxx4@otenet.gr password 7 0201054F04155E
ppp ipcp dns request
ppp ipcp wins request
hold-queue 224 in
!
ip classless

ip route 0.0.0.0 0.0.0.0 Dialer1
ip route 0.0.0.0 0.0.0.0 Dialer0
ip route 0.0.0.0 0.0.0.0 Dialer2
ip route 0.0.0.0 0.0.0.0 Dialer3
!
ip http server
ip http access-class 23
ip http authentication local
ip http timeout-policy idle 5 life 86400 requests 10000
ip nat inside source list 101 interface Dialer0 overload
ip nat inside source list 102 interface Dialer1 overload
ip nat inside source list 103 interface Dialer2 overload
ip nat inside source list 104 interface Dialer3 overload
ip nat inside source static tcp 10.10.30.25 6125 interface Dialer0 6125
ip nat inside source static tcp 10.10.30.26 6126 interface Dialer0 6126
ip nat inside source static tcp 10.10.30.31 6131 interface Dialer0 6131
ip nat inside source static tcp 10.10.30.32 6132 interface Dialer0 6132
ip nat inside source static tcp 10.10.30.33 6133 interface Dialer0 6133
ip nat inside source static tcp 10.10.30.34 6134 interface Dialer0 6134
ip nat inside source static tcp 10.10.30.35 6135 interface Dialer0 6135
ip nat inside source static tcp 10.10.30.36 6136 interface Dialer0 6136
ip nat inside source static tcp 10.10.30.37 6137 interface Dialer0 6137
ip nat inside source static tcp 10.10.30.38 6138 interface Dialer0 6138
ip nat inside source static tcp 10.10.30.39 6139 interface Dialer0 6139
ip nat inside source static tcp 10.10.30.40 6140 interface Dialer0 6140
ip nat inside source static tcp 10.10.30.27 6127 interface Dialer1 6127
ip nat inside source static tcp 10.10.30.28 6128 interface Dialer1 6128
ip nat inside source static tcp 10.10.30.41 6141 interface Dialer1 6141
ip nat inside source static tcp 10.10.30.42 6142 interface Dialer1 6142
ip nat inside source static tcp 10.10.30.71 6171 interface Dialer1 6171
ip nat inside source static tcp 10.10.30.72 6172 interface Dialer1 6172
ip nat inside source static tcp 10.10.30.73 6173 interface Dialer1 6173
ip nat inside source static tcp 10.10.30.74 6174 interface Dialer1 6174
ip nat inside source static tcp 10.10.30.75 6175 interface Dialer1 6175
ip nat inside source static tcp 10.10.30.76 6176 interface Dialer1 6176
ip nat inside source static tcp 10.10.30.77 6177 interface Dialer1 6177
ip nat inside source static tcp 10.10.30.78 6178 interface Dialer1 6178
ip nat inside source static tcp 10.10.30.29 6129 interface Dialer2 6129
ip nat inside source static tcp 10.10.30.30 6130 interface Dialer2 6130
ip nat inside source static tcp 10.10.30.52 6151 interface Dialer2 6151
ip nat inside source static tcp 10.10.30.52 6152 interface Dialer2 6152
ip nat inside source static tcp 10.10.30.53 6153 interface Dialer2 6153
ip nat inside source static tcp 10.10.30.54 6154 interface Dialer2 6154
ip nat inside source static tcp 10.10.30.55 6155 interface Dialer2 6155
ip nat inside source static tcp 10.10.30.56 6156 interface Dialer2 6156
ip nat inside source static tcp 10.10.30.57 6157 interface Dialer2 6157
ip nat inside source static tcp 10.10.30.58 6158 interface Dialer2 6158
ip nat inside source static tcp 10.10.30.59 6159 interface Dialer2 6159
ip nat inside source static tcp 10.10.30.60 6160 interface Dialer2 6160
ip nat inside source static tcp 10.10.30.61 6161 interface Dialer3 6161
ip nat inside source static tcp 10.10.30.62 6162 interface Dialer3 6162
ip nat inside source static tcp 10.10.30.63 6163 interface Dialer3 6163
ip nat inside source static tcp 10.10.30.64 6164 interface Dialer3 6164
ip nat inside source static tcp 10.10.30.79 6179 interface Dialer3 6179
ip nat inside source static tcp 10.10.30.80 6180 interface Dialer3 6180
ip nat inside source static tcp 10.10.30.81 6181 interface Dialer3 6181
ip nat inside source static tcp 10.10.30.82 6182 interface Dialer3 6182
ip nat inside source static tcp 10.10.30.83 6183 interface Dialer3 6183
ip nat inside source static tcp 10.10.30.84 6184 interface Dialer3 6184
ip nat inside source static tcp 10.10.30.85 6185 interface Dialer3 6185
!
access-list 101 permit ip host 10.10.30.25 any
access-list 101 permit ip host 10.10.30.26 any
access-list 101 permit ip host 10.10.30.31 any
access-list 101 permit ip host 10.10.30.32 any
access-list 101 permit ip host 10.10.30.33 any
access-list 101 permit ip host 10.10.30.34 any
access-list 101 permit ip host 10.10.30.35 any
access-list 101 permit ip host 10.10.30.36 any
access-list 101 permit ip host 10.10.30.37 any
access-list 101 permit ip host 10.10.30.38 any
access-list 101 permit ip host 10.10.30.39 any
access-list 101 permit ip host 10.10.30.40 any
access-list 102 permit ip host 10.10.30.27 any
access-list 102 permit ip host 10.10.30.28 any
access-list 102 permit ip host 10.10.30.41 any
access-list 102 permit ip host 10.10.30.42 any
access-list 102 permit ip host 10.10.30.71 any
access-list 102 permit ip host 10.10.30.72 any
access-list 102 permit ip host 10.10.30.73 any
access-list 102 permit ip host 10.10.30.74 any
access-list 102 permit ip host 10.10.30.75 any
access-list 102 permit ip host 10.10.30.76 any
access-list 102 permit ip host 10.10.30.77 any
access-list 102 permit ip host 10.10.30.78 any
access-list 103 permit ip host 10.10.30.29 any
access-list 103 permit ip host 10.10.30.30 any
access-list 103 permit ip host 10.10.30.51 any
access-list 103 permit ip host 10.10.30.52 any
access-list 103 permit ip host 10.10.30.53 any
access-list 103 permit ip host 10.10.30.54 any
access-list 103 permit ip host 10.10.30.55 any
access-list 103 permit ip host 10.10.30.56 any
access-list 103 permit ip host 10.10.30.57 any
access-list 103 permit ip host 10.10.30.58 any
access-list 103 permit ip host 10.10.30.59 any
access-list 103 permit ip host 10.10.30.60 any
access-list 104 permit ip host 10.10.30.61 any
access-list 104 permit ip host 10.10.30.62 any
access-list 104 permit ip host 10.10.30.63 any
access-list 104 permit ip host 10.10.30.64 any
access-list 104 permit ip host 10.10.30.79 any
access-list 104 permit ip host 10.10.30.80 any
access-list 104 permit ip host 10.10.30.81 any
access-list 104 permit ip host 10.10.30.82 any
access-list 104 permit ip host 10.10.30.83 any
access-list 104 permit ip host 10.10.30.84 any
access-list 104 permit ip host 10.10.30.85 any
dialer-list 1 protocol ip permit
route-map equal-access permit 10
match ip address 101
set interface Dialer0
!
route-map equal-access permit 20
match ip address 102
set interface Dialer1
!
route-map equal-access permit 30
match ip address 103
set interface Dialer2
!
route-map equal-access permit 40
match ip address 104
set interface Dialer3
!
!
control-plane
!
!
line con 0
login local
line aux 0
line vty 0 4
access-class 23 in
login local
transport input ssh
line vty 5 15
access-class 23 in
privilege level 15
login local
transport input ssh
!
scheduler allocate 20000 1000
!
end

gew77
03-12-08, 20:07
κανείς; ;)

karavagos
04-12-08, 00:54
Επειδή δεν γνωρίζω τον τρόπο που λειτουργεί δικτυακά το dota (btw, warcraft sucks :p), όταν κάποιος μπαίνει στην "πίστα" που λες, τι ακριβώς επιλέγει? Φαίνεται κάποια ip? Και αν ναι, ποια είναι αυτή?

SfH
04-12-08, 01:27
Έχω την εντύπωση ότι, εφόσον παίζεις μέσω battlenet, όλοι οι clients προσπαθούν να συνδεθούν στη wan ip του host, οποτε λίγο δύσκολο να κανεις δουλειά με nat overload.

gew77
04-12-08, 22:31
Ευχαριστώ για τις απαντήσεις σας.

karavagos: Απ' όσο ξέρω το μόνο που χρειάζεται είναι ένα port forward διαφορετικό για κάθε υπολογιστή. Αυτό αναφέρει κι εδώ:

http://us.blizzard.com/support/article.xml?articleId=20687&categoryId=2550&parentCategoryId=&pageNumber=1

Αυτό το έχω κάνει. Και δουλεύει όμως μόνο για την "ομάδα" των υπολογιστών που είναι στο κάθε wic. Δηλ. τα ip που είναι στο 1ο wic βλέπουν ο ένας το παιχνίδι του άλλου. Όταν πρόκειται για διαφορετικά wics εκεί δεν... :(

Someonefromhell: Νομίζω το nat overload είναι ο standard τρόπος που δουλεύουν NAT οι δρομολογητές. Θέλεις να εξηγήσεις λίγο τι εννοείς;

nsek
09-12-08, 18:45
Έχεις κοιτάξει τα logs να δεις τι σε κόβει; Όπως και οι προλαλήσαντες, νομίζω πως είναι θέμα ΝΑΤ.

SfH
09-12-08, 19:25
Δεν είχα καταλάβει ότι έχεις ρυθμίσει στο game/βάλεις port forward προς διαφορετικό port ανά κάθε client. Σε αυτή την περίπτωση θέλει λίγο παραπάνω ανάλυση το ζήτημα. Μπορείς να κανεις capture πακέτα σε client και server για να δούμε προς τα που πάνε /που φτάνουν. Αν όντως φταίει το nat, δε μπορείς να κανεις πολλά εκτος από το να αγοράσεις διευθύνσεις και να κανεις translate διαφορετική διεύθυνση ανά client. Αν φταίνε τα route-maps...δοκίμασε να παίξεις λίγο με τις access-lists. Δοκίμασε να κανεις deny στις access-lists που χρησιμοποιείς στα routemaps πακέτα που έχουν προορισμό τις wan ip του router και βλέπουμε.

gew77
20-12-08, 21:51
Ευχαριστώ για τις απαντήσεις σας. Δοκίμασα να κάνω debug nat , αλλά μόνο στο detailed δούλευε και τότε γινόταν χαμός απο τα μηνύματα της κονσόλας. Δυστυχώς το σύστημα είναι live και δεν μπορώ να πειραματιστώ όπως θέλω, παρ' όλα αυτά έκανα το εξής πείραμα το οποίο νομίζω διευκολύνει την κατανόηση της κατάστασης και αλλάζει και το όνομα του θέματος(αν κρίνει κάποιος moderator σωστό νομίζω είναι να γίνει αλλαγή).

Έβαλα το netcat σε telnet listen mode . Σαν να έχει δηλ. ένα μηχάνημα telnet server. Ας πούμε πως έχουμε 4 υποδίκτια, το καθένα απο τα οποία πέφτει σε διαφορετικό wic (και ως εκ' τούτου και adsl γραμμή/account):
1-6 (βγαίνουν απο το dialer0) με port forwards 6101-6106
7-12 (βγαίνουν απο το dialer1) με port forwards 6107-6112
13-18 (βγαίνουν απο το dialer2) με port forwards 6113-6118
19-24 (βγαίνουν απο το dialer3) με port forwards 6119-6124
Έστω οτι το netcat είναι στο pc με ip 10.10.30.1 να ακούει στην 6101
απο όλους τους υπολογιστές 2-6 μπορώ να μπώ στο 1 (telnet [wan_ip_toy_dialer0] 6101)
απο υπολογιστή άσχετο στο internet μπορώ επίσης να μπώ.

Το πρόβλημα είναι αν ο υπολογιστής μου έχει εσωτερική IP 10.10.30.7-24 , βγαίνει δηλαδή απο διαφορετικό dialer του ίδιου router δεν μπορώ!

Αν κάποιος έχει κάποια ιδέα, έστω για το πως να κάνω debug το πρόβλημα θα ήμουν τρομερά ευγνώμων.
Ευχαριστώ και πάλι.

karavagos
22-12-08, 00:28
Πάντως μου φαίνεται πολύ περίεργο που λες ότι από το μηχάνημα 2 αν δώσεις "telnet dialer0-wan-ip 6101" μπορείς να μπεις στο μηχάνημα 1, όταν υπάρχουν τα αντίστοιχα static nat entries.
Λογικά το μηχάνημα 2 θα νομίζει ότι μιλάει με την dialer0-wan-ip του απέναντι (γιατί αυτή ζήτησε), ενώ το μηχάνημα 1 θα νομίζει ότι μιλάει με την lan ip του απέναντι (λόγω του static nat), κάτι που δεν μπορώ να καταλάβω πως μπορεί να παίξει. Αυτό λύνεται αν υποστηρίζεται το nat hairpinning (RFC 4787/5382), που απ'ότι ξέρω δεν.

Μπορείς να ενεργοποιήσεις τα "debug ip nat det" και "debug ip policy" για να το διαπιστώσουμε, αλλά φρόντισε να έχεις μπει από telnet (debug σε console απαγορεύεται διά ροπάλου, διότι κάθε χαρακτήρας ισοδυναμεί με interrupt!) και να έχεις ενεργοποιήσει το logging για να τα δεις εκ των υστέρων. Εννοείται ότι πειράματα με το debug κάνεις σε ώρα μη αιχμής, γιατί αλλιώς κινδυνεύεις να μείνεις απ'έξω.

Γενικότερα για να παίξει αυτό που θες να κάνεις (τουλάχιστον μόνο αυτό μου έρχεται στο μυαλό τώρα), θα πρέπει να έχεις κάποιες έξτρα ips μαζί με κάθε account (άρα λογικά χρειάζεσαι και 4 static accounts) τις οποίες θα χρησιμοποιήσεις σαν nat pools και static nat entries (λογικά αυτές τις ips τις δρομολογεί αυτόματα ο πάροχος στο κάθε static account). Έπειτα θα προσθέσεις 4 loopbacks με άσχετες (private ips) και θα ενεργοποιήσεις εκεί το outside nat (θα το απενεργοποιήσεις από τα serial), ενώ θα γυρίσεις το PBR του Fa0/0 να δείχνει προς αυτά τα loopbacks. Σε κάθε loopback θα έχεις ένα νέο route-map που θα δείχνει στο αντίστοιχο serial (κάνοντας match την natted ip σαν source). Επίσης σε κάθε serial θα έχεις ένα νέο route-map που θα δείχνει προς τα αντίστοιχα loopbacks για την εισερχόμενη κίνηση (κάνοντας match την natted ip σαν destination).
Με αυτό τον τρόπο τα πακέτα θα πηγαίνουν Fa0/0 => LoX => SeX ---επιστροφή---SeY => LoY => Fa0/0. Και λόγω των natted ips που δεν παίζουν σε κάποιο interface, τα πακέτα θα ακουλουθούν το policy-based/default routing.

Μπορεί να σου ακούγονται περίεργα όλα τα παραπάνω, αλλά δυστυχώς τα Cisco περιλαμβάνουν πολύ παίδεμα. Ή πειραματίζεσαι μόνος σου (+ όποια βοήθεια μπορείς να βρεις) ή απευθύνεσαι σε τρίτους.

@ ADSLgr.com All rights reserved.