108
SERVICES TCP (2/2)

SERVICES TCP (2/2)

Embed Size (px)

DESCRIPTION

SERVICES TCP (2/2). Protocoles ARP / RARP. Protocole ARP. Address Resolution Protocol - RFC 826 Permet de résoudre l'adresse physique d'une machine à partir de son adresse logique (IP) Principe de fonctionnement : A souhaite dialoguer avec B via un réseau (Ethernet par exemple) - PowerPoint PPT Presentation

Citation preview

Page 1: SERVICES TCP (2/2)

SERVICES TCP (2/2)

Page 2: SERVICES TCP (2/2)

Protocoles ARP / RARP

Page 3: SERVICES TCP (2/2)

Protocole ARP• Address Resolution Protocol - RFC 826

– Permet de résoudre l'adresse physique d'une machine à partir de son adresse logique (IP)

– Principe de fonctionnement :• A souhaite dialoguer avec B via un réseau (Ethernet par exemple)

• A ne connaît pas l'adresse Ethernet de B, mais son adresse IP

• A envoie une requête ARP en diffusion sur le réseau

• B transmet son adresse Ethernet dans une réponse ARP

• A conserve cette adresse en mémoire dans une table ARP(prévoir un temporisateur de validité des données pour s'assurer de l'existence des stations)

Page 4: SERVICES TCP (2/2)

Protocole ARP

• Address Resolution Protocol - RFC 826– Evite d'avoir une base de données (couple d'adresses) centrale

– Les requêtes ARP restent locales (non transmises par les routeurs)

– ARP est un protocole de résolution d'adresse ouvert ;il n'est pas restreint à la résolution des adresses Ethernet et IP

– Le datagramme ARP est transporté avec un champ type Ethernet 0806

Page 5: SERVICES TCP (2/2)

132.156.1.2

Requêtes ARP

132.156.1.0

132.156.1.10132.156.1.1

Réponse ARPA B

C

Protocole ARP

• Dialogue de A vers B :• A émet une requête ARP

– IP(A)=132.156.1.1– IP(B)=132.156.1.10– Eth(A)=080026234567– Eth(B)=???

• B renvoie une réponse ARP

Page 6: SERVICES TCP (2/2)

RouteurProxy ARP

Récupération de la requêteRéponse avec adresse physique du routeur

132.156.2.0

132.156.2.1

Requêtes ARP

Réponse ARPdu routeur

132.156.1.0

132.156.1.10132.156.1.1Réponse ARPA B

C

Protocole ARP

• Dialogue de A vers C :

– A émet une requête ARP

– routeur (ayant proxy ARP) renvoie une réponse ARP

Le proxy-ARP (RFC 1027) …

Page 7: SERVICES TCP (2/2)

1234567

Ethernet (10 Mb/s)Exp. Ethernet (3 Mb/s)

Amateur Radio X25PronetChaos

IEEE 802Arcnet

N° Description

0001000200030004

Requête ARPRéponse à réquête ARPRequête ARPRéponse à requête RARP

DescriptionN°

Adresse destination protocole (32 bits)

Champ type de Protocole (ex : 0800 pour IP)

Longueur adresse Physique (6) Longueur adresse Protocole (4)

Code de l'opération ARP

Adresse source physique (48 bits)

Adresse source protocole IP (32 bits)

Adresse destination physique (48 bits)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Champ type couche Physique (ex : 0001 pour Ethernet)

Protocole ARP

• Format paquet ARP

Page 8: SERVICES TCP (2/2)

Protocole InterfaceAdresse physiqueAdresse

IPIPIPIP

IP IPIPIP

Eth0 Eth0 Eth1TR0 TR0Eth2 Eth2 Eth2

02608C2EC381 08002007F0FA 02608C2ECC38 550020003C5E 10004566FA12 02608C2EC380 02608CFAFE12 55002000E4E5

131.122.1.2 131.122.1.3 132.122.1.1132.123.1.2 132.123.1.3 28.2.10.10 28.2.10.11 28.2.10.11

Protocole ARP Exemple de table ARP de routeur

Page 9: SERVICES TCP (2/2)

Cas du Proxy ARP:

fonction intégrée de base à un routeur

Page 10: SERVICES TCP (2/2)

DHCP

Page 11: SERVICES TCP (2/2)

• Dynamic Host Configuration Protocol– Avantages :

• permet de s'affranchir de l'attribution statique des adresses IP

• augmente la sécurité– Architecture client/serveur :

• serveur DHCP (attribue les adresses IP)

• clients DHCP (sans adresse IP fixe)

132.156.1.0

132.156.1.100

132.156.1.4

132.156.1.1 132.156.1.2 132.156.1.3

sans DHCP

132.156.1.0

132.156.1.100

0.0.0.0

0.0.0.0 0.0.0.0 0.0.0.0

avec DHCPpool d'ad. IP132.156.1.1132.156.1.2132.156.1.3. . .

S

A B C

D

S

A B C

D

Service ARPA : DHCP (RFC 2131)

Page 12: SERVICES TCP (2/2)

• Le protocole BOOTP permet aux clients sans disque de démarrer et de configurer automatiquement TCP/IP. Le protocole DHCP (Dynamic Host Configuration Protocol) constitue une extension de BOOTP. Il centralise et gère l’attribution des informations de configuration TCP/IP en affectant automatiquement des adresses IP à des ordinateurs configurés pour utiliser DHCP.

• Un serveur DHCP donne les informations suivantes à son client :

