# Software > OpenWrt >  OpenWRT router client with NAT HowTo

## acoul

Μια και τα APs: awmn-1982, awmn-3298, awmn-4068 και ίσως κάποια άλλα δίνουν μόνο 1 IP μέσω DHCP server που τρέχουν και με αφορμή σχετικής PM ερώτησης που μου έκανε ο dimkasta, παραθέτω ένα working setup OpenWRT router client with NAT που μπορεί να προστεθεί στο /etc/init.d/S41awmn:


```
/usr/sbin/brctl delif br0 eth1
/sbin/ifconfig vlan1 down
/usr/bin/killall -9 udhcpc
/sbin/ifconfig br0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255
/usr/sbin/wl ap 1
/usr/sbin/iwconfig eth1 essid awmn-3298 mode managed
/usr/sbin/wl ap 0
/usr/sbin/wl gmode LegacyB
/usr/sbin/wl txpwr 1
/usr/sbin/wl rate auto
/bin/sleep 10
/usr/sbin/wl join awmn-3298
/bin/sleep 20
/sbin/ifconfig eth1 10.2.19.53 netmask 255.255.255.224 broadcast 10.2.19.63 up
/usr/sbin/wl join awmn-3298
/sbin/route add default gw 10.2.19.33
/usr/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE
```

----------


## papashark

Στο awmn έχουμε μπόλικες ΙΡς και δεν χρειάζετε να παίζουμε με ΝΑΤ...

Φτιάξε ένα μικρό tutorial πως θα παίρνουν ένα μικρό subnet με κανονικές ΙΡς και θα κάνει static routing το wrt τους....


Το έχουμε ξαναπεί και παλαιότερα, είναι πολύ λάθος να κατευθείνεις τον κόσμο να παίζει με ΝΑΤ...

----------


## acoul

1) το subneting έχει μεγαλύτερο διαχειριστικό κόστος

2) πρέπει να υπάρχουν κίνητρα να μην μένει κάποιος client μια ζωή 

3) δεν βλάπτει να ακολουθούμε τα πρότυπα του Internet σε θέματα οικονομίας IP ώστε να είμαστε sync με την σχετική τεχνογνωσία

4) αν ο σύλλογος καταλήξει ότι πρέπει να δίνουμε subnets θα το σεβαστώ και θα το υλοποιήσω παρότι δεν συμφωνώ - για αυτό χρειάζεται ο σύλλογος !! για να μην κάνει ο κάθε ένας το μακρύ του και το κοντό του.

----------


## mojiro

με NAT:
μονο ενας υπολογιστης μπορει να παιξει πληρως δυκτιακα
αρκετοι εχουν προβλήματα οταν πανε να παιξουν games
μονο οικονομια κανεις στις IP

δε νομιζω να εχει καποιος κομβος προβλημα να μοιραζει
8αρια subnets, 

256 ip's = 
1 64αρι ap/clients
16 8αρια subnets/clients
1 16αρι για τα κεφια του κομβου
4 4αρια για bb

----------


## papashark

> 1) το subneting έχει μεγαλύτερο διαχειριστικό κόστος
> 
> 2) πρέπει να υπάρχουν κίνητρα να μην μένει κάποιος client μια ζωή 
> 
> 3) δεν βλάπτει να ακολουθούμε τα πρότυπα του Internet σε θέματα οικονομίας IP ώστε να είμαστε sync με την σχετική τεχνογνωσία
> 
> 4) αν ο σύλλογος καταλήξει ότι πρέπει να δίνουμε subnets θα το σεβαστώ και θα το υλοποιήσω παρότι δεν συμφωνώ - για αυτό χρειάζεται ο σύλλογος !! για να μην κάνει ο κάθε ένας το μακρύ του και το κοντό του.


1) Nα δώσουμε κάτι παραπάνω, να πούμε έστω του συλλόγου να σου τσοντάρει στο κόστος της διαχείρησης του κόμβου σου....

2) Πιέζοντας τον να γίνει ΒΒ κόμβος για να έχει σωστές ΙΡς ? Απίστευτη λογική. Άλλωστε νομίζω ότι είσαι ο μόνος που επιμένει να αναγκάζει τους clients του να παίζουν με NAT. Μπορεί να είναι και κανένας άλλος, αλλά σε γενικές γραμμές είσαι ενάντια στον άγραφο κανόνα να δίνουν τα ΑΡς μικρά subnets στους clients.

