Abra un rango de puertos TCP en Cisco IOS NAT

13
ip nat inside source static 192.168.1.10 10.10.10.9 route-map RANGE
!
route-map RANGE permit 100
  match ip address 102
!
access-list 102 permit tcp host 192.168.1.10 range 3000 3389 any

La configuración no parece funcionar ... solo crea un NAT estático uno a uno ...

¿Alguien sabe cómo abrir el rango de puertos?

Tengo varias IP externas y me gustaría abrir los mismos puertos para varios hosts usando múltiples IP externas y por eso el método rotativo no funciona.

Luna
fuente
¡no olvide verificar también las reglas de ACL o firewall en sus interfaces externas!
knotseh
¿Alguna respuesta te ayudó? Si es así, debe aceptar la respuesta para que la pregunta no siga apareciendo para siempre, buscando una respuesta. Alternativamente, puede proporcionar y aceptar su propia respuesta.
Ron Maupin

Respuestas:

9

(EDITAR)

Parece que inside-> outside funciona como se esperaba, como se ve en la respuesta a continuación, pero outside-> inside no lo hace, lo permite todo, como sugirió OP.

Al agregar 'reversible' en la línea NAT, comienza a honrar el mapa de ruta para afuera-> adentro, desafortunadamente no parece funcionar con puertos:

  1. permitir ip cualquier host 194.100.7.226 funciona
  2. permitir tcp cualquier trabajo
  3. permitir tcp cualquier ecualizador 80 no coincide, no funciona
  4. permitir tcp cualquier ecualizador 80 cualquier coincidencia, no funciona
  5. permitir tcp cualquier eq 80 host 194.100.7.226 coincidencia, no funciona
  6. permitir tcp cualquier eq 0 host 194.100.7.226 funciona

En '194.100.7.226' estoy haciendo 'telnet 91.198.120.222 80', esa es mi fuente es 194.100.7.226:el destino efímero es 91.198.120.222:80. A medida que el ejemplo # 1 funciona, podemos concluir que reversible realmente 'revierte' el ACL, de modo que funcione de la misma manera en ambas direcciones, lo cual tiene sentido.

Cuando la conexión coincide pero no funciona, en 'negar cualquier línea de entrada de registro obtengo esto:

.Jul 7 07: 58: 59.118 UTC:% SEC-6-IPACCESSLOGP: lista MOO denegada tcp 91.198.120.2 (0) (Tunnel101) -> 194.100.7.226 (0), 1 paquete

Por lo tanto, realmente parece que se lleva el tipo de protocolo L4, pero los puertos no se llevan durante la reversión de NAT. Entonces fuera-> dentro de los rangos no funcionan.


Como se sugiere en la pregunta Cisco 867, el rango de puertos UDP hacia adelante esto funciona para afuera-> adentro

ip nat pool MOO 91.198.120.2 91.198.120.2 prefix-length 30 type rotary
ip nat inside destination list MOO pool MOO
ip access-list extended MOO
 permit tcp any any range 22 100
 deny   ip any any log-input

Siento que es un poco ghetto, ya que no tienes un buen control sobre la IP externa. El grupo es la IP interna, la IP externa es el enrutador fuera de la IP.


Respuesta original de inside-> outside trabajando con puertos:

ip nat inside source static 91.198.120.2 91.198.120.222 route-map MOO
!
ip access-list extended MOO
 permit icmp any any
 permit tcp any any range 22 telnet
!
route-map MOO permit 100
 match ip address MOO
!
route-map MOO deny 200
!

@ 91.198.120.2 Estoy haciendo:

  • telnet testhost 22
  • telnet testhost 23
  • telnet testhost 24

En testhost puedo observar:

1   0.000000 91.198.120.222 -> 194.100.7.226 TCP 74 50925 > ssh [SYN] Seq=0 Win=14600 Len=0 MSS=1350 SACK_PERM=1 TSval=7995067 TSecr=0 WS=128

2   9.838471 91.198.120.222 -> 194.100.7.226 TCP 74 41586 > telnet [SYN] Seq=0 Win=14600 Len=0 MSS=1350 SACK_PERM=1 TSval=7997586 TSecr=0 WS=128

5  16.773181 91.198.120.2 -> 194.100.7.226 TCP 74 53307 > 24 [SYN] Seq=0 Win=14600 Len=0 MSS=1350 SACK_PERM=1 TSval=7999327 TSecr=0 WS=128

Probado en:

bu.ip.fi#sh ver | i ^Cisco
Cisco IOS Software, C880 Software (C880DATA-UNIVERSALK9-M), Version 15.1(2)T5, RELEASE SOFTWARE (fc1)
Cisco 881G (MPC8300) processor (revision 1.0) with 236544K/25600K bytes of memory.
bu.ip.fi#
ytti
fuente
1

así que para solucionar mi problema lo que hice fue

ip nat inside source static 91.198.120.2 91.198.120.222 route-map MOO
!
ip access-list extended MOO
 permit icmp any any
 permit tcp any any range 22 telnet
!
route-map MOO permit 100
 match ip address MOO
!

y también incluí una lista de acceso 199 en mi interfaz externa

access-list 199 permit tcp any host external_host eq 3389
access-list 199 deny   ip any host external_host

Esta lista de acceso se encarga de permitir todos los problemas de puertos.

luna
fuente
Me preocupaba que OP quisiera dirigir n1-n2 externo al host1 y n3-n4 externo al host2, lo que impediría la ACL en el externo. Me pregunto si los puertos L4 DEBERÍAN funcionar en el ejemplo anterior, si se trata de un error o un comportamiento previsto, particularmente porque claramente no es ACL 'estándar', ya que diferencia UDP y TCP, solo los puertos son '0'.
ytti
¿cómo usarías el mapa de ruta para mapear el puerto 3389 y digamos 90001
luna