1、静态nat的配置:
router(config)#int f0/0
router(config-if)#ip add 10.0.0.1 255.255.255.0 (设置外部端口的ip地址)
router(config)#int f1/0
router(config-if)#ip add 192.168.1.1 255.255.255.0 (设置内部端口的ip地址)
router(config)#ip nat inside source static local-ip global-ip [extendable]
(这里是将内部局部地址静态转换为内部全局地址,extendable为可选项,表示支持多个global-ip)
(inside表示对从inside口进入的流量源地址进行静态转换,static为静态,例如配置:)
router(config)#ip nat in so stat 192.168.1.10 10.0.0.2
router(config)#ip nat in so stat 192.168.1.100 10.0.0.3 extendable
router(config)#ip nat in so stat 192.168.1.100 10.0.0.4 extendable
(这里配置static-nat,可以发现,并没有减少global-ip的使用!!!)
router(config)#int f0/0
router(config-if)#ip nat oustside
router(config-if)#int f1/0
router(config-if)#ip nat inside (在内部或外部端口启用NAT)
router(config)#ip route 0.0.0.0 0.0.0.0 gateway-ip (配置默认路由网关ip)
(以上为静态nat配置地址转换全部完毕)
2、nat的端口映射:
router(config)#ip nat in so stat protocol local-ip udp/tcp-port global-ip port [extendable]
(以上为将内部某服务器端口号转化为全局地址端口号使用,主要用来发布内部服务器:web)
router(config)#ip nat in so stat tcp 192.168.1.10 80 10.0.0.2 8080 extendable
router(config)#ip nat in so stat tcp 192.168.1.100 25 10.0.0.2 25 extendable
(这里还可以把内部不同服务器的不同服务端口映射到同一个ip上的不同端口上)
3、动态nat的配置:
router(config)#int f0/0
router(config-if)#ip add 10.0.0.1 255.255.255.0 (设置外部端口ip)
router(config-if)#int f1/0
router(config-if)#ip add 192.168.1.1 255.255.255.0 (设置内部端口ip)
router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
(这里是定义内部网络中允许访问外网的acl)
router(config)#ip nat pool pool-name start-ip end-ip {netmask netmask |prefix-length prefix-length } [type rotary] (定义合法ip地址池,用来地址转换的global-ip)
(pool-name:合法地址池的名称 start-ip/end-ip:地址池内起始和终止ip,表示范围
netmask :子网掩码,用十进制表示如24位子网掩码表示为netmask 255.255.255.0
prefix-length :子网掩码用位数表示,如prefix-length 24,即表示24位的子网掩码
type rotary :可选项,表示地址池ip为循环使用)
(这里合法地址池可同时定义多个,来供给不同需求调配使用,举例如下:)
router(config)#ip nat pool test1 10.0.0.10 10.0.0.20 netmask 255.255.255.0
router(config)#ip nat pool test2 20.0.0.10 20.0.0.20 prefix-length 24
router(config)#ip nat inside source list acl-name pool pool-name [overload] (实现网络地址转换)
(这里 voerload为扩展可选项,表示地址复用,用于pat,单纯的动态nat并不配置此项)
router(config)#ip nat in so list 1 pool test1
router(config)#ip nat in so list 1 pool test2
(这里可以同时为一个acl调配多个pool,用来扩大可转换的地址范围)
router(config)#int f0/0
router(config-if)#ip nat outside
router(config-if)#int f1/0
router(config-if)#ip nat inside (在内部和外部端口启用nat)
router(config)#ip route 0.0.0.0 0.0.0.0 gateway-ip
(配置默认路由,保证数据包正常选路路由,这里gateway通过isp下发配置)