NAT on a stick / reverse NAT ?

Tutto ciò che ha a che fare con la configurazione di apparati Cisco (e non rientra nelle altre categorie)

Moderatore: Federico.Lagni

Rispondi
francofranco
Cisco fan
Messaggi: 44
Iscritto il: mer 25 mar , 2015 7:13 pm

Buongiorno,
sto configurando un cisco 897 per la prima volta.
Ieri stavo sostituendo il vecchio router con questo in ufficio ma mi sono dovuto fermare per trovare prima la soluzione ad un porblema.
Come potete vedere nella configurazione riportata ho NAT overload su un unico IP pubblico e alcuni NAT statici anche per un server web.
Bene, il server web è raggiungibile tranqulliamente dall'esterno tramite rete esterna, ma non dall'interno della stessa Vlan1 all'indirizzo dell'IP pubblico. Leggendo in giro dovrebbe trattarsi del cosiddetto NAT on a stick o reverse NAT ma non ne sono sicurissimo. Per ovviare bisognerebbe utilizzare una interfaccia di loopback e una route-map? Oppure collegare fra di loro due porte dello stesso router? O per forza utilizzare due router diversi?
Diciamo che non ho le idee chiarissime. Quale sarebbe la soluzione ideale?

Grazie mille per l'aiuto.

Codice: Seleziona tutto

!
version 15.4
service config
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname router
!
boot-start-marker
boot-end-marker
!
!
enable secret 5 $1$j2XO$KOBqFIdd2m2o2mElGCS200
enable password xxxxxx
!
no aaa new-model
!
ip dhcp excluded-address 192.168.1.1 192.168.1.100
ip dhcp excluded-address 192.168.1.201 192.168.1.254
ip dhcp excluded-address 192.168.1.110
ip dhcp excluded-address 192.168.1.170
!
ip dhcp pool LAN
 import all
 network 192.168.1.0 255.255.255.0
 dns-server 151.99.0.100 151.99.125.1
 default-router 192.168.1.1
!
no ip domain lookup
ip name-server 151.99.0.100
ip name-server 208.67.222.222
ip cef
no ipv6 cef
!
!
multilink bundle-name authenticated
!
!
cts logging verbose
license udi pid C897VA-K9 sn xxxxx
!
!
username admin privilege 15 secret 5 xxxxxxx
!
!
controller VDSL 0
!
!
class-map match-any ALL-P2P-PROTOCOLS
 match protocol edonkey
 match protocol fasttrack
 match protocol gnutella
 match protocol winmx
 match protocol cuseeme
 match protocol kazaa2
 match protocol irc
 match protocol bittorrent
!
policy-map P2P-DROP
 class ALL-P2P-PROTOCOLS
  drop
!
!
bba-group pppoe global
!
!
interface Loopback0
 no ip address
!
interface ATM0
 no ip address
 shutdown
 no atm ilmi-keepalive
!
interface BRI0
 no ip address
 encapsulation hdlc
 shutdown
 isdn termination multidrop
!
interface Ethernet0
 no ip address
!
interface Ethernet0.835
 encapsulation dot1Q 835
 pppoe enable group global
 pppoe-client dial-pool-number 1
!
interface GigabitEthernet0
 no ip address
!
interface GigabitEthernet1
 no ip address
!
interface GigabitEthernet2
 no ip address
!
interface GigabitEthernet3
 no ip address
!
interface GigabitEthernet4
 no ip address
!
interface GigabitEthernet5
 no ip address
!
interface GigabitEthernet6
 no ip address
!
interface GigabitEthernet7
 no ip address
!
interface GigabitEthernet8
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly in
 ip tcp adjust-mss 1452
 service-policy input P2P-DROP
!
interface Dialer0
 mtu 1492
 ip address negotiated
 no ip redirects
 no ip proxy-arp
 ip flow ingress
 ip nat outside
 ip virtual-reassembly in
 encapsulation ppp
 ip route-cache policy
 dialer pool 1
 dialer-group 1
 ppp authentication pap callin
 ppp pap sent-username @alicebiz.routed password 0 @alicebiz.routed
 ppp ipcp dns request accept
 ppp ipcp route default
 ppp ipcp address accept
 no cdp enable
