(编辑)
如下面的答案所示,似乎Inside-> outside可以按预期工作,但正如OP所建议的那样,outside-> inside实际上不起作用,它允许所有操作。
在NAT行中添加“可逆”,它开始遵循外部->内部的路由映射,不幸的是,它似乎不适用于端口:
- 允许ip任何主机194.100.7.226的工作
- 允许tcp任何工作
- 允许tcp any eq 80 no match,不起作用
- 允许tcp any eq 80 any match,不起作用
- 允许tcp与任何eq 80主机194.100.7.226 匹配,不起作用
- 允许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#