3) Αυτό είναι φοβερό που έγραψες... Στο ίντερνετ γίνετε επειδή δεν υπάρχουν αρκετές ΙΡς για όλους, έτσι ξεκίνησαν το IPv6 για να προχωρήσουν μπροστά, εσύ λες να πάμε προς τα πίσω και να κάνουμε υποχωρήσεις χωρίς λόγο...

4) Ποτέ δεν θα καταλάβεις τι σημαίνει ποτέ awmn. Παλαιότερα *κανένας δεν υποχρέωνε κανέναν να κάνει κάτι*. Η' ακολουθούσε το σωστό, είτε ότι έκαναν όλοι, είτε προσπαθούσε να βρει μια λύση ώστε να είναι συμβατός με το δίκτυο αλλά με τον δικό του τρόπο. Ακόμα και με το ospf-bgp μπορούσες να μείνεις μόνος με ospf, αρκεί να μπορούσες να το φτιάξεις να δουλεύει σωστά, και να πίσεις την άλλη μεριά του ΒΒ σου να το δεχθεί.

Ελεύθερο δίκτυο ερασιτεχνικό με μπαμπούλες που υποχρεώνουν τους άλλους δεν γίνετε....


Λυπήσου τουλάχιστον τους clients σου και δώσ' τους κανονικές ΙΡς με μικρά subnets.....

----------


## mpakle

Nice work acoul!

Παρακαλω ψυχραιμια στο topic!  ::  




> Στο awmn έχουμε μπόλικες ΙΡς και δεν χρειάζετε να παίζουμε με ΝΑΤ... 
> 
> Φτιάξε ένα μικρό tutorial πως θα παίρνουν ένα μικρό subnet με κανονικές ΙΡς και θα κάνει static routing το wrt τους.... 
> 
> 
> Το έχουμε ξαναπεί και παλαιότερα, είναι πολύ λάθος να κατευθείνεις τον κόσμο να παίζει με ΝΑΤ...


Αν ειναι ευκολο να γινει και ενα τετοιο tutorial θα ηταν ενδιαφερον και χρησιμο για εμας τα newbia(εμενα τουλαχιστον)....  ::  
Να μαθουμε και μια ακομα εναλλακτικη λυση..

Thanx.

----------


## Belibem

49 Κατασκευαστές πλυντηρίων συμφωνούν ότι NAT-is-Evil  ::  

Πρέπει να υπάρχουν πολύ καλύτερα πράγματα να πειραματιστεί κανείς στο awmn απο το βρωμο-ΝΑΤ. Ακόμα και στην ευτυχή περίπτωση που αρχίσουν να μας τελειώνουν οι διαθέσιμες ips μπορούμε να πειραματιστούμε με το IPv6

Ο μόνος ίσως λόγος να ασχοληθεί κανείς με το ΝΑΤ είναι για να διαπιστώσει την ευερετικότητα των μηχανικών στο να ξεπερνούν σχεδιαστικά προβλήματα (όταν διαπίστωσαν οτι οι IPs στο IPv4 δεν φτάνουν για τον παγκόσμιο ιστό), να δει πόσα προβλήματα δημιουργεί και γιατί θα καταργηθεί στο IPv6. Πάντως εγώ που το λούζομαι καθημερινά με την ADSL μου, δεν θέλω να το βλέπω ούτε ζωγραφιστό  ::

----------


## acoul

NAT is good for you - αρκεί να ξέρεις πως να το στήσεις  ::  It protects your Intranet - at some degree - from the bad dudes out there and you can route many different networks or make any trick you like.

Μια και δεν μου αρέσει να κάνω πράγματα στο πόδι - τι κατάρα κι'αυτή... - το AP policy παραμένει ως έχει μέχρι να βρω λίγο χρόνο να ασχοληθώ με αυτό

----------


## dti

> Μια και δεν μου αρέσει να κάνω πράγματα στο πόδι - τι κατάρα κι'αυτή... - το AP policy παραμένει ως έχει μέχρι να βρω λίγο χρόνο να ασχοληθώ με αυτό


Ή με το NoCatAuth / NoCatSplash στο voyage.  ::  

Αντιγράφω από το readme:




> 3.8 NoCatSplash
> ======================
> NoCatSplash is included in Voyage Linux, but it is disabled by default. Edit 
> /etc/default/nocatsplash and set ENABLE="true" to enable it. You will can start 
> or stop NoCatSplash by 
> /etc/init.d/nocatsplash [start|stop]
> 
> Next, you will also need to edit /etc/nocat.conf to setup NoCatSplash properly. 
> The most common way is to add the following lines at the end of /etc/nocat.conf:
> ...