!
ip forward-protocol nd
no ip http server
ip http authentication local
ip http secure-server
!
!
ip nat inside source list 1 interface Dialer0 overload
ip nat inside source static tcp 192.168.1.40 80 interface Dialer0 80
ip nat inside source static tcp 192.168.1.30 943 interface Dialer0 943
ip nat inside source static udp 192.168.1.30 1194 interface Dialer0 1194
ip nat inside source static tcp 192.168.1.220 1433 interface Dialer0 1433
ip nat inside source static tcp 192.168.1.40 3306 interface Dialer0 3306
ip nat inside source static tcp 192.168.1.40 3690 interface Dialer0 3690
ip nat inside source static tcp 192.168.1.245 8080 interface Dialer0 8080
ip nat inside source static tcp 192.168.1.55 8443 interface Dialer0 8443
ip nat inside source static tcp 192.168.1.11 8880 interface Dialer0 8880
ip route 0.0.0.0 0.0.0.0 Dialer0
!
dialer-list 1 protocol ip list 1
!
access-list 1 remark ***ALL***
access-list 1 permit 192.168.1.0 0.0.0.255

francofranco
Cisco fan
Messaggi: 44
Iscritto il: mer 25 mar , 2015 7:13 pm

Avrei pensato a questa soluzione (appena possbile la testo). Secondo voi ha senso?

Codice: Seleziona tutto

!
access-list 110 remark ***TEST PUBBLICO***
access-list 110 permit tcp any host 188.ab.xx.xxx eq www
access-list 110 deny tcp any any eq www
!
route-map WEBPUBBLICO permit 10
match ip address 110
set ip next-hop 192.168.1.40
!
interface Vlan1
ip policy route-map WEBPUBBLICO
!
Avatar utente
perteghella
Cisco enlightened user
Messaggi: 135
Iscritto il: mar 20 mar , 2007 10:54 am
Località: Reggio Emilia
Contatta:

Ciao Franco, da quello che deduco leggendo chiami il server web usando il nome e il des ti restituisce l'ip esterno, quello nattato.
La soluzione più pulita e sicura e avere uno "split-dns" che restituisce ai client interni l'ip 192.168.1.40 e a quelli esterni l'ip 188.ab.xx.xxx quando fai http://www.server.com

La route map funziona ma è un trucchetto che però non maschera quale è il problema reale ;)
Giovanni Perteghella
CCAI e CCSI#32156 Trainer (R&S, DataCenter, Collaboration, Wireless) - VCI VMware Trainer
paolomat75
Messianic Network master
Messaggi: 2965
Iscritto il: ven 29 gen , 2010 10:25 am
Località: Prov di GE

Ciao.
Secondo a me la route-map non funziona perché il PC non ha IP pubblico.
A parte la soluzione con il DNS non mi viene in mente altro.

Paolo
Non cade foglia che l'inconscio non voglia (S.B.)
francofranco
Cisco fan
Messaggi: 44
Iscritto il: mer 25 mar , 2015 7:13 pm

Grazie ad entrambi per l'aiuto.
In effetti la route-map sembra non funzionare.
Userò il server DNS sul router.
Il mio unico dubbio è che, essendo tutti portatili che accedono al server web sia da dentro che da fuori ufficio, non debbano fare tutte le volte un flushdns...
Comunque sia, adotterò questa soluzione...

ps: ora ritorno a disturbarvi nel post sul rate-limit :mrgreen:
Avatar utente
perteghella
Cisco enlightened user
Messaggi: 135
Iscritto il: mar 20 mar , 2007 10:54 am
Località: Reggio Emilia
Contatta:

Qui trovi tutte le info su split-dns e NAT http://www.cisco.com/c/en/us/td/docs/io ... pldns.html se o vuoi implementare direttamente sul router.
Il mio consiglio è di farlo fare a un vero dns perché la fatica non giustifica il gusto.

Giovanni
Giovanni Perteghella
CCAI e CCSI#32156 Trainer (R&S, DataCenter, Collaboration, Wireless) - VCI VMware Trainer
francofranco
Cisco fan
Messaggi: 44
Iscritto il: mer 25 mar , 2015 7:13 pm

ah, ma quindi tu non mi suggerisci semplicemente di attivare il server DNS sul router e in dhcp assegnare ai client il router stesso come server DNS? Mi stai proponendo un'altra soluzione...
Avatar utente
perteghella
Cisco enlightened user
Messaggi: 135
Iscritto il: mar 20 mar , 2007 10:54 am
Località: Reggio Emilia
Contatta:

perteghella ha scritto: Il mio consiglio è di farlo fare a un vero dns perché la fatica non giustifica il gusto.
Con BIND fai 2 viste lan e wan e dentro metti il gli ip come devono apparire. Questo presuppone che dns che hai messo in piedi serva anche chi viene da wan.
L'unico svantaggio è che devi intercettare chi si è impostato un dns diverso dal tuo.
Come ti ho scritto anche per il rate limiting fai prima a mettere pfsense nel mezzo e fai fare a lui anche da split-dns e segui il metodo KISS
Giovanni Perteghella
CCAI e CCSI#32156 Trainer (R&S, DataCenter, Collaboration, Wireless) - VCI VMware Trainer
Rispondi