Cisco pix nat pat

Fermé
syslog - 16 déc. 2009 à 10:51
 Syslog - 22 janv. 2010 à 14:22
Bonjour à tous, pour un projet de gestion de logs je dois mettre en place un pare feu pix cisco 515e.
Actuellement j'ai des soucis pour configurer le nat ou pat (?).
Je trouve pas mal de commande sur le net mais rien de bien expliquer, ce que fais chaque commande et chaque options, je suis donc perdu!
Par exemple :
global (outside) 101 interface
nat (inside) 101 172.16.0.0 255.255.0.0
global (outside) 101 interface 255.255.255.0

Il y a d'autres commandes avec des :
static(inside, outside) ....

Pourriez vous m'expliquer les commandes et leur fonctionnement pour que je puisse moi même mettre en place le nat ou pas?
Merci d'avance!

7 réponses

plebras Messages postés 422 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 3 juillet 2019 121
17 déc. 2009 à 14:55
Bonjour
Sur un cisco PIX ou ASA
tu peux faire du NAT statique 1 pour 1 (Network Address Translation) ou du PAT (Port Address Translation ) en entrée ET en sortie

Avec des exemples c'est plus simple

A et B : 2 cas de figures

------------------------------------ A ---------------------------------------

A) Tu as sur Internet une plage d'adresses pour toi par exemple avec un netmask à 255.255.255.248 donc tu as un réseau avec 6 adresses IP de disponibles ex: 6.1.1.0 Mask 255.255.255.248. Les adresses Ip dispo sont
6.1.1.1.1-6.1.1.7: dans ce cas,
- une est réservé au routeur (SDSL ADSL) par exemple 6.1.1.1,
- une au PIX : 61.1.1.2
il reste 6.1.1.3 à 6.1.1.7 pour les serveurs
. Dans ce cas tu peux faire du static 1 pour 1 (du NAT 1 pour 1)

Par exemple imaginons sur le Pix les 2 interfaces de base : Inside (réseau Interne) Outside (Réseau Externe = Internet)


Je vais avoir déjà une commande de route par défaut sur le PIX
- route outside 0.0.0.0 6.1.1.1 1

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

ACCES vers serveurs locaux DEPUIS INTERNET :


J'ai un serveur WEB, SMTP, DNS etc.. sur mon réseau local en adresse 192.168.1.3 (en pratique ce serait plutôt sur l'interface DMZ)
J'ai un serveur WINDOWS etc.. sur mon réseau local en adresse 192.168.1.4 qui doit être atteint par une adresse IP d'un prestataire qui est 6.99.99.99 pour la maintenance en RDP (TSE)

je veux que ces serveur soit visibles depuis Internet et je ne veux pas m'embêter avec du PAT :
Je vais donner les commande

- static (inside,outside) 6.1.1.3 192.168.1.3 netmask 255.255.255.255
- static (inside,outside) 6.1.1.4 192.168.1.4 netmask 255.255.255.255
La syntaxe est static (interface -devant être translatée-, Interface translatée) IP translatée Ip devant être translatée netmask NetMASK

Je rend visible mes serveur 192.168.1.3 et 192.168.1.4 sur INTERNET au travers de l'adresse 6.1.1.3 et 6.1.1.4 SUR N'IMPORTE QUEL PORT (Translation statique 1 pour 1)

Bien sûr je ne vais autorise que le DNS, le SMTP et le WEB et le FTP uniquement sur le 192.168.1.3
Je vais donc ajouter une access-list qui va contrôler les flux depuis Internet vers ce serveur :

access-list aclin extended permit tcp any host 6.1.1.3 eq 25
access-list aclin extended permit tcp any host 6.1.1.3 eq 80
access-list aclin extended permit udp any host 6.1.1.3 eq 53

...
idem pour le Windows 192.168.1.4 mais limité à l'ip du prestataire

access-list aclin extended permit tcp host 6.99.99.99 host 6.1.1.4 eq 3389

Ne pas oublier d'appliquer l'acces-list à l'interface Outside : aclin (ce qui rentre dans l'interface outside=
access-group aclin in interface outside


Je veux aussi autoriser ma machine 192.168.1.3 à accéder à INTERNET pour les DNS et le MAIL uniquement (pas WEB)