1 Une @ IP 2 Un masque de sous-réseau 3 Une adresse de passerelle par défaut, une adresse DNS et

une adresse WINS.

Page 13: SERVICES TCP (2/2)

– Fonctionnement

• Un serveur DHCP configure son client grâce à un processus en quatre phases :

1 Demande de bail (DHCPDISCOVER).En effet, le poste client va demander une adresse IP au()x serveur(s) en utilisant 0.0.0.0 comme adresse source et 255.255.255.255 comme adresse de destination.

2 Proposition de bail (DHCPOFFER). Le serveur DHCP va envoyer une proposition au client (@ IP, durée de bail, @ matérielle du client, masque et @ IP du serveur DHCP).

3 Sélection de bail (DHCPREQUEST). Le client va accepter la première proposition qu’il a reçu en informant les autres serveurs DHCP de sa sélection.

Page 14: SERVICES TCP (2/2)

4 Accusé de réception du bail IP (DHCPACK). Le serveur DHCP va envoyer au client un accusé de réception validant le bail. Il se peut que le serveur DHCP renvoie le message DHCPNACK pour confirmer la non conclusion du bail.

– Une adresse IP proposé par un serveur DHCP a une durée de vie limitée appelé bail. Lorsque le client aura atteint 50% de sa durée, il envoiera un DHCPREQUEST à son serveur DHCP afin de le renouveler.

Page 15: SERVICES TCP (2/2)

Lorsqu’on rallume l’ordinateur, celui-ci a gardé, dans son registre, son @ IP. Il envoie un message au serveur DHCP demandant s’il peut réutiliser cette @.

Si un réseau d’entreprise est en formé de sous-réseaux, il faut que les routeurs agissent en tant qu’agents de relais DHCP.

Si les routeurs ne sont pas des agents de relais, alors il faut un serveur DHCP sur chaque sous-réseau.

Page 16: SERVICES TCP (2/2)

– Installation

• Un service DHCP s’installe sur un serveur Windows ou UNIX Il a besoin d’une @ IP statique, d’un masque de sous-réseau, et d’une étendue DHCP.

• Attention, certains serveurs sensibles ont besoin d’une @ IP statique tel que le PDC.– Commandes (sur MS Windows)

• IPCONFIG /ALL permet d’obtenir la configuration IP du système d’exploitation de l’ordinateur et de la carte réseau.

• IPCONFIG /RELEASE permet la libération d’un bail.• IPCONFIG /RENEW permet la mise à jour d’un bail….

Page 17: SERVICES TCP (2/2)

– Configuration sur un routeur Cisco

• ip dhcp excluded-address 172.16.1.100 172.16.1.103

• ip dhcp pool 0 network 172.16.0.0 /16 • domain-name cisco.com • dns-server 172.16.1.102 172.16.2.102 • netbios-name-server 172.16.1.103 172.16.2.103

• netbios-node-type h-node • default-router 172.16.1.100 • lease 30 (en JJ :HH :MM ou infinite, default = 1 jour)

Page 18: SERVICES TCP (2/2)

Service ARPA : DHCP

– le format du paquet DHCP est similaire à celui de BootP

– Options DHCP– 2 Offre DHCP– 3 Demande DHCP– 4 Décline DHCP– 5 Ack DHCP– 6 Nack DHCP– 7 Résilier DHCP

Code (53) longueur Type (1-7)

Page 19: SERVICES TCP (2/2)

Inconvénients:

Disponibilité des serveurs DHCP

Sécurité (wifi, serveur non officiel)

Page 20: SERVICES TCP (2/2)

Les requêtes DHCP étant envoyées en broadcast (à tout le monde) sur le réseau, il est possible pour une personne mal intentionnée d’utiliser son propre serveur DHCP afin de diffuser des configurations malicieuses.En effet, cela est possible en laissant le serveur DHCP pirate répondre plus rapidement aux requêtes DHCP que le serveur DHCP présent sur le réseau, offrant ainsi aux utilisateurs des configurations prédéfinies et destinées à des actions malicieuses

Page 21: SERVICES TCP (2/2)
Page 22: SERVICES TCP (2/2)

Réseau avec DHCP Snooping

Le principe de fonctionnement du DHCP Snooping est simple. Etant donné que les requêtes DHCP Offer et DHCP ACK peuvent provenir uniquement des serveurs DHCP, il suffit donc de déterminer sur les commutateurs (switchs) les ports autorisés à diffuser ces requêtes.De cette manière, seuls les ports configurés comme étant des ports de confiance (trusted port), pourrons renvoyer aux postes clients des configurations réseaux.

Page 23: SERVICES TCP (2/2)
Page 24: SERVICES TCP (2/2)

Class ID DHCP

But: personnaliser les informations données par DHCP

à chaque poste d’une même étendue

Page 25: SERVICES TCP (2/2)

ICMP

Page 26: SERVICES TCP (2/2)

• Protocole ICMP RFC 792, 896, 1256

– Principales caractéristiques :• protocole de report d'erreurs dans l'environnement IP• fonctionne en mode non connecté• messages ICMP acheminés par IP• fait partie obligatoirement des modules logiciels IP

– Quelques utilisations :• commande "ping"• commande "traceroute"

Page 27: SERVICES TCP (2/2)

Protocole ICMP : Format des paquets ICMP• TYPE :

– nature du message ICMP et format du paquet

• CODE :– code de l'erreur reportée

