network device - yaokun123/php-wiki GitHub Wiki

网络设备

一、网线

双绞线 8根 4对 100米 10M/100M(4)/1000M(8)。
线序 直通线(不同类型设备) 交叉线(同类设备)。

二、网卡(Network Interface)

mac 物理地址 硬件地址 不能更改(可以通过修改注册表不使用mac地址上网)。使计算机连网的网络设备。

三、集线器HUB(已经被淘汰了)

不安全(给目标mac地址的数据包其他物理机也能收到) 带宽共享 冲突域(同一时刻只有两台物理机可以通信) 半双工。
当两个HUB相连接的时候形成了一个大的冲突域
为了优化集线器(集线器相连形成大的冲突域)出现网桥设备

四、网桥(Bridge)

根据数据包中的地址自动学习获取mac地址形成mac地址表
HUB-----网桥-----HUB
隔绝了冲突域。后来网桥连接的HUB越来越多,网桥就不再连接HUB,而是直接连接计算机,就形成了交换机。
交换机就是多口的网桥。

五、交换机(Switch)

安全(给目标mac地址的数据包其他物理机收不到) 带宽独享 全双工 学习mac地址 交换机的接口有缓存数据包的能力

1、交换机的几种模式(路由器也适用)

1、用户模式
默认情况下,第一次访问交换机用户进入的就是用户模式,在此模式下只能进行很有限的操作,如只能用来查看一些统计信息。
Switch>

2、特权模式
在特权模式下,有检查、配置、调试等所有权限,除了具体到端口的配置,其他的基本都可以在此模式下完成。使用enable命令进入特权模式
Switch>enable
Switch#

3、全局配置模式
该配置模式下配置的内容都将作用于全局。使用configure terminal 命令进入全局配置模式
Switch#configure terminal 
Switch(config)#

4、接口模式
作用于具体某一子接口,需要配置具体的内容就需要进入相应的子配置模式。
如需要配置g0/1的端口,则输入在全局配置模式下输入interface g0/1,进入(config-if)#。
E 10M/F 100M/G 1000M/T 10000M
Switch(config)#interface fastEthernet 0/1                         // 设置0/1接口
Switch(config-if)#

5、console模式
Switch(config)#line console 0
Switch(config-line)#

2、交换机的几个命令(路由器也适用)

exit:可以返回上一层的模式
end:快速回到特权模式


Switch# show mac-address-table                                    // 特权模式下查看mac地址表
Switch# reload                                                    // 特权模式下,重启 。配置之后不保存断电或重启配置就没了
Switch# copy running-config startup-config                        // 特权模式下,保存配置。running-config是内存中的文件,startup-config是磁盘中的文件
Switch# write                                                     // 特权模式下,保存配置。另一种写法
Switch# show running-config                                       // 特权模式下,查看配置
Switch# erase startup-config                                      // 特权模式下,清空配置
Switch# show ip interface brief                                   // 特权模式下,查看接口简要信息

// 大部分查看的命令都需要在特权模式下执行。不在特权模式下也可以使用,在命令前加上do即可。
// 删除配置,命令前加no
// 设置密码,明文enable password。秘文enable secret 。
Switch(config)#hostname demo_11_22                                // 在全局模式下可以修改主机名称

3、交换机的隐藏pc,为交换机配置管理ip // 普通交换机属于2层设备,无法配置ip(3层)信息,但是交换机里有隐藏的虚拟pc可以配置ip。

Switch(config)#interface vlan 1                                   // 进入虚拟
Switch(config-if)#ip address 10.1.1.253 255.255.255.0             // 配置ip和掩码
Switch(config)#ip default-gateway  10.1.1.254                     // 为交换机配置默认的网关

4、交换机端口安全-控制连接计算机数量

Switch(config-if)#switchport mode access                         // access表示是接计算机的
Switch(config-if)#switchport port-security                       // 添加安全
Switch(config-if)#switchport port-security violation shutdown    // 如果违反安全策略就关掉接口
Switch(config-if)#switchport port-security maximum 2             // 设置最多连接数量
//交换机打开违反安全策略的接口先shutdown再no shutdown
Switch(config-if)#shutdown
Switch(config-if)#no shutdown