Παρεμπιπτόντως, αυτές τις μέρες διαβάζω κι εγώ το documentation του Mikrotik σχετικά με την υλοποίηση hotspot στην έκδοση 2.9 ...

----------


## ysam

Αστο Αλέξανδρε, έχουμε κολήσει με την πιπίλα "δεν παίζει με ΝΑΤ", από τότε που βγήκε το ΝΑΤ και δεν ξεκολάμε..

Ξεκολάτε, Τα points του Αλέξανδρου είναι βάσιμα. Τα ίδια πάθανε και αυτοί που τώρα τρέχουνε να φτιάξουν το IPv6. Τα ίδια έλεγε και ο Bill The Gate "640Κ should be enough" και μόνο τα παιδάκια που τώρα γράφουν και διαγωνίζονται στα intros/64k ξέρουν πόσο αρκετά είναι τα 64K. 'ολοι οι άλλοι βάζουν 1-4G ram για να τρέξουν το 640K should be enough OS του.
 ::

----------


## paravoid

Λάστιχο το κάνατε.
Το NAT ολόκληρων υποδικτύων έχει νόημα όταν σου λείπουν IPs.
Τα "protects your privacy" και λοιπές βλακείες τα έχουμε ξανασυζητήσει εκτενώς και όσοι τα υποστήριζαν (και προφανώς δεν ήξεραν την έννοια του firewall ή του bridging firewall) έκαναν πίσω όταν όλα τους τα επιχειρήματα καταρρίφθηκαν.

Στο AWMN έχουμε περίπου 6 εκατομμύρια IPs.
Μόνο για τον Δήμο Αθηναίων, υπάρχει πρόβλεψη για ~3.000 backbone κόμβους.

*Μην κάνετε NAT στο AWMN.*
Κάντε στη ADSL σας, στα VPNs σας, στα LANάκια σπίτι σας. Όχι στο AWMN.

----------


## dimkasta

OK για πείτε πως γίνεται...

Έστω το C-Class 10.38.122.0/24 και κόβουμε το υποδίκτυο 10.38.122.96/29 για τον client.

Η 1 είναι του ΑΡ.
H 97 είναι του router του client, η 98 η wifi του, η 99 του PC του και η 103 η broadcast.

για πείτε τι κάνουμε?

----------


## Belibem

Αν κατάλαβα καλά ρωτάς πως απο τον ρουτερ σου θα δρομολογείς σωστά το trafic για το υποδίκτυο 10.38.122.96/29

Σε windows προσθέτεις το παρακάτω στατικό route:
route add -p 10.38.122.96 mask 255.255.255.248 10.38.122.1

Σε Linux ρούτερ:
route add -net 10.38.122.96 netmask 255.255.255.248 gw 10.38.122.1

Σε μικροτίκι είναι πάλι σχεδόν μια απο τα ίδια στο ανάλογο gui 

Σημείωση: Το 255.255.255.248 υπολογίστηκε απο το /29 με τη βοήθεια του site
http://www.subnetmask.info/

Αν το κατάλαβα λάθος sorry


EDIT (με 7 πόστς προσέχουμε για να έχουμε!)
@ysam
Μα γιατί τόσος μαζοχισμός με αυτό το ΝΑΤ τέλος πάντων  :: 

@dimkasta
Απο την άλλη αρκεί να δηλώσεις το 10.38.122.97 ως gateway  ::

----------


## ysam

Paravoid δεν μας είπες *ΓΙΑΤΙ* να μην κάνουμε.. και μάλιστα στην συγκεκριμένη περίπτωση που αναφέρει ο Αλέξανδρος. 

Το γιατί το κάνουμε το ξέρουμε.. το ανάποδο δεν ξέρουμε.

----------


## dimkasta

Και από τη μεριά του ΑΡ φαντάζομαι βάζεις την ίδια εντολή?

Άν το ΑΡ έχει το 10.38.122.1, το wifi του client 10.38.122.97, αλλά εσωτερικά το router έχει 10.2.25.31 και 32 το PC, είναι δηλαδή διαφορετικό C-Class?

Φαντάζομαι ότι η εντολή για τον client είναι η ίδια, απλά ο ιδιοκτήτης του ΑΡ πρέπει να δηλώσει στο BGP σαν neighbour και το C-Class του client σωστά?

Το ρωτάω γιατί έχω ήδη δικό μου C class, αλλά δεν έχω παίξει ακόμη με bgp και μέχρι να γίνουν οι προετοιμασίες για το 2ο λίνκ βολεύομαι και με static route.

----------