• CHECKSUM :– vérification de l'intégrité du message ICMP (identique au calcul du checksum IP)

• DONNEES : – dépend du type de message ICMP (généralement l'entête IP plus les premiers

octets du datagramme à l'origine du message d'erreur)

CodeChecksum

Type

0 8 15

DATA

Page 28: SERVICES TCP (2/2)

Protocole ICMP

• champ « type » :

Quelques valeurs du champ code pour type = 3 (Destination Unreachable)

Type Message ICMP

03458

1112131415161718

Echo ReplyDestination Unreachable -->Source QuenchRedirectEcho RequestTime Exceeded for a DatagramParameter ProblemTimestamp RequestTimestamp ReplyInformation RequestInformation ReplyAddress Mask RequestAddress Mask Reply

Code Description

012345

Network UnreachableHost UnreachableProtocol UnreachablePort unreachableFragm. needed and DF setSource route failed

CodeChecksum

Type

DATA

Page 29: SERVICES TCP (2/2)

ICMP : Ping à travers un routeur

@ IP @ Mac

routeur routeurA routeur

Requête Echo

@D = @ B @S = @ A@D Mac = @ FFFFF @S Mac = A

A B

Configuration

- @ IP station- Masque associé- @ IP passerelle

Table ARPRouteur

Configuration

- @ IP station- Masque associé- @ IP passerelle

Requête Echo

@D = @ B @S = @ A@D Mac = @FFFFFF @S Mac = R

Phys

MAC

IP

ICMP

@D = @ A @S = @ B @D Mac = @R @S Mac = B

NET portA 1B 2

Table routage

Réseau A Réseau B1 2

Réponse Echo

Page 30: SERVICES TCP (2/2)

ICMP : commande traceroute

R1 R2 R3 RnTTL=1

TTL=2TTL=3

TTL=n

ICMP TTL Exceeded

A

B

• Traceroute

Page 31: SERVICES TCP (2/2)

•Traceroute est un outil logiciel (couche applicative) :

–permet d'identifier les différents noeuds (routeurs) traversés par un datagramme IP destiné à une machine distante

–basé sur l'utilisation des messages ICMP de type «TTL Exceeded»

Page 32: SERVICES TCP (2/2)

HSRP: hot standby redundant protocol

Page 33: SERVICES TCP (2/2)

Configuration 1er routeur

Interface Ethernet0 ip address 171.16.6.5 255.255.255.0standby 1 ip 171.16.6.100!--- Assigns a standby group and standby IP addressstandby 1 priority 105!--- Assign a priority (105 in this case) to the router interface (e0)!--- for a particular group number (1). The default is 100.Standby 1 preempt!--- Allows the router to become the active router when its priority !--- is higher than all other HSRP-configured routers in the hot standby group.

Page 34: SERVICES TCP (2/2)

!--- If you do not use the standby preempt command in the configuration !--- for a router, that router will not become the active router, even if !--- its priority is higher than all other routers. Standby 1 track Serial0!--- Indicates that HSRP will track Serial0 interface. !--- The interface priority can also be configured which indicates the !--- amount by which the router priority is decremented when !--- the interface goes down. The default is 10.interface Serial0 ip address 171.16.2.5 255.255.255.0

Page 35: SERVICES TCP (2/2)

Configuration 2nd routeurinterface Ethernet0ip address 171.16.6.6 255.255.255.0!--- Assigns an IP address to the interface.standby 1 ip!--- Indicates the hot standby group. Here the IP address of the virtual router !--- is not configured. See the note below.standby 1 preempt!--- Allows the router to become the active router when its priority !--- is higher than all other HSRP-configured routers in the hot standby group. !--- If you do not use the standby preempt command in the configuration !--- for a router, that router will not become the active router, even if

Page 36: SERVICES TCP (2/2)

!--- its priority is higher than all other routers. standby 1 track Serial1!--- Indicates that HSRP will track Serial1 interface. !--- The interface priority can also be configured which indicates the !--- amount by which the router priority is decremented when !--- the interface goes down. The default is 10.!--- The priority is also not configured and hence the default !--- priority value of 100 is applied.interface Serial1ip address 171.16.7.6 255.255.255.0

Page 37: SERVICES TCP (2/2)

Note: R2 does not have a standby IP address configured. This is intentional in order to demonstrate that this is a valid configuration. When R1 and R2 exchange HSRP hellos, R2 learns the standby IP address from R1.

Configuring R2 with a standby IP address (same standby address configured on R1) is also a valid configuration.

Page 38: SERVICES TCP (2/2)

R1#show standbyEthernet0 - Group 1Local state is Active, priority 105, may preemptHellotime 3 sec, holdtime 10 secNext hello sent in 1.458Virtual IP address is 171.16.6.100 configuredActive router is localStandby router is 171.16.6.6 expires in 8.428Virtual mac address is 0000.0c07.ac012 state changes, last state change 02:09:49IP redundancy name is "hsrp-Et0-1" (default)Priority tracking 1 interface, 1 up:Interface Decrement StateSerial0 10 Up

Page 39: SERVICES TCP (2/2)

R2#show standbyEthernet0 - Group 1Local state is Standby, priority 100, may preemptHellotime 3 sec, holdtime 10 secNext hello sent in 1.814Virtual IP address is 171.16.6.100Active router is 171.16.6.5, priority 105 expires in 9.896Standby router is local3 state changes, last state change 00:10:21IP redundancy name is "hsrp-Et0-1" (default)Priority tracking 1 interface, 1 up:Interface Decrement StateSerial1 10 Up