// 交换机端口安全-绑定mac地址
Switch(config)#interface range fastEthernet 0/1 - 24            // 针对交换机的0-24个口
Switch(config-if-range)#switchport mode access                  // access表示是接计算机的
Switch(config-if-range)#switchport port-security                // 添加安全
Switch(config-if-range)#switchport port-security violation shutdown    // 如果违反安全策略就关掉接口
Switch(config-if-range)#switchport port-security mac-address sticky    // 把路由器的mac地址改为静态的,以后不要再学习了

5、划分VLAN

VLAN是交换机组网才有意义。按照部门或管理的要求来创建局域网,而不是按位置划分网段。更灵活,安全。一个VLAN = 一个广播域 = 一个网段(子网)。

Switch#show vlan                                             // 查看vlan
Switch#config terminal
Switch(config)#vlan 2                                        // 创建vlan2
Switch(config)#interface range fastEthernet 0/13 - 24
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 2             // 将13-24接口放到vlan2中

Switch(config)#interface gigabitEthernet 0/1
[Switch(config-if)#switchport trunk encapsulation dot1q]       // 设置干道链路标准
Switch(config-if)#switchport mode trunk                      // 设置干道链路


// 在三层交换机上的配置
Switch(config)#ip routing                                    // 让三层交换机启动路由功能
Switch(config)#interface gigabitEthernet 0/1
Switch(config-if)#switchport trunk encapsulation dot1q       // 设置干道链路标准
Switch(config-if)#switchport mode trunk                      // 设置干道链路
Switch(config)#vlan 2                                        // 在路由器上创建vlan2
Switch(config-vlan)#exit
Switch(config)#interface vlan 1
Switch(config-if)#no shutdown
Switch(config-if)#ip address 192.168.0.1 255.255.255.0       // 给vlan1配置ip地址
Switch(config-if)#exit
Switch(config)#interface vlan 2
Switch(config-if)#no shutdown
Switch(config-if)#ip address 192.168.1.1 255.255.255.0       // 给vlan12配置ip地址

Switch#show interface vlan 1
Switch#show interface vlan 2

6、VLAN间干道协议-VTP协议

switch>enable
switch#config t
switch(config)#vtp domain todd
switch(config)#vtp password aaa
switch(config)#vtp mode client

switch(config)#vtp mode server//服务端

六、路由器(Router)

负责在不同网段之间转发数据。一般有广域网接口,隔绝广播(目标mac地址全1)。接口不多,每个口对应一个网段

1、连接到路由器的方法

1、通过console配置路由器
//第一次配置路由器时候使用console线把路由器跟电脑相连接

2、Hyper Terminal

3、WEB
//Route1(config)#ip http server
//访问http://路由器的ip地址

4、TELNET
//第一次是不能使用的,当网络配置好之后,路由器设置允许telnet即可。
//配置路由器允许telnet
Route1(config)#line vty 0 ?
Route1(config)#line vty 0 15
Route1(config-line)#password aaa               // 配置密码
Route1(config-line)#transport input telnet     // 默认就是telnet,写不写都行
Route1(config-line)#login                      // telnet的时候必须输入密码
// telnet 路由器的ip地址    之后输入密码即可登录上

或
Route1(config)#line vty 0 ?
Route1(config)#line vty 0 15
Route1(config-line)#login local
Route1(config-line)#exit
Route1(config)#username xxx password xxx      // 配置账号密码

2、配置路由器进行域名解析

Route1(config)#ip host R2 192.168.0.2         // 以后可以直接ping R2

Route1(config)#ip domain-lookup
Route1(config)#ip name-server 8.8.8.8




//为路由器配置ip地址和子掩网码(快速以太网接口 和 广域网接口)
Route>enable                                             // 进入路由器配置的特权模式
Route#config terminal                                    // 配置终端
Route(config)#interface fastEthernet 0/0                 // 配置快速以太网接口0/0
Route(config-if)#no shutdown                             // 打开快速以太网接口0/0
Route(config-if)#ip address 10.0.0.1 255.0.0.0           // 为快速以太网接口0/0配置ip地址和子掩网码
Route(config-if)#exit                                    // 退出快速以太网接口0/0的配置
Route(config)#interface serial 2/0                       // 配置广域网接口2/0
Route(config-if)#no shutdown                             // 打开广域网接口2/0
Route(config-if)#clock rate 64000                        // 为广域网接口2/0配置时钟频率64k,只需要配置一端即可
Route(config-if)#ip address 11.0.0.1 255.0.0.0           // 为广域网接口2/0配置ip地址和子掩网码

3、动态路由

1、RIP协议:用跳数判断,周期性的更新路由表(30秒广播路由表),最大跳数16跳
Route1(config)#router rip                     // 配置路由器使用rip协议
Route1(config-router)#network 192.168.80.0    // 配置路由器那个接口参与rip协议
Route1(config-router)#network 192.168.90.0    // 路由器直连的几个网段
Route1#show ip protocols                      // 查看动态路由配置情况

2、EIGRP协议:用速度判断
//Route1(config)#router eigrp 10
//Route1(config-router)#network 192.168.80.0    //配置路由器那个接口参与rip协议
//Route1(config-router)#network 192.168.90.0

一个路由器可以运行多个路由协议,但是EIGRP协议的优先级更高。

4、静态路由

//配置路由器的静态路由表,让路由器知道去目标网段怎么走
Route>enable                                // 进入路由器配置的特权模式
Route#show ip route                         // 查看路由器的路由表
Route#config terminal                       // 配置终端
Route(config)#ip route 12.0.0.0(目标网段) 255.255.0.0(目标网段的子掩网码) 11.0.0.2(去目标网段下一跳给谁)    // 设置静态路由
Route(config)#no ip route 12.0.0.0(目标网段) 255.255.0.0(目标网段的子掩网码)    // 删除一个静态路由

5、ACL (路由器的访问控制列表) ACL主要分为2大类:1,标准ACL、2,扩展ACL

  • 1、ACL表必须应用到接口的进或出方向才生效。
  • 2、一个接口的一个方向只能应用一张表。
  • 3、进还是出方向应用?取决于流量控制总方向。
  • 4、ACL表是严格自上而下检查每一条,所以要注意书写顺序。
  • 5、每一条是由条件和动作组成,当流量完全满足条件当某流量没有满足某条件,则继续检查下一条。
  • 6、标准ACL尽量写在靠近目标的地方
  • 7、一般情况下,标准或扩展ACL一旦编写好,无法修改某一条,也无法删除某一条,也无法修改顺序,也无法往中间插入新的条目,只能一直在最后添加新的条目。(可通过命名ACL解决)
1、标准的ACL
// 表号:1-99
// 特点:只能基于源ip对包进行过滤
// 格式:access-list 表号 permit/deny 源IP或源网段 反子掩网码

//在路由器上设置ACL访问控制规则
Router#show access-list[表ID]                               // 查看ACL控制表
Router#config t
Router(config)#access-list ?
  <1-99>     IP standard access list                        // 标准的ACL
  <100-199>  IP extended access list                        // 扩展的ACL
Router(config)#access-list 10 deny host 192.168.2.2         // 单独拒绝主机ip为192.168.2.2,应该把单独的放在最先设置
Router(config)#access-list 10 permit 192.168.1.0 0.0.0.255  // 允许源地址192.168.1.0网段通过,其他的都拒绝
Router(config)#access-list 10 permit 192.168.2.0 0.0.0.255  // 0.0.0.255为255.255.255.0的反码
Router(config)#no access-list 10                            // 删除编号10的ACL
Router(config)#interface fastEthernet 0/1                   // 将ACL应用到接口,将以上配置的规则应用于某一接口
Router(config-if)#ip access-group 10 in                     // ip access-group 表号 in/out

Router(config)#access-list 20 deny 192.168.1.0 0.0.0.255    // 拒绝一个,同意其他
Router(config)#access-list 20 permit any




2、扩展的ACL
// 表号:100-199
// 特点:可以基于源IP 目标IP 协议 端口号 等对包进行过滤

//允许192.168.2.0网段访问互联网任意地址
Router(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 any     
                        
//允许192.168.2.0网段访问互联网的10.0.0.0的80端口
Router(config)>access-list 100 permit tcp 192.168.2.0 0.0.0.255 10.0.0.0 0.255.255.255 eq 80

//允许192.168.0.0网段ping互联网
Router(config)>access-list 100 permit icmp 192.168.0.0 0.0.0.255 any




3、命名ACL
作用:可以对标准或扩展ACL进行自定义命名
优点:自定义命名更容易辨认,也便于记忆!可以任意修改某一条,或删除某一条,也可以往中间插入某一条。
Router(config)#ip access-list standard/extended demo(自定义表名)
Router(config-ext-nacl)#
Router(config-ext-nacl)#no 条目ID          // 删除某一条
Router(config-ext-nacl)#条目ID 动作 条件    // 插入某一条




4、使用ACL控制列表保护路由器安全
// 只允许一个地址telnet路由器
//Route1(config)#line vty 0 15
//Route1(config-line)#password aaa    // 配置密码
//Route1(config-line)#login           // telnet的时候必须输入密码
//Route1(config-line)#exit
//Route1(config)#access-list 10 permit host 192.168.1.3 
或
//Route1(config)#access-list 10 permit 192.168.1.3 0.0.0.0    // 配置只允许192.168.1.3主机
//Route1(config)#line vty 0 15
//Route1(config)#access-class 10 in    // 将ACL绑定到telnet接口

6、在三层路由器上部署DHCP服务

Router#configure terminal
Router(config)#ip dhcp excluded-address 10.1.1.1 10.1.1.99         // 排除两个ip
Router(config)#ip dhcp pool v10                                    // 创建一个地址池
Router(dhcp-config)#network 10.1.1.0 255.255.255.0                 // 配置网段和子掩网码
Router(dhcp-config)#default-router 10.1.1.254                      // 配置默认网关
Router(dhcp-config)#dns-server 8.8.8.8                             // 配置dns

// 将与交换机相连的端口配置上ip
Router#configure terminal
Router(config)#interface G 0/0/0
Route(config-if)#ip address 10.1.1.254 255.255.255.0 

// 删除配置
Router(config)#no ip dhcp excluded-address 10.1.1.1 10.1.1.99         
Router(config)#no ip dhcp pool v10                                    

7、HSRP热备份路由协议

R1:
Router(config)#interface gigabitEthernet 0/0/0      // 进入端口,内网端口
Router(config-if)#standby 1 ip 192.168.1.254        // 配置HSRP,组号为1,虚拟ip为192.168.1.254(作为虚拟网关使用)
Router(config-if)#standby 1 priority 200            // 设置优先级为200,0-255,越大优先级越高,默认100
Router(config-if)#standby 1 preempt                 // 开启抢占功能
Router(config-if)#standby 1 track gigabitEthernet 0/0/1        // 开启追踪外网端口

R2:
Router(config)#interface gigabitEthernet 0/0/0
Router(config-if)#standby 1 ip 192.168.1.254
Router(config-if)#standby 1 priority 190
Router(config-if)#standby 1 preempt

Router#show standby brief                          // 查看热备份详细信息
Router#show standby

8、NAT/PAT 地址转化技术

// NAT路由器上绑定多个公网地址,然后用一个公网地址替换一个内网地址,不节省公网IP
// PAT 也叫端口地址转换,路由器上只绑定一个公网地址,然后用一个公网地址替换所有内网地址节省公网IP,替换原端口和原地址


// 1、静态NAT
10.0.0.2|131.107.0.2
10.0.0.3|131.107.0.3
10.0.0.4|131.107.0.4
10.0.0.5|131.107.0.5
10.0.0.6|131.107.0.6
PC访问server2                       源地址被替换
数据|10.0.0.2|202.99.160.2|   =>  数据|131.107.0.2|202.99.160.2|
10.0.0.2|202.99.160.2|数据|   <=  131.107.0.2|202.99.160.2|数据|
目标地址被替换                        server2返回的数据包



// 2、动态NAT
10.0.0.2|131.107.0.2
10.0.0.3|131.107.0.3
10.0.0.4|131.107.0.4
10.0.0.5|
10.0.0.6|
多出来的内网IP上不了网



// 3、PAT
Router#debug ip packet    //开启IP数据包转发显示
Router(config)#access-list 10 permit 10.0.0.0 0.0.0.255    // 定义内网哪些网段将来用于转换
Router(config)#ip nat pool todd 131.107.0.1 131.107.0.1 netmask 255.255.255.0    // 定义公网地址池,todd是一个随便给的一个名字
Router(config)#ip nat inside source list 10 poll todd overload  // 将公网地址与内网地址绑定-overload代表pat,如果没有overload就代表是NAT
// 设置路由器的端口,告诉路由器哪个是内网,哪个是外网
Router(config)#interface serial 1/0
Router(config-if)#ip nat outside                          // 定义外网端口
Router(config)#interface fastEthernet 0/0
Router(config-if)#ip nat inside                           // 定义内网端口



// 4、端口映射,端口映射 允许你使用公网地址访问内网服务器
Router(config)#ip nat inside source static tcp 10.0.0.6 80 131.107.0.1 80    // 将公网的80端口映射到内网的80端口
⚠️ **GitHub.com Fallback** ⚠️