## paravoid

> Paravoid δεν μας είπες *ΓΙΑΤΙ* να μην κάνουμε.. και μάλιστα στην συγκεκριμένη περίπτωση που αναφέρει ο Αλέξανδρος. 
> 
> Το γιατί το κάνουμε το ξέρουμε.. το ανάποδο δεν ξέρουμε.


Γιάννη, κάνεις σαν να μη ξέρεις.
Ας πάρουμε την πιο δημοφιλή υπηρεσία του AWMN, το DC.
Αν είσαι πίσω από NAT, πρέπει να γίνεις passive.
Αν 2 άτομα είναι passive (γιατί και οι 2 βρίσκονται σε κάτοχο AP που είναι criminally braindead), δεν μπορούν να ανταλλάξουν αρχεία.

Το ίδιο ισχύει και για την ίσως δεύτερη σε δημότικοτητα υπηρεσία του AWMN, τα παιχνίδια.

Άλλο:
Συζητάμε για το interoperation SIP-H.323. Ξέρεις πόσο tricky είναι να κάνεις ενεργό connection tracking σε H.323; Φαντάζομαι πως ξέρεις, γιατί το αγνοείς;

Τρίτο:
Ένας client που συνδέεται σε ένα AP (όπως έκανα εγώ για πολύ καιρό στον MAuVE) μπορεί να θέλει να σηκώσει κάποιες υπηρεσίες. Το λιγότερο που μπορεί να θέλει, είναι να κάνει SSH/VNC/Remote Desktop σε ένα από τα μηχανήματα του όταν βρίσκεται σε κάποιο άλλο σημείο του δικτύου.
Θα πρέπει να ψάχνει τον κάτοχο του AP για να του κάνει forward πόρτες α λα 10022;

Το NAT δημιουργεί προβλήματα. Τα προβλήματα αυτά τα ψιλοαγνοείς όταν σου λύνει άλλα προβλήματα, όπως είναι αυτό του περιορισμένου address space.
Όταν _δεν_ τα έχεις αυτά τα προβλήματα, γιατί π.χ. έχεις 1.000 φορές το address space που μπορεί να χρειαστείς ακόμη και αν βάλεις και το ψυγείο του σπιτιού σου μέσα, δεν το χρησιμοποιείς.
Με αυτή τη λογική, το NAT στο IPv6 *δεν προβλέπεται*. Δεν υπάρχει σε κανένα RFC και σε Linux τουλάχιστον δεν υπάρχει καν implementation (ούτε καν για να κάνεις redirect μια πόρτα σε μια άλλη που ήθελα εγώ!).

Ας μην μιλήσω για διαχειριστικό κόστος και γελάμε όλοι μαζί πάλι ε;  ::

----------


## robotech_

Δυστχώς δεν μπορώ να κάνω το ASUS WL500g + Senao 2511 μου να δουλέψει με ΝΑΤ πρόσθέτοντας τις παραπάνω γραμμές στο scriptάκι.

Κατ' αρχήν μπορέι κάποιος να μου εξηγήσει πως δουλεύει το ΝΑΤ, τι ip παίρνει ποιος κλπ.?

Ευχαριστώ.

----------


## papashark

> Δυστχώς δεν μπορώ να κάνω το ASUS WL500g + Senao 2511 μου να δουλέψει με ΝΑΤ πρόσθέτοντας τις παραπάνω γραμμές στο scriptάκι.
> 
> Κατ' αρχήν μπορέι κάποιος να μου εξηγήσει πως δουλεύει το ΝΑΤ, τι ip παίρνει ποιος κλπ.?
> 
> Ευχαριστώ.


Ζήτα ένα subnet, μην παίζετε με NAT, μην είστε ανώμαλοι  ::   ::  


To NAT είναι μία λύση ανάγκης, όπου όλοι όσοι είναι πίσω από ένα ΝΑΤ αντιστοιχούν σε μία (στην ίδια) εξωτερική δνση.

Έτσι αν εσύ σπίτι σου έχεις 3-4 PC και 2 VoIP, θα έχουν όλα την ίδια ΙΡ στο δίκτυο.

Αυτό δημιουργεί προβλήματα, όπως ότι μπορεί το VoIP δεν λειτουργεί (σωστά), ότι εάν πας να μπεις σε FTP που είναι πίσω από άλλο ΝΑΤ δεν μπορείς να συνδεθείς, το ίδιο και με το DC++ (2 χρήστες πίσω από ΝΑΤ δεν μπορούν να ανταλλάξουν αρχεία), κάποιες εφαρμογές δεν λειτουργούν, ενώ θα πρέπει να κάνεις IP forwarding στον router σου για να μπορούν να σε βρίσκουν όλοι, αν και κάποια πράγματα δεν θα γίνονται (πχ δεν θα μπορείς να έχεις 2 voip συσκευές με Η323).


