测试环境:
cisco路由器内网接口f0/1: 192.168.1.1 255.255.255.0
外网接口f0/0: 10.0.0.1 255.255.255.0
服务器ip:192.168.1.100
首先到路由器上配置:
Router>en #进入特权模式
Router#conf t #进入全局配置模式
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 #建立访问控制列表准备做nat转换
Router(config)#ip nat inside source list 1 interface f0/0 #建立NAT转换,将192.168.1.0的地址转换为接口f0/0的地址
Router(config)#int f0/1 #进入接口模式
Router(config-if)#ip nat inside #设定f0/1为NAT内部接口
Router(config-if)#int f0/0 #进入F0/0的接口模式
Router(config-if)#ip nat outside #设定F0/0为NAT外部接口
Router(config-if)#exit
Router(config)#
此时已经启用了NAT,内网可以上网了。
现在开始端口映射,让外网访问内网服务器:
Router(config)#ip nat inside source static tcp 192.168.1.100 5631 10.0.0.1 5631 extendable
Router(config)#ip nat inside source static tcp 192.168.1.100 5632 10.0.0.1 5632 extendable #因为10.0.0.1这个地址已经应用在f0/0接口上并做了NAT转换的地址,这里必须加上extendable这个关键字,否则报错。如果用另外的外网ip比如10.0.0.2,在这里就可以不加extendable。
现在外网的机器可以访问内网了。
命令show ip nat translations可以查看nat转换情况
show run也可以找到相关配置
Router(config)#exit #退出全局配置模式,到特权模式下使用show命令
Router#sho ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 10.0.0.1:23 192.168.1.100:23 --- ---
tcp 10.0.0.1:23 192.168.1.100:23 10.0.0.2:48268 10.0.0.2:48268
tcp 10.0.0.1:5631 192.168.1.100:5631 --- ---
tcp 10.0.0.1:5632 192.168.1.100:5632 --- ---
附:要删除哪条命令只要在命令前加 no 即可
补充: 你telnet的是5631端口,而服务器的telnet端口是23
你要telnet到服务器的5631端口就必须改服务器的telnet端口,在注册表改,服务器的防火墙也要打开相应端口。
如果你不改服务器端口也可以将5631的端口映射到服务器的23端口,命令如下:
Router(config)#ip nat inside source static tcp 192.168.1.100 23 10.0.0.1 5631 extendable
要先删掉5631到5631的映射,命令如下:
Router(config)#no ip nat inside source static tcp 192.168.1.100 5631 10.0.0.1 5631 extendable
不改服务器端口就必须将外网ip的5631端口映射到服务器的23端口。然后你telnet ip 5631 其实就是telnet服务器的23端口