Page 40: SERVICES TCP (2/2)

Translation d’adresse NAT

Principes d’adressage public/privé

Pénurie d’adresses officiellesSécurité

RFC 191810.0.0.0 - 10.255.255.255 ( ? prefix) 172.16.0.0 - 172.31.255.255 ( ? prefix) 192.168.0.0 - 192.168.255.255 ( ? prefix) Discard des trames par 1er routeur Internet traverséSolution : translation d’adresses … mais :Important : Sensibilité des applications …

Page 41: SERVICES TCP (2/2)

Network AddressTranslation

Dans sa plus simple configuration, le NAT s’opère sur un routeur à 2 interfaces : une “ inside ” avec des adresses non autorisées ou non routées sur Internet qui doivent donc être translatées (converties) en adresses légales (officielles, publiques) avant de sortir vers l’extérieur (par la seconde interface : “ outside ”).

NAT est défini notamment dans le RFC 1631

Page 42: SERVICES TCP (2/2)
Page 43: SERVICES TCP (2/2)

Inside NAT addressing

Page 44: SERVICES TCP (2/2)

NAT outside addressing

Page 45: SERVICES TCP (2/2)

Inside local; Configured IP address assigned to a host on the inside network. Address may be globally unique, allocated out of the private address space defined in RFC 1918, or might be officially allocated to another organization.

Inside global; The IP address of an inside host as it appears to the outside network, "Translated IP Address." Addresses can be allocated from a globally unique address space, typically provided by the ISP (if the enterprise is connected to the global Internet).

Outside local; The IP address of an outside host as it appears to the inside network. Outside global; The configured IP address assigned to a host in the outside network.

Page 46: SERVICES TCP (2/2)

Principales caractéristiques

Static Address Translation

Etablissement d’un mapping un-pour-un entre adresses locales and globales

Dynamic Address Translation

Etablissement d’un dynamic mapping entre adresses locales and globalesDéfinition d’un pool d’adresses pour l’allocation des global addresses.Intéressant lorsque le nombre d’adresses officielles est inférieur au nombre d’adresses locales (fréquent).

Match Host

Affecter la même Host portion d’une IP Address et translater seulement le Network prefix. Utile pour identifier les users.

Page 47: SERVICES TCP (2/2)

Port Address Translation (PAT)

Several internal addresses can be NATed to only one or a few external addresses by using a feature called Port Address Translation (PAT) which is also referred to as "overload," a subset of NAT functionality. PAT uses unique source port numbers on the Inside Global IP address to distinguish between translations. Because the port number is encoded in 16 bits, the total number could theoretically be as high as 65,536 per IP address. PAT will attempt to preserve the original source port, if this source port is already allocated PAT will attempt to find the first available port number starting from the beginning of the appropriate port group 0-511, 512-1023, or 1024-65535. If there is still no port available from the appropriate group and more than one IP address is configured, PAT will move to the next IP address and try to allocate the original source port again. This continues until it runs out of available ports and IP addresses.

Page 48: SERVICES TCP (2/2)

Concepts PAT

Page 49: SERVICES TCP (2/2)

Destination Address Rotary Translation

A dynamic form of destination translation can be configured for some outside-to-inside traffic. Once a mapping is set up, a destination address matching one of those on an access list will be replaced with an address from a rotary pool. Allocation is done in a round-robin basis, performed only when a new connection is opened from the outside to the inside. All non-TCP traffic is passed untranslated (unless other translations are in effect). This feature was designed to provide protocol translation load distribution. It is not designed to be used as a substitute technology for Cisco's LocalDirector product. Destination address rotary translation should not be used to provide Web service load balancing because it knows nothing about service availability. As a result, if a Web server were to become offline, the destination address rotary translation feature would continue to send requests to the downed server.

Page 50: SERVICES TCP (2/2)
Page 51: SERVICES TCP (2/2)

Limites du NAT

Traffic Types/Applications supportés Tout TCP/UDP traffic qui ne comporte pas de source and/or destination IP addresses dans la partie application de la trame.+ Applications avec « verrue NAT »HTTPTFTPtelnet …

Problème résiduel: Netmeeting v3 …

Page 52: SERVICES TCP (2/2)

Conclusions:

Eviter NAT au sein d’une même entreprise

Cas des fusions de 2 sociétés

Pérennité de connectivité ??

Redéfinition d’un nouveau plan d’adressage : lourd mais préférable

Page 53: SERVICES TCP (2/2)

Cisco Configuration Commands

Interface Configuration Commands

ip nat { inside | outside }Interfaces need to be marked whether they are on the inside or the outside.

Global Configuration Commands: Defining a pool

ip nat pool <name> <start-ip> <end-ip> { netmask <netmask>| prefix-length <prefix-length> } [type {rotary}]

Defines a pool of addresses using start address, end address, and netmask. These addresses will be allocated as needed.

Page 54: SERVICES TCP (2/2)

Enabling translation of inside source addresses

ip nat inside source { list <acl> pool <name> [overload] |static <local-ip><global-ip> }

The first form enables dynamic translation. Packets from addresses that match those on the simple access list are translated using global addresses allocated from the named pool. The optional keyword overload enables port translation for UDP and TCP. The term overload is equivalent to Port Address Translation (PAT).The second form of the command sets up a single static translation.

Page 55: SERVICES TCP (2/2)

Enabling translation of inside destination addresses