Το ΝΑΤ χρησιμοποιείτε κατακόρον στο internet γιατί δεν υπάρχουν αρκετές ΙΡς δνσεις. Στο AWMN έχουμε φοβερό περίσσευμα ΙΡ δσεων... Διάβασε παραπάνω και θα δεις ότι ακόμα και ο acoul το κάνει για να δυσθαρρήνει τον κόσμο να είναι client.

----------


## robotech_

Καλά εγώ ένα PC θέλω να βάλω στο δίκτυο και το ASUS μου.

Κάθε βοήθεια ευπρόσδεκτη.

----------


## papashark

Τότε πάρε 2 IΡς και δεν χρειάζετε να κάνεις ΝΑΤ, όπως κάνει το 90% των clients στο awmn.  ::

----------


## robotech_

Απλά το να πάρω 2 ips αυθαίρετα δεν είναι και η σωστότερη συμπεριφορά.Ιδιαίτερα για ένα νέωπα.

----------


## acoul

```
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
```

Για senao είναι:


```
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
```

Το παραπάνω μπορείς να το βάλεις στο /etc/init.d/S41network. Με το NAT έχεις απόλυτη προστασία από απρόσκλητους επισκέπτες, μπορείς να βάλεις όσα IPs θέλεις στο τοπικό σου LAN, και οι περισσότερες υπηρεσίες εξυπηρετούνται από σχετικά proxies εάν και εφόσον το χρειαστείς. Αν είναι απόλυτη ανάγκη ένα μικρό subnet στείλε μου ένα PM.

----------


## Acinonyx

Για προστασία χωρίς NAT:



```
iptables -t filter -P FORWARD DROP
iptables -t filter -A FORWARD -o eth1 -p tcp -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -o eth1 -p udp -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -i eth1 -m state --state ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -i eth1 -p tcp --dport 1024:65535 -m state --state RELATED -j ACCEPT
iptables -t filter -A FORWARD -i eth1 -p udp --dport 1024:65535 -m state --state RELATED -j ACCEPT
iptables -t filter -A FORWARD -i eth1 -p icmp -m state --state RELATED -j ACCEPT
```

Τα related μπορούν να φύγουν αν χρειάζεται ακόμη μεγαλύτερη ασφάλεια.

----------


## acoul

Quiz: How to secure a specific subnet for a specific client on an Access Point runing Linux. Access Point is operating as a router, not bridge. Υπάρχει άλλος τρόπος εκτός από iptables?

----------


## papashark

> Με το NAT έχεις απόλυτη προστασία από απρόσκλητους επισκέπτες, μπορείς να βάλεις όσα IPs θέλεις στο τοπικό σου LAN, και οι περισσότερες υπηρεσίες εξυπηρετούνται από σχετικά proxies εάν και εφόσον το χρειαστείς. Αν είναι απόλυτη ανάγκη ένα μικρό subnet στείλε μου ένα PM.


Με το να ΜΗΝ ΣΥΝΔΕΣΕΙΣ το εσωτερικό σου δικτυο σου με τον υπόλοιπο κόσμο έχεις απόλυτη προστασία.

Το ΝΑΤ είναι ένα είδος μεταξύ μη σύνδεσης και σύνδεσης.


Acoul, καταντάει βαρετή η επιμονή σου, οι απαντήσεις και οι δικαιολογίες σου θυμίζουν τακτική ISP και όχι lan....

Kάνεις κακό στο δίκτυο οδηγόνας τον κόσμο να συνδέετε με λάθος τρόπο. Μην ξεχνάς ότι εδώ δεν είμαστε παθητικοί χρήστες του ιντερνετ με μία ΙΡ να βγαίνουμε έξω, αλλά πρέπει να είμαστε ενεργοί χρήστες που προσφέρουμε υπηρεσίες και θα πρέπει ο κόσμος να μπορεί να βρίσκει εύκολα τις υπηρεσίες μας.....

----------


## mojiro

αντι για NAT ή Subnets σε Router, μπορει να εφαρμοστει και αυτο:

http://www.awmn.net/forum/viewtopic.php?t=3390
http://www.awmn/forum/viewtopic.php?t=3390

Κατι παρομιο λογικα θα ισχιει και σε mikrotik

----------