Je vais donc autoriser la machine à sortir sur Internet uniquement sur ces protocoles:

access-list aclout extended permit tcp host 192.168.1.3 any eq 25
access-list aclout extended permit udp host 192.168.1.3 any eq 53


...
...

Mon serveur windows n'a pas besoin de sortir, je ne fais rien


Ne pas oublier d'appliquer l'acces-list à l'interface inside : aclout (ce qui rentre dans l'interface inside pour sortir ensuite
access-group aclout in interface inside

--------

ACCES VERS INTERNET

Mes postes veulent accéder sur INTERNET (et je n'ai pas de proxy et la machine 3 ne fait pas proxy)
Je vais utiliser une adresse de dispo pour la sortie par exemple 6.1.1.4

global (outside) 1 6.1.1.4 netmask 255.255.255.255
Je vais dire que tous les accès vers l'extérieur seront nater (pater) sur cette adresse
nat (inside) 1 192.168.1.0 255.255.255.0

Je vais ajouter la permission de sortir de mon réseau local sur les protocoles que je souhaite ex: HTTP HTTPS FTP (+ FTP-DATA) + NTP (Network Time Protocol)

access-list aclout extended permit tcp 192.168.1.0 255.255.255.0 any eq 80
access-list aclout extended permit tcp 192.168.1.0 255.255.255.0 any eq 443
access-list aclout extended permit tcp 192.168.1.0 255.255.255.0 any eq 21
access-list aclout extended permit tcp 192.168.1.0 255.255.255.0 any eq 20
access-list aclout extended permit udp 192.168.1.0 255.255.255.0 any eq 123

Ne pas oublier d'appliquer l'acces-list à l'interface inside : aclout (ce qui rentre dans l'interface inside pour sortir ensuite
access-group aclout in interface inside

(comme avant)

----------------------------- B------------------------------------------

B) Tu as uniquement une plage avec 2 adresses Ip dispo par exemple avec un netmask à 255.255.255.252 (Ou tu n'as pas assez d'adresses publiques :
6.1.1.0 Mask 255.255.255.252 Tu as donc dispo 6.1.1.1 à 6.1.1.2 donc une pour le routeur : 6.1.1.1, un pour le pix 6.1.1.2

Tu ne peux pas faire du static 1 ou pour 1 car tu n'as pas d'ip Disponible (1 est prise par le routeur, l'autre par le PIX)

En local, Tu as toujours 2 serveurs, ton serveur WEB DNS + ton serveur Windows qui doit être accessible par la société de service en RDP

Je vais avoir déjà une commande de route par défaut sur le PIX
- route outside 0.0.0.0 6.1.1.1 1

ACCES DEPUIS INTERNET

Je vais faire du PAT en entrée en utilisant la commande static mais sur des ports spécifiques. Toutes les connexions arrivent sur l'interface Outside 6.1.1.2 et sont redirigées en fonction des protocoles vers un server spécifique

static (inside,outside) tcp 6.1.1.2 80 192.168.1.3 80 netmask 255.255.255.255
static (inside,outside) tcp 6.1.1.2 25 192.168.1.3 25 netmask 255.255.255.255
static (inside,outside) tcp 6.1.1.2 25 192.168.1.3 53 netmask 255.255.255.255


static (inside,outside) tcp 6.1.1.2 3389 192.168.1.4 33893 netmask 255.255.255.255

TOUT CE QUI ARRIVE sur 6.1.1.2 sur le port TCP 80 est rédirigé vers 192.168.1.3 port 80
TOUT CE QUI ARRIVE sur 6.1.1.2 sur le port TCP 3389 est rédirigé ver 192.168.1.4 port 3389

Les access-list :
access-list aclin extended permit tcp any host 6.1.1.2 eq 25
access-list aclin extended permit tcp any host 6.1.1.2 eq 80
access-list aclin extended permit udp any host 6.1.1.2 eq 53

...
idem pour le Windows 192.168.1.4 mais limité à l'ip du prestataire

access-list aclin extended permit tcp host 6.99.99.99 host 6.1.1.2 eq 3389
access-group aclin in interface outside



ACCES VERS INTERNET

Idem pour Internet, je vais utiliser l'adresse IP visible du PIX 6.1.1.2. On peut mettre à ce niveau soit l'adresse ou le mot clé Interface (correspondant à l'interface du PIX)

global (outside) 1 interface
nat (inside) 1 0.0.0.0 0.0.0.0
access-group aclout in interface inside



Je vais ajouter la permission de sortir de mon réseau local sur les protocoles que je souhaite ex: HTTP HTTPS FTP (+ FTP-DATA) + NTP (Network Time Protocol)

access-list aclout extended permit tcp 192.168.1.0 255.255.255.0 any eq 80
access-list aclout extended permit tcp 192.168.1.0 255.255.255.0 any eq 443
access-list aclout extended permit tcp 192.168.1.0 255.255.255.0 any eq 21
access-list aclout extended permit tcp 192.168.1.0 255.255.255.0 any eq 20
access-list aclout extended permit udp 192.168.1.0 255.255.255.0 any eq 123


Ne pas oublier d'appliquer l'acces-list à l'interface inside : aclout (ce qui rentre dans l'interface inside pour sortir ensuite
access-group aclout in interface inside

A+

Je te laisse le soin de voir des explications plus complètes sur cisco.com
3
Un énorme merci pour tout ça, j'avance bien grâce à toi.
Sur le site de cisco tout n'est pas expliqué en précision, on ne peut le comprendre que si on connait déjà presque tout, ce qui est dommage.
Merci encore, j'espere que si j'ai d'autres questions tu sera aussi disponible
0
brupala Messages postés 109497 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 3 mai 2024 13 627
17 déc. 2009 à 18:23
Salut,
Syslog,
ça m'énerve un de lire tout ça:
travailler sur ce genre d'outils demande une vraie formation quand on est dans un cadre professionnel.
j'ai du mal à avoir envie d'être gentil avec des employeurs qui utilisent des gens sans vouloir les former, comme c'était naturel et que ça fonctionne tout seul.
De même pour les techniciens qui essaient de se mettre en valeur par rapport à leur employeur alors qu'ils ne maitrisent pas la machine qu'on leur confie, ou pire qu'il vont aller installer chez un client.
Les formations cisco ou autres sont là pour assurer aux clients qu'ils travaillent avec des fournisseurs compétents.
Donc , la prochaine fois, demande à ton employeur une formation cisco , tu y gagneras immédiatement, lui aussi sur la durée et surtout vos clients prendront moins de risques.
0
Merci brupala mais c'est pour un projet d'étudiant en IUT, il n'y a pas d'employeur, ce qui n'empeche qu'on galère^^.

Avec les informations données nous avons essayé cette configuration:

global (outside) 1 192.168.10.51 netmask 255.255.255.255
nat (inside) 1 192.168.0.0 255.255.255.0
static (inside,outside) 192.168.10.101 192.168.0.2 netmask 255.255.255.255

Normalement l'inside 192.168.0.2 devrait pouvoir être accessible d'puis l'outside avec l'ip 192.168.10.101.
De même l'inside 192.168.0.2 devrait pouvoir accéder au réseau outside en prenant pour ip de l'autre côté " 192.168.10.51.

Avons nous fait une erreur quelque part? Cela ne fonctionne pas, faut-il rajouter une ligne de base ou autre?
Merci!
0
plebras Messages postés 422 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 3 juillet 2019 121
7 janv. 2010 à 13:58
L'adresse 192.168.0.2 est nattée sur 192.168.10.101. cette relation est bi -directionnelle et prioritaire sur le global

Cette adresse 192.168.0.2 sort donc sur l'adresse 192.168.10.101 (et non sur sur la 192.168.10.51)
Cette adresse sera accessible depuis l'outside sur l'adresse 192.168.10.101 c'est exact

Ce sont les autres adresses qui vont sortir sur l'adresse 192.168.10.51


Donc si çà ne marche pas, il peut avoir d'autre causes :
il manque la route vers outside,
les access-list ne sont pas bonnes,
les access-list ne sont pas affectées aux interfaces (ou ne sont pas dans le bon sens in/out)

Autre cause : faire un write mem et rebooter l'asa (ou faire : clear xlate pour vider les anciens mappages de la mémoire).
Du fait du arp cache , s'il y a un routeur/modem pour l'accès outside, il peut être également nécessaire de rebooter le routeur vers l'outside après l'ajout d'un mappage qui ne se trouve pas sur l'interface externe de l'asa.

Autre cause également fréquente : erreur de netmask dans certaines définitions.

Merci de poster l'intégralité de la configuration

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,
Donc:
static (inside,outside) 192.168.10.101 192.168.0.2 netmask 255.255.255.255
permet de communiquer dans les deux sans avec 0.2 en gros.

Au sujet de la route je ne comprends pas l'interet, une route n'est-elle pas faite pour indiquer où aller si on ne connais pas l'ip de destination? Ici nous faisons par exemple des pings sur des ips, est-ce utile? Pourquoi?

Il n'y a aucun autre matériel sur notre réseau que le parefeu et un poste en outside et un poste inside.

Il n'y a normalement aucunes ACL, nous avons fais un write mem au début, voici notre config, et merci de ta réponse:


PIX Version 7.0(1)
names
!
interface Ethernet0
nameif outside
security-level 0
ip address 192.168.10.1 255.255.255.0
!
interface Ethernet1
nameif inside
security-level 100
ip address 192.168.1.1 255.255.255.0
!
interface Ethernet2
shutdown
no nameif
no security-level
no ip address
!
interface Ethernet3
shutdown
no nameif
no security-level
no ip address
!
interface Ethernet4
shutdown
no nameif
no security-level
no ip address
!
interface Ethernet5
shutdown
no nameif
no security-level
no ip address
!
enable password 8Ry2YjIyt7RRXU24 encrypted
passwd Vq4S0O3Iy598V/s2 encrypted
hostname pixlog
domain-name domain.fr
ftp mode passive
pager lines 24
logging enable
logging standby
logging trap informational
logging facility 19
logging host inside 192.168.1.2
mtu outside 1500
mtu inside 1500
no failover
monitor-interface outside
monitor-interface inside
asdm image flash:/asdm-501.bin
no asdm history enable
arp timeout 14400
global (outside) 1 192.168.10.51 netmask 255.255.255.255
nat (inside) 1 192.168.1.0 255.255.255.0
static (inside,outside) 192.168.10.101 192.168.1.2 netmask 255.255.255.255
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00
timeout mgcp-pat 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05:00 absolute
http server enable
http 192.168.0.2 255.255.255.255 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp
telnet 192.168.0.2 255.255.255.255 inside
telnet timeout 5
ssh timeout 5
console timeout 0
!
class-map inspection_default
match default-inspection-traffic
!
!
policy-map global_policy
class inspection_default
inspect dns maximum-length 512
inspect ftp
inspect h323 h225
inspect h323 ras
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
!
service-policy global_policy global
Cryptochecksum:e300f493f10740a667984281186862b9
: end


Cordialement.
0
plebras Messages postés 422 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 3 juillet 2019 121
11 janv. 2010 à 11:45
Re

Par defaut les flux sont autorisés d'une interface de sécurité forte vers une interface de sécurité faible mais pas l'inverse: donc si tu fais un ping depuis l'inside vers l'outside, l'icmp echo request va sortir mais l'icmp reply ne va pas pouvoir rentrer (ce n'est pas une session) . Il faut donc impérativement une access-list qui va autoriser le retour (ou egalement l'icmp request depuis l'outside vers l'inside)

access-list aclin extended permit icmp any any (ou plus spécifique avec host ou plus specifique avec uniquement echo-reply ou request)

+ idem pour les autres protocoles

par exemple pour autoriser http vers ton server

access-list aclin extended permit tcp any host 192.16810.101 eq 80



Ne pas oublier d'appliquer l'acces-list à l'interface Outside : aclin (ce qui rentre dans l'interface outside=
access-group aclin in interface outside

effectivement dans votre schéma, la route par défaut vers outside ne sert pas (mais dans le vraie vie, oui)
A+
0
Merc beaucoup c'est la donnée qui nous manquait (le fait que de base des choses soit autorisés ou pas), avec cet ACL nous pouvons désormais communiquer comme nous le souhaitons, récupérer des logs interressant, et les traiter comme il se doit.
Merci pour votre aide et à bientot peut-être!
0