ip nat inside destination { list <acl> pool <name> |static <global-ip> <local-ip> }

Commande similaire à la « source translation command ».

For dynamic destination translation to make any sense, the pool should be a rotary-type pool. (option rotary dans l’IP nat pool correspondant).

Mais quel besoin ? ? ? voir le dernier exemple de ce chapitre …

Page 56: SERVICES TCP (2/2)

Enabling translation of outside source addresses

ip nat outside source { list <acl> pool <name> | static <global-ip> <local-ip> }

The first form (list..pool..) enables dynamic translation. Packets from addresses that match those on the simple access list are translated using local addresses allocated from the named pool. The second form (static) of the command sets up a single static translation.Quel besoin : par exemple cas d’un réseau outside de même adresse réseau que le réseau inside …cas d’une société qui n’aurait pas choisi des adresses officielles ou conformes au RFC1918…

Page 57: SERVICES TCP (2/2)

Configuring translation timeouts

ip nat translation timeout <seconds>

Dynamic translations time out after a period of non-use. When port translation is not configured, translation entries time out after 24 hours. This time can be adjusted with the above command or the following variations: ip nat translation udp-timeout <seconds>ip nat translation dns-timeout <seconds>ip nat translation tcp-timeout <seconds>When port translation is configured, there is finer control over translation entry timeouts, because each entry contains more context about the traffic using it. Non-DNS UDP translations time out after 5 minutes; DNS times out in 1 minute. TCP translations time out after 24 hours.

Page 58: SERVICES TCP (2/2)

Exec Commands

Show active translations

show ip nat translations [ verbose ]Show translation statistics

show ip nat statisticsClearing dynamic translations

clear ip nat translation * Clears all dynamic translations. clear ip nat translation <global-ip> Clears a simple translation. clear ip nat translation <global-ip> &ltlocal-ip> <proto> <global-port> <local-port> Clears a particular dynamic translation.

Page 59: SERVICES TCP (2/2)

Debugging

debug ip nat [ <list> ] [ detailed ]

Page 60: SERVICES TCP (2/2)

Exemples de Configuration

The following sample configuration translates between inside hosts addressed from either the 192.168.1.0 or 192.168.2.0 nets to the globally-unique 171.69.233.208/28 network.

La translation ne concerne que ces 2 seuls réseaux.

Page 61: SERVICES TCP (2/2)

ip nat pool net-20 171.69.233.209 171.69.233.223 netmask 255.255.255.240ip nat inside source list 1 pool net-20!interface Ethernet0ip address 171.69.232.182 255.255.255.240ip nat outside!interface Ethernet1ip address 192.168.1.94 255.255.255.0ip nat inside!access-list 1 permit 192.168.1.0 0.0.0.255access-list 1 permit 192.168.2.0 0.0.0.255

Page 62: SERVICES TCP (2/2)

The next sample configuration translates between inside hosts addressed from the 9.114.11.0 net to the globally unique 171.69.233.208/28 network.

Packets from outside hosts addressed from 9.114.11.0 net (the "true" 9.114.11.0 net) are translated to appear to be from net 10.0.1.0/24.

Cas d’une société qui n’aurait pas choisi comme adressage interne un adressage public ou conforme au RFC1918.

Page 63: SERVICES TCP (2/2)

ip nat pool net-20 171.69.233.209 171.69.233.223 netmask 255.255.255.240ip nat pool net-10 10.0.1.1 10.0.1.254 netmask 255.255.255.0ip nat inside source list 1 pool net-20ip nat outside source list 1 pool net-10interface Ethernet0ip address 171.69.232.182 255.255.255.240ip nat outsideinterface Ethernet1ip address 9.114.11.39 255.255.255.0ip nat inside!access-list 1 permit 9.114.11.0 0.0.0.255La translation ne concerne que ce seul réseau.

Page 64: SERVICES TCP (2/2)

Configuration du pool:

The pool configuration syntax has been extended to allow discontiguous ranges of addresses : ip nat pool <name> { netmask <mask> | prefix-length <length> } This command will put the user into IP NAT Pool configuration mode, where a sequence of address ranges can be configured. There is only one command in this mode: address <start> <end> Router(config)#ip nat pool fred prefix-length 24Router(config-ipnat-pool)#address 171.69.233.225 171.69.233.226Router(config-ipnat-pool)#address 171.69.233.228 171.69.233.238

This configuration creates a pool containing addresses 171.69.233.225-226 and 171.69.233.228-238 (171.69.233.227 has been omitted).

Page 65: SERVICES TCP (2/2)

Translating to interface's address

As a convenience for users wishing to translate all inside addresses to the address assigned to an interface on the router, the NAT code allows one to simply name the interface when configuring the dynamic translation rule: ip nat inside source list <number> interface <interface> overload

If there is no address on the interface, or it the interface is not up, no translation will occur.

Example: ip nat inside source list 1 interface Serial0 overload

Page 66: SERVICES TCP (2/2)

Static translations with ports:

Services on the inside network (like mail) will require additional configuration. This command allows the user to map certain services of certain inside hosts.

ip nat inside source static { tcp | udp } <localaddr> <localport> <globaladdr> <globalport> Example: ip nat inside source static tcp 192.168.10.1 25 171.69.232.209 25

Page 67: SERVICES TCP (2/2)

Translation Entry Limit

Using the following command, Cisco IOS NAT can be configured to limit the number of translation entries it creates.

The default is that there is no limit.

