在Cisco IOS NAT中打开一系列TCP端口


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

该配置似乎不起作用..只是创建了一对一的静态NAT ...

有谁知道如何打开端口范围?

我有多个外部IP,并且想使用多个外部ip为多个主机打开相同的端口,因此,旋转方法不起作用。


不要忘记在面向外部的接口上检查ACL或防火墙规则!
knotseh 2013年

有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以提供并接受自己的答案。
罗恩·莫平

Answers:


9

(编辑)

如下面的答案所示,似乎Inside-> outside可以按预期工作,但正如OP所建议的那样,outside-> inside实际上不起作用,它允许所有操作。

在NAT行中添加“可逆”,它开始遵循外部->内部的路由映射,不幸的是,它似乎不适用于端口:

  1. 允许ip任何主机194.100.7.226的工作
  2. 允许tcp任何工作
  3. 允许tcp any eq 80 no match,不起作用
  4. 允许tcp any eq 80 any match,不起作用
  5. 允许tcp与任何eq 80主机194.100.7.226 匹配,不起作用
  6. 允许tcp任何eq 0主机194.100.7.226 工作

在'194.100.7.226'我正在执行'telnet 91.198.120.222 80',即我的来源是194.100.7.226:临时目的地是91.198.120.222:80。如示例1所示,我们可以得出结论,可逆实际上是“反转”了ACL,因此它在两个方向上都以相同的方式起作用,这是有道理的。

当连接匹配但不起作用时,在“拒绝任何日志输入行中,我得到以下信息:

.Jul 7 07:58:59.118 UTC:%SEC-6-IPACCESSLOGP:列表MOO拒绝了tcp 91.198.120.2(0)(Tunnel101)-> 194.100.7.226(0),1个数据包

因此,看起来好像确实承载了L4协议类型,但是在NAT反向期间没有承载端口。因此,外部->内部范围不起作用。


如有问题的建议,Cisco 867转发UDP端口范围适用于外部->内部

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

我觉得这有点贫民窟,因为您不能很好地控制外部IP。池是内部IP,外部IP是路由器外部IP。


内部->外部使用端口的原始答案:

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我在做:

  • telnet测试主机22
  • telnet测试主机23
  • telnet测试主机24

在测试主机上,我可以观察到:

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

经过测试:

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#

1

所以解决我的问题是

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
!

并且我还在外部界面上包括了访问列表199

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

此访问列表负责允许所有端口的问题。


我担心OP希望将外部n1-n2定向到host1,将外部n3-n4定向到host2,这将排除外部的ACL。我想知道L4端口是否应在上面的示例中工作,是否是错误或预期的行为,特别是因为它显然不是“标准” ACL,因为它区分UDP和TCP,只是端口为“ 0”。
ytti

您将如何使用路线图将端口3389映射为说90001
luna
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.