Cisco pix nat pat

syslog -  
 Syslog -
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!
Configuration: Windows XP
Opera 9.80

7 réponses

  1. plebras Messages postés 452 Statut Membre 121
     
    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
    1. syslog
       
      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
  2. brupala Messages postés 111170 Date d'inscription   Statut Membre Dernière intervention   14 454
     
    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
  3. Syslog
     
    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
  4. plebras Messages postés 452 Statut Membre 121
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. syslog
     
    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
  7. plebras Messages postés 452 Statut Membre 121
     
    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
  8. Syslog
     
    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