ip nat translation max-entries <n>

Page 68: SERVICES TCP (2/2)

Provide TCP Load Distribution

Another use of NAT is unrelated to Internet addresses. Your organization may have multiple hosts that must communicate with a heavily used host. Using NAT, you can establish a virtual host on the inside network that coordinates load sharing among real hosts. Destination addresses that match an access list are replaced with addresses from a rotary pool. Allocation is done in a round-robin basis, and only when a new connection is opened from the outside to the inside. Non-TCP traffic is passed untranslated (unless other translations are in effect).

Page 69: SERVICES TCP (2/2)

The router performs the following process when translating rotary addresses:1.The user on Host B (9.6.7.3) opens a connection to virtual host at 1.1.1.127.

2.The router receives the connection request and creates a new translation, allocating the next real host (1.1.1.1) for the inside local IP address.

3.The router replaces the destination address with the selected real host address and forwards the packet.

4.Host 1.1.1.1 receives the packet and responds.

5.The router receives the packet, performs a NAT table lookup using the inside local address and port number, and the outside address and port number as the key. The router then translates the source address to the address of the virtual host and forwards the packet.

The next connection request will cause the router to allocate 1.1.1.2 for the inside local address.

Page 70: SERVICES TCP (2/2)

Note The access list must permit only those addresses that are to be translated. (Remember that there is an implicit "deny all" at the end of each access list.) An access list that is too permissive can lead to unpredictable results.

In the following example, the goal is to define a virtual address, connections to which are distributed among a set of real hosts. The pool defines the addresses of the real hosts. The access list defines the virtual address. If a translation does not already exist, TCP packets from serial 0 (the outside interface) whose destination matches the access list are translated to an address from the pool.

Page 71: SERVICES TCP (2/2)

ip nat pool real-hosts 192.168.15.2 192.168.15.15 prefix-length 28 type rotaryip nat inside destination list 2 pool real-hosts!interface serial 0 ip address 192.168.15.129 255.255.255.240 ip nat outside!interface ethernet 0 ip address 192.168.15.17 255.255.255.240 ip nat inside!access-list 2 permit 192.168.15.1

Page 72: SERVICES TCP (2/2)

Firewall – Pare-feux-Caractéristiques générales et offre du marché

Firewall applicatifs basé sur PC + OS connu (Unix, NT, Win2K, …)Exemple : Firewall-1 de Checkpoint Software

Notion statefull

Firewall basé sur boitier standalone et OS propriétaire Exemple : PIX Cisco

Offre Cisco : Cisco PIX 501 (option failover) IOS firewall pour routeur Cisco (mémoires requises)

Page 73: SERVICES TCP (2/2)
Page 74: SERVICES TCP (2/2)

Architecture DMZ

1.sans DMZ (sécurité)- routeur avec FW intégré- routeur + FW (2 interfaces)

2. DMZ : FW (> 2 interfaces)

Page 75: SERVICES TCP (2/2)

PIX Cisco

OS Similaire à IOS Cisco mais ce n’est pas un IOS, commandes différentes

Modes d’accès : identique IOSUnprivileged mode : ">" prompt. Privileged mode : t "#" Enable, disable, exit, or quit Configuration mode "(config)#" prompt avec la commade configure terminal

0 represents 0.0.0.0.

Backupswrite memory tftp-server, write net

Page 76: SERVICES TCP (2/2)

Configuration des Interfaces du Firewall

Assignation des IP Address and Subnet Mask

ip address inside ip_address netmask

ip address outside ip_address netmask

Exemple:ip address inside 192.168.1.1 255.255.255.0

Page 77: SERVICES TCP (2/2)

Changer les noms d’Interface et les Security Levels (optionnel)

nameif ethernet0 outside security0 (default)nameif ethernet1 inside security100 (default)nameif ethernet2 intf2 security10 (default)Show nameifDonner des noms significatifs : exemple : dmz1Niveaux de sécurité : 100 est maximale, 0 minimaleIls servent à contrôler les accès entre les systèmes des différentes interfaces.

Page 78: SERVICES TCP (2/2)

Principes

Pour accéder à une interface de basse sécurité depuis une interface de sécurité haute utiliser les commandes nat et global (voir exemples qui suivent). Par défaut pas de restriction (si une commande nat est activée). Utiliser des access-list pour restreindre les droits (selon l’adresse IP et/ou le port TCP/UDP).

Remarques : implicit deny (permit) all existe comme avec IOS. Le wildcard mask n’est pas utilisé on utilise le masque “ normal ”

Page 79: SERVICES TCP (2/2)

Pour accéder à un interface de haute sécurité depuis une interface de sécurité basse utiliser les commandes static et access-list (voir exemples qui suivent). Par défaut tout est interdit.

Remarques : dans les anciennes versions de PIX software (< v5), la commande conduit était utilisée (au lieu de static et access-list).

Page 80: SERVICES TCP (2/2)

Configuring the PIX Firewall for Routing

route outside 0 0 209.165.201.2 1 (route par defaut)

route inside 192.168.5.0 255.255.255.0 192.168.0.2 1

route dmz4 192.168.6.0 255.255.255.0 192.168.4.2 1

1 = next hop

Page 81: SERVICES TCP (2/2)

Outside: 209.165.201.2

Inside: 192.168.0.1

DMZ192.168.4.1

PIX

192.168.0.2

192.168.5.1

192.168.4.2Routeur

192.168.6.1

Routeur @ @209.165.201.2

