目录

(一)ACL:访问控制列表

标准ACL配置

扩展ACL配置

关注目标端口号

(二)NAT:网络地址转换

一对一:(静态)

一对多:(动态)PAT --端口地址转换

多对多:(静态或动态)

端口映射


由于IPV4地址的枯竭,我们的设备想要访问外网,就要对私有地址进行转换;这就用到了NAT将私有地址转换为公有地址;而NAT的前提是ACL(访问控制列表);所以我们先来介绍ACL,在讲解NAT的配置。

(一)ACL:访问控制列表

访问控制:在路由器上流量进或出的接口上规则流量
    定义感兴趣流量:为其他的策略取匹配流量

访问控制:定义ACL列表后,将列表调用于路由器的接口上,当流量通过接口时,进行匹配,匹配成功后按照设定好的动作进行处理即可;动作:允许、拒绝

匹配规则:

  1. 至上而下逐一匹配,
  2. 上条匹配按上条执行,不再查看下条
  3. 末尾隐含拒绝所有;

分类:

  1. 标准ACL--仅关注数据包中的源ip地址 
  2. 扩展ACL--关注数据包中源、目标ip地址、目标端口号、协议号 

写法:

编号写法   1-99 标准   100-199 扩展    删除一条整表消失

命名写法   一个名字一张列表   可以随意删除某条

标准ACL配置

由于标准ACL仅关注数据包中的源ip地址,调用时尽量的靠近目标,避免误删;

编号:

Router(config)#access-list 1 deny host 192.168.4.2                 //拒绝单一设备

Router(config)#access-list 1 deny 192.168.4.0 0.0.0.255          // 拒绝范围

Router(config)#access-list 1 deny any                                       //拒绝所有

Router(config)#access-list 1 deny host 192.168.4.2

Router(config)#access-list 1 permit any                                       

Router(config)#interface fastEthernet 0/0.1                                //在接口调用

Router(config-subif)#ip access-group 1 out

命名写法:

Router(config)#ip access-list standard a

Router(config-std-nacl)#deny host 192.168.4.2

Router(config-std-nacl)#permit any

Router(config-std-nacl)#exit

默认+10生成序列号,便于删除和插入

Router(config)#ip access-list standard a

Router(config-std-nacl)#15 deny host 1.1.1.1

Router(config-std-nacl)#no 15

扩展ACL配置

扩展ACL关注数据包中的源、目标ip地址,故调用时应该尽量的靠近源,当不能在源上,因为ACL不能限制本地产生的流量,只能对穿越本地的流量做过滤。

编号写法 :

Router(config)#access-list 100 deny ip host 192.168.4.2 host 192.168.1.2   //拒绝4.2网段去往1.2网段的主机

Router(config)#access-list 100 deny ip host 192.168.4.0 0.0.0.255 host 192.168.1.0 0.0.0.255 //拒绝范围主机

Router(config)#access-list 100 permit ip any any

Router(config)#interface fastEthernet 0/0                           //接口调用                 

Router(config-if)#ip access-group 100 in

命名写法:

Router(config)#ip access-list extended ccna

Router(config-ext-nacl)#deny ip host 192.168.2.2 host 192.168.3.2

Router(config-ext-nacl)#permit ip any any

Router(config-std-nacl)#int f0/0.1

Router(config-subif)#ip access-group ccna in

关注目标端口号

ICMP--ping  跨层封装协议,不存在端口号

Telnet--远程登录  基于TCP目标23号端口

设备开启远程登录

Router(config)#username ccna privilege 15 secret cisco123

Router(config)#line vty 0 4

Router(config-line)#login local

规则一个设备到另一个设备的目标端口

Router(config)#access-list 101 deny tcp host 1.1.1.1 host 2.2.2.2 eq 23             //远程登录被拒绝

Router(config)#access-list 101 permit ip any any

Router(config)#access-list 102 deny icmp host 1.1.1.1 host 2.2.2.2                  //拒绝ping

Router(config)#access-list 102 permit ip any any

(二)NAT:网络地址转换

公有IP(全局)和私有IP(本地)间互换

在边界路由器上,流量从内部去往外部时,将数据包中的源IP地址进行修改(内部本地修改为内部全局);   从流量从外部

进入内部时,修改目标IP地址(外部全局修改为外部本地)  

一对一:(静态)

Router(config)#ip nat inside source static 192.168.1.2 12.1.1.2               将内部本地修改为内部全局

一对多:(动态)PAT --端口地址转换

将多个私有IP地址转换为同一公有ip地址,依赖数据包中的端口号来进行区分;

先使用ACL定义感兴趣流量----哪些私有ip地址被转换

Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255

Router(config)#access-list 1 permit 192.168.2.0 0.0.0.255

Router(config)#ip nat inside source list 1 interface fastEthernet 1/0 overload

                                 本地       拥有本地全局地址的接口      负载

多对多:(静态或动态)

Router(config)#access-list 2 permit 192.168.0.0 0.0.255.255                   //定义内部本地地址范围

Router(config)#ip nat pool xxx 12.1.1.2 12.1.1.10 netmask 255.255.255.0         //定义内部全局地址范围

Router(config)#ip nat inside source list 2 pool xxx overload                  //配置多对多PAT

在配置多对多NAT时,是否携带overload将决定为静态或动态多对多:

  1. 不携带---静态多对多    最先来的边界路由器上的9个私有IP地址与这9个公有IP地址形成一对一;
  2. 携带----动态多对多  循环占和每个公有IP地址进行NAT;

端口映射

Router(config)#ip nat inside source static tcp 192.168.1.100 80 12.1.1.2 80                       

通过外部访问12.1.1.2同时目标端口为80时,目标ip地址就一定被转换为192.168.1.100,端口号80;

Router(config)#ip nat inside source static tcp 192.168.1.200 80 12.1.1.2 8080

通过外部访问12.1.1.2同时目标端口为8080时,目标ip地址就一定被转换为192.168.1.200,端口号80;

切记:一旦进行nat配置,就必须定义边界路由器上各个接口的方向

Router(config)#interface fastEthernet 1/0

Router(config-if)#ip nat outside

Router(config-if)#exit

Router(config)#interface fastEthernet 0/0

Router(config-if)#ip nat inside

 posted on 2019-11-11 15:02  嚴∞帅  阅读(215)  评论(0编辑  收藏  举报