Page 82: SERVICES TCP (2/2)

Etablir la connectivité Outbound avec NAT et PAT

Network Address Translation (NAT).

Port Address Translation (PAT) avec une seule globale IP address 64,000 ports sont en théorie disponibles (port codé sur 16 bits)

Le PIX Firewall associe une adresse interne avec une adresse globale en utilisant un NAT identifier (NAT ID).

Page 83: SERVICES TCP (2/2)

Ajouter une nat commande pour chaque interface de plus haut niveau de securité depuis laquelle vous voulez que des users puissent initialiser des connexions vers des interfaces de niveau de sécurité inférieur :

To let inside users start connections on any lower security interface, use the nat (inside) 1 0 0 command. To let dmz4 users start connections on any lower security interface such as dmz3, dmz2, dmz1, or the outside, use the nat (dmz4) 1 0 0 command.

Instead of specifying "0 0," to let all hosts start connections, you can specify a host or a network address and mask.For example, to let only host 192.168.2.42 start connections on the dmz2 interface, you could specify the following:nat (dmz2) 1 192.168.2.42 255.255.255.255

Page 84: SERVICES TCP (2/2)

LE "1" après l’interface est le NAT ID. NAT ID 0 means to disable Network Address Translation.Le NAT ID in the nat command has to be the same NAT ID you use for the corresponding global command.

global (outside) 1 209.165.201.5 netmask 255.255.255.224

global (outside) 1 209.165.201.10-209.165.201.20 netmask 255.255.255.224

Page 85: SERVICES TCP (2/2)

The first global command statement specifies a single IP address, which the PIX Firewall interprets as a PAT.

The PAT lets up to 65,535 hosts start connections to the outside. PIX Firewall permits one PAT global command statement for each interface. The second global command statement augments the pool of global addresses on the outside interface. The PAT creates a pool of addresses used only when the addresses in the first global command statement are in use.

Page 86: SERVICES TCP (2/2)

global (dmz1) 1 192.168.1.10-192.168.1.100 netmask 255.255.255.0

global (dmz2) 1 192.168.2.10-192.168.2.100 netmask 255.255.255.0

The global command statement for dmz1 lets users on the inside,dmz2, dmz3, and dmz4 start connections on the dmz1 interface.The global command statement for dmz2 lets users on the inside, dmz3, and dmz4 start connections on the dmz2 interface.

If you use network subnetting, specify the subnet mask with the netmask option.

Page 87: SERVICES TCP (2/2)

You can track usage among different subnets by mapping different internal subnets to different PAT addresses.

For example:nat (inside) 1 10.1.1.0 255.255.255.0nat (inside) 2 10.1.2.0 255.255.255.0global (outside) 1 192.168.1.1global (outside) 2 209.165.200.225 In this example, hosts on the internal network 10.1.1.0/24 are mapped to global address 192.168.1.1, and hosts on the internal network 10.1.2.0/24 are mapped to global address 209.165.200.225 in global configuration mode.

Page 88: SERVICES TCP (2/2)
Page 89: SERVICES TCP (2/2)

Example 1: Two Interfaces Without NAT nameif ethernet0 outside security0nameif ethernet1 inside security100interface ethernet0 10basetinterface ethernet1 10basetip address outside 209.165.201.3 255.255.255.224ip address inside 192.168.3.254 255.255.255.0hostname pixfirewallarp timeout 14400no failoverlogging buffered debuggingnat (inside) 0 192.168.3.0 255.255.255.0route outside 0.0.0.0 0.0.0.0 209.165.201.1 1access-list ping_acl permit icmp any anyaccess-group ping_acl in interface insideaccess-group ping_acl in interface outsidemtu outside 1500mtu inside 1500

Page 90: SERVICES TCP (2/2)

Example 2: Two Interfaces with NAT nameif ethernet0 outside security0nameif ethernet1 inside security100interface ethernet0 10basetinterface ethernet1 10basetip address outside 209.165.201.3 255.255.255.224ip address inside 192.168.3.1 255.255.255.0hostname pixfirewallarp timeout 14400no failoverlogging buffered debuggingnat (inside) 1 0 0global (outside) 1 209.165.201.10-209.165.201.30global (outside) 1 209.165.201.8route outside 0.0.0.0 0.0.0.0 209.165.201.1 1access-list ping_acl permit icmp any anyaccess-group ping_acl in interface insideaccess-group ping_acl in interface outsidemtu outside 1500mtu inside 1500

Page 91: SERVICES TCP (2/2)
Page 92: SERVICES TCP (2/2)

Exemple3: Interfaces sans NAT or PAT

The network has the following IP addresses and network masks:Outside network interface address: 209.165.201.2, network mask: 255.255.255.248 Inside network interface address: 209.165.201.9, network mask: 255.255.255.248 DMZ network interface address: 209.165.201.17, network mask: 255.255.255.248

Step 1 Identify the security level and names of each interface by entering the following commands: nameif ethernet0 outside security0nameif ethernet1 inside security100nameif ethernet2 dmz security50

Page 93: SERVICES TCP (2/2)

An additional nameif command is required for the third interface in this example.

Step 2 Identify the line speed of each interface by entering the following commands:interface ethernet0 10basetinterface ethernet1 10basetinterface ethernet0 100basetx Step 3 Identify the IP addresses for each interface:ip address outside 209.165.201.2 255.255.255.248ip address inside 209.165.201.9 255.255.255.248ip address dmz 209.165.201.17 255.255.255.248

Page 94: SERVICES TCP (2/2)

Step 4 Map access to the 209.165.201.19 host on the outside interface:static (dmz,outside) 209.165.201.5 209.165.201.19

Step 5 Use the access-list command to let any outside user access the DMZ host on any port:access-list acl_out permit tcp any host 209.165.201.5access-group acl_out in interface outside

Remarques : on peut spécifier un host extérieur autorisé à la place de any ou spécifier un port qui serait le seul autorisé (eq www en fin de commande).

Page 95: SERVICES TCP (2/2)

The access-list command lets any outside user access the host on any port.

nameif ethernet0 outside security0nameif ethernet1 inside security100nameif ethernet2 dmz security50interface ethernet0 10basetinterface ethernet1 10basetinterface ethernet0 100basetxip address outside 209.165.201.2 255.255.255.224ip address inside 209.165.201.9 255.255.255.224ip address dmz 209.165.201.17 255.255.255.224hostname pixfirewallarp timeout 14400

Page 96: SERVICES TCP (2/2)

Configuration (suite)

no failoverlogging buffered debuggingnat (inside) 0 209.165.201.8 255.255.255.248static (dmz,outside) 209.165.201.5 209.165.201.19 access-list acl_out permit tcp any host 209.165.201.5access-group acl_out in interface outsideroute outside 0.0.0.0 0.0.0.0 209.165.201.1 1mtu outside 1500mtu inside 1500

Page 97: SERVICES TCP (2/2)

Exemple 4: 3 interfaces avec PAT et NAT

The network has the following IP addresses and network masks:

Outside network interface address: 209.165.201.4, network mask: 255.255.255.224 Allowable global and static addresses on the outside network: 209.165.201.5-209.165.201.30, network mask: 255.255.255.224 Inside network interface address: 10.0.0.3, network mask: 255.0.0.0 DMZ network interface address: 192.168.0.1, network mask: 255.255.255.0

Page 98: SERVICES TCP (2/2)

Exemple4: 3 interfaces avec PAT ni NAT the PIX Firewall has three interfaces and these attributes:

Address translation is performed between the interfaces. A web server on the DMZ interface is publicly accessible. The name command maps its host address to the name "webserver." The inside network has RFC1918 addresses (10.0.0.0), the DMZ interface has RFC 1918 addresses (192.168.0.0), and the outside network has legal, registered addresses (209.165.201.0). TCP and UDP connections from the inside are allowed to go out on the DMZ and outside.

Page 99: SERVICES TCP (2/2)
Page 100: SERVICES TCP (2/2)

Step 1 Create a pool of global addresses for the outside and DMZ interfaces. Because there are limited outside IP addresses, add a PAT global to handle overflow. The global (dmz) command gives inside users access to the web server on the DMZ interface. global (outside) 1 209.165.201.10-209.165.201.30global (outside) 1 209.165.201.5global (dmz) 1 192.168.0.10-192.168.0.20

Page 101: SERVICES TCP (2/2)

Step 2 Let inside users start connections on the DMZ and outside interfaces, and let DMZ users start connections on the outside interface:nat (inside) 1 10.0.0.0 255.0.0.0nat (dmz) 1 192.168.0.0 255.255.255.0

Step 3 Give the IP address of the web server a label:name 192.168.0.2 webserver

Page 102: SERVICES TCP (2/2)

Step 4 Let any user on the outside interface access the web server on the DMZ interface: static (dmz,outside) 209.165.201.6 webserveraccess-list acl_out permit tcp any host 209.165.201.6 eq 80 access-group acl_out in interface outside

The access-list command statement is bound to the outside interface by the access-group command statement.

Page 103: SERVICES TCP (2/2)

Example 4: Three Interfaces with NAT nameif ethernet0 outside security0nameif ethernet1 inside security100nameif ethernet2 dmz security50

interface ethernet0 10fullinterface ethernet1 10fullinterface ethernet2 10full

ip address outside 209.165.201.4 255.255.255.224ip address inside 10.0.0.3 255.0.0.0ip address dmz 192.168.0.1 255.255.255.0

hostname pixfirewall

Page 104: SERVICES TCP (2/2)

route outside 0.0.0.0 0.0.0.0 209.165.201.1 1global (outside) 1 209.165.201.10-209.165.201.30global (outside) 1 209.165.201.5global (dmz) 1 192.168.0.10-192.168.0.20nat (inside) 1 10.0.0.0 255.0.0.0nat (dmz) 1 192.168.0.0 255.255.255.0name 192.168.0.2 webserverstatic (dmz,outside) 209.165.201.6 webserveraccess-list acl_out permit tcp any host 209.165.201.6 eq 80 access-group acl_out in interface outside

Page 105: SERVICES TCP (2/2)
Page 106: SERVICES TCP (2/2)

XOT is X25 Over TCP, Request For Comments (RFC) 1613. This allows X.25 packets to be sent over a Transmission Control Protocol/Internet Protocol (TCP/IP) network …instead of a Link Access Procedure, Balanced

(LAPB) link.

XOT

Page 107: SERVICES TCP (2/2)

Intérêt (économiques):

- pérennité des applications X25

- coûts télécom abaissés: mutualisation des liens avec les applications TCP

Page 108: SERVICES TCP (2/2)

XOT example

x25 traffic is tunneled through an IP cloud. For example, connecting two X.25 clouds that have no physical connection with a virtual TCP tunnel across the IP cloud.