1、集线器、交换机、路由器
2、路由器与交换机的主要区别体现在以下几个方面:
1)工作层次不同:最初的的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第二层,而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在OSI的第 二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可得到更多的协议信息,路由器可做出更加智能的转发决策。
2)数据转发所依据的对象不同:交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中去,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。
3)传统的交换机只能分割冲突域,不能分割广播域,而路由器可以分割广播域。由 交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。虽然第三层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。
路由器提供了防火墙的服务:路由器仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第三层的交换。 路由器用于WAN-WAN之间的连接,可以解决异性网络之间转发分组,作用于网络层。他们只是从一条线路上接受输入分组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议。相比较而言,路由器的功能较交换机要强大,但速度相对也慢,价格昂贵,第三层交换机既有交换机线速转发报文能力,又有路由器良好的控制功能,因此得以广泛应用。
4)目前个人比较多的宽带接入方式就是ADSL,因此笔者就ADSL的接入来简单的说明一下。现在购买的ADSL猫大多具有路由功能(很多的时候厂家在出厂时将路由功能屏蔽了,因为电信安装时大多是不启用路由功能的,可以启用DHCP,打开ADSL的路由功能),如果个人上网或少数几台,通过ADSL本身就可以了,如果电脑比较多,你只需要再购买一个或多个集线器或者交换机。考虑到如今集线器与交换机的价格相差十分小,不是特殊的原因,请购买一个交换机。不必去追求高价,因为如今产品同质化十分严重,我最便宜的交换机现在没有任何问题。给你一个参考,建议你购买一个8口的,以满足扩充需求,一般的价格100元左右。接上交换机,所有电脑再接到交换机上就行了。余下所要做的事情就只有把各个机器网线插入交换机的接口,将猫的网线插入uplink接口。然后设置路由功能,DHCP等,就可共享上网了。
5)路由器和交换机的区别:交换机主要是实现大家通过一根网线上网,但是大家上网是分别拨号的,各自使用自己的宽带,大家各自上网没有影响,哪怕其他人在下 载,对自己上网也没有影响,并且所有使用同一条交换机的电脑都是在同一个局域网内。路由器比交换机多了一个虚拟拨号功能,通过同一台路由器上网的电脑是共用一个宽带账号,大家之间上网是相互影响的,比如一台电脑在下载,那么同一个路由器上的其他电脑会很明显的感觉到网速很慢。同一台路由器上的电脑也是在一 个局域网内的。如果上述叙述大家还是不明白路由器和交换机的区别,那么小编就举例来跟大家来说明。例如我们家庭上网,肯定是只拉一个宽带,但是家里有3台电脑,都想通过同一个宽带上网,那么就使用路由器。再如很多大学宿舍只有一个宽带接口,但是全寝室的人都需要上网,而且是各自都拥有自己的宽带账号,又想大家上网相互之间不影响,那么这个使用就使用交换机,大家各自拨号上网,相互之间无影响。
路由器同时具有交换机的功能,如果大家已经有路由器了,但是现在想把路由器当交换机使用怎么办呢?很简单,路由器上有wan接口,宽带线都是接在wan接口上的,当把路由器当交换机使用时,把wan接口上的宽带线拔掉,插到其他接口上去,把wan口空起来就可以了。
集线器属于OSI 的第一层物理层设备,而网桥属于OSI 的第二层数据链路层设备, 从工作方式来看,集线器是一种广播模式,所有端口在一个冲突域里面。网桥的可以通过端口隔离冲突。Hub是所有的连接设备共享总线和共享带宽,而网桥每个端口占一个带宽。
路由器可以隔开广播域和冲突域,连接不同的网段
交换机可以在自我学习后可以隔断广播域和冲突域,且是全双工通讯
集线器不能隔开广播域和冲突域
网桥在自我学习后可以隔断冲突域
3、RJ-45连接器和Jack接口
4、网络用户应用程序
Web 浏览器(Chrome 、IE 、Firefox 等)
即时消息(QQ 、微信、钉钉等)
电子邮件(Outlook 、foxmail 等)
协作(视频会议、VNC 、Netmeeting 、WebEx 等)
web网络服务(apache,nginx)
文件网络服务(ftp,nfs,samba)
数据库服务( MySQL,MariaDB, MongoDB)
中间件服务(Tomcat ,JBoss)
安全服务( Netfilter)
5、用户应用程序对网络的影响
批处理应用程序例如 FTP 、TFTP 、库存更新等等,无需直接人工交互,带宽很重要,但并非关键性因素;交互式应用程序例如库存查询、数据库更新等等,人机交互,因为用户需等待响应,所以响应时间很重要,但并非关键性因素,除非要等待很长时间;实时应用程序例如VoIP 、视频等等,人与人的交互,端到端的延时至关重要。
6、物理拓扑分类
总线拓扑:所有设备均可接收信号
星型拓扑:通过中心点传输,单一故障点
扩展星型拓扑:比星型拓扑的复原能力更强
环状拓扑:信号绕环传输,单一故障点
双环拓扑:信号沿相反方向传输,比单环的复原能力更强,同一台网络设备连接两条链路
全网状拓扑:容错能力强,实施成本高
部分网状拓扑:在容错能力与成本之间寻求平衡
7、主机到主机通信
1)、基于标准的模型:多厂商软硬件、分层网络模型
2)、OSI分层网络模型(下一层为上一层提供服务):
应用层-网络进程访问应用层,为应用进程提供网络服务、提供用户身份验证;
表示层-数据表示,确保接受系统可以读出该数据、格式化数据、构建数据、协商用于应用层的数据传输语法、提供加密;
会话层-主机间通信,主机间通信,建立管理和终止在应用程序之间的会话;
传输层-端到端连接,确保数据传输的可靠性、建立维护和终止虚拟电路、通过错误检测和恢复及信息流控制保障可靠性;
网络层-数据传输,路由数据包、选择传递数据的最佳路径、支持逻辑寻址和路径选择;
数据链路层-访问介质,定义如何格式化数据以便进行传输以及如何控制对网络的访问并且支持错误检测;
物理层-二进制传输,为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范
3)、分层网络模型之所以能够发展开来,在于其有如下优点:降低复杂性、标准化接口、简化模块化设计、确保技术的互操作性、加快发展速度、简化教学
8、数据解封:发送方发送数据由应用层-物理层顺序处理,各层添加各层的控制信息,实现数据封装;接收方接受数据由物理层-应用层逆序处理,各层解锁各层的控制信息,实现数据解封
9、三种通讯模式
单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞,为保证一定的服务质量需增加硬件和带宽。
广播(Broadcast)传输:是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网每一个主机都投递一份数据包,不论这些主机是否乐于接收该数据包。所以广播的使用范围非常小,只在本地子网内有效,通过路由器和网络设备控制广播传输。
组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率,减少了骨干网络出现拥塞的可能性。
组播解决了单播和广播方式效率低的问题。当网络中的某些用户需求特定信息时,组播源(即组播信息发送者)仅发送一次信息,组播路由器借助组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发。
10、非屏蔽式双绞线UTP- Unshielded Twisted-Pair Cable里面共有四组八根线
100M实际用了12/36两组线
1000M实际用了12/36/45/78四组线
UTP直通线和交叉线:
交换机与路由器、交换机与电脑/主机、集线器与电脑/主机用-直通线
交换机与交换机、交换机与集线器、集线器与集线器、路由与路由、路由器与电脑/主机-交叉线
11、网络适配器-网卡
网卡的MAC地址是由生产商写定的,但是可以修改,不过重装系统后MAC地址会恢复到原来
MAC地址可能被作为识别电脑等设备接入网络的标示,所以修改此地址可以绕过限制
12、VLAN(Virtual Local Area Network)虚拟局域网
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点:网络设备的移动、添加和修改的管理开销减少,可以控制广播活动,可提高网络的安全性。在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器,这样的一个广播域就称为VLAN。
13、分层的网络架构-在企业中部署网络
核心层Core Layer-企业级应用快速转发,使用核心交换机接专门的访问器
分布层Distribution Layer-通过路由器设定广播域,路由,安全,远程接入,访问层汇聚
访问层Access Layer-终端接入,使用普通交换机进行连接
14、TCP/IP协议栈-传输控制协议/因特网互联协议
TCP/IP 是个Protocol Stack ,包括TCP、IP 、UDP 、ICMP 、RIP 、TELNET、FTP 、SMTP 、ARP
TCP/IP协议共定义了四层网络结构:应用层、传输层、Internet层、网络访问层
和ISO参考模型的分层有对应关系是3112
TCP特性:工作在传输层的面向连接协议、双工模式操作、错误检查、数据包序列、确认机制、数据恢复特性
TCP包头:16位源地址、16位目标地址、32位序列号-即是每个同步包的编号、32位确认号ACK、其它信息、数据
1)、tcp端口号-源端口号和目标端口号-以下操作为Windows上进行的:
使用命令#netstat -ano可以查看相关服务端口号和相应进程号
使用命令#tasklist可查看进程列表
使用命令#tasklist|findstr 进程号 可以查看进程号对应的进程
2)、通过三次握手或者是三次照面建立连接:
发送SYN数据包(包含有包的编号,包的目的syn-请求建立通信)
发送方发送SYN包(假如包的编号是100)给接收方,接收方接收信息,实现第一次握手
接收方发回确认信息告诉发送方你的编号100的SYN包已经收到,此包在接收方的编号是300,请求发送方下一次发送编号为101的SYN包即ACK(ACK=101),发送方收到信息,实现第二次握手
发送方发送SYN包(此包的编号是101),并且加入确认信息告诉接收方你的确认信息已经收到请求发送方下一次发送编号为301的SYN包的确认信息即ACK(ACK=301),实现第三次握手
通过三次握手建立连接,接着就可以传输数据
15、UDP协议特性
工作在传输层
提供不可靠的网络访问
非面向连接协议
有限的错误检查
传输性能高
无数据恢复特性
UDP包头:16位源地址、16位目标地址、16位UDP长度、16位校验和、数据
与TCP协议相比,UDP协议没有包的编号和确认,收多收少数据丢失不能够保障,但是传输性能高
16、ARP-Address Resolution Protocol地址解析协议-把MAC地址解析成IP地址
1)、以下是ARP的工作原理:
172.16.3.1机器A发出广播:I need the Ethernet address of 172.16.3.2
172.16.3.2机器B收到广播:I heard that broadcast.The message is for me.Here is my Ethernet address.
机器A与机器B 连接后,会互相存储对方的IP及MAC地址,以后的互联就是单播连接
由于ARP不进行确认,所以可以通过伪造进行ARP欺骗,ARP网关欺骗就是伪造冒充自己是网关
2)、ARP表存储的是与之通信过的机器IP和MAC地址
[root@centos7 ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
10.1.250.86 ether 1c:b7:2c:00:f5:34 C eno16777736
10.1.252.100 ether 00:0c:29:d1:18:fd C eno16777736
10.1.0.1 ether 40:8d:5c:bf:1f:6d C eno16777736
[root@centos7 ~]# ip neigh
10.1.250.86 dev eno16777736 lladdr 1c:b7:2c:00:f5:34 DELAY
10.1.252.100 dev eno16777736 lladdr 00:0c:29:d1:18:fd STALE
10.1.0.1 dev eno16777736 lladdr 40:8d:5c:bf:1f:6d STALE
17、主机到主机的包传递(1-22)
18、IP地址-协议地址
它可唯一标识网络中的每台设备
每台主机(计算机、网络设备、外围设备)必须具有唯一的地址
IP 地址由两部分组成:
• 网络ID:标识网络、每个网段分配一个网络ID
• 主机ID:标识单个主机、由组织分配给各设备
IP地址是一个32位二进制数,分为四组,每组八位,每组二进制可转化为十进制数
1)、IP地址分类:记2^7=128,二进制的01111111=十进制的127
主机ID全为0的表示网络的编号
主机ID全为1的表示网络的广播
每个网络的主机数=2^m-2 其中m=主机ID位数=32-网络ID位数=掩码中零的个数
假如A机器要与B机器通信,如果AB在一个网段,要么单播建立通信,要么广播建立通信;如果AB不在一个网段,则A把信息发送给网关处理
假如A的IP 172.168.1.32 掩码255.255.255.0
B的IP 172.168.2.32 掩码255.255.0.0
那么A-B通信,都以A的掩码进行断定网段,所以A认为B与其不在同一个网段
A的网段172.168.1.0
B的网段172.168.2.0
那么B-A通信,都以B的掩码进行断定网段,所以B认为A与其在同一个网段
A的网段172.168.0.0
B的网段172.168.0.0
A类网络:
0 0000000 – 0 1111111: 1-127
网络数:126,127,其中00000001-01111111,但是127大头的是回环地址,可用的共126个
每个网络中的主机数:2^24-2
默认子网掩码:255.0.0.0
私网地址:10.0.0.0
B类网络:
10 000000 – 10 111111 :128-191
网络数:2^14,其中14=6+8
每个网络中的主机数:2^16-2
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.0.0
C类网络:
110 00000 – 110 11111: 192-223
网络数:2^21,其中21=5+8+8
每个网络中的主机数:2^8-2
默认子网掩码:255.255.255.0
私网地址:192.168.0.0-192.168.255.0
D类网络:组播
1110 0000 – 1110 1111: 224-239
E类网络:科研使用
240-255
2)、公共IP与私有IP
根据用途和安全性级别的不同,IP地址还可以大致分为两类:公共地址和私有地址。
公用地址在Internet中使用,可以在Internet中随意访问。
私有地址只能在内部网络中使用,只有通过代理服务器才能与Internet通信。
一个机构网络要连入Internet,必须申请公共IP地址。
但是考虑到网络安全和内部实验等特殊情况,在IP地址中专门保留了三个区域作为私有地址,其地址范围如下:
10.0.0.0/8:10.0.0.0-10.255.255.255
172.16.0.0/12:172.16.0.0-172.31.255.255
192.168.0.0/16:192.168.0.0-192.168.255.255
使用保留地址的网络只能在内部进行通信,而不能与其他网络互连。因为本网络中的保留地址同样也可能被其它网络使用,如果进行网络互连,那么寻找路由时就会因为地址的不唯一而出现问题。但是这些使用保留地址的网络可以通过将本网络内的保留地址翻译转换成公共地址的方式实现与外部网络的互连,这也是保证网络安全的重要方法之一。
3)、特殊地址
0.0.0.0 不是一个真正意义上的IP 地址,它表示一个集合,表示所有不清楚的主机和目的网络255.255.255.255限制广播地址,对本机来说,这个地址指本网段内( 同一广播域)的所有主机
127.0.0.1-127.255.255.254本机回环地址,主要用于测试,在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包
224.0.0.0-239.255.255.255组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器,224.0.0.5 指OSPF路由器,地址多用于一些特定的程序以及多媒体程序
169.254.x.x如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址
19、子网掩码的八位128-192-224-240-248-252-254-255
划分子网-将可容纳主机数多的大网划分为小的子网:
网络ID位借位主机ID位n位,子网数=2^n,损失IP地址数=2(n-1)
例如172.16.0.0/16分割成两个子网,即是网络ID位借位主机ID位1位
172.16.0 xxxxxxx.xxxxxxxx/17即是172.16.0.0/17
此子网的IP范围是172.16.0 0000000.00000001-172.16.0 1111111.11111110
也即是172.16.0.1-172.16.127.254
172.16.1 xxxxxxx.xxxxxxxx/17即是172.16.128.0/17
此子网的IP范围是172.16.1 0000000.00000001-172.16.1 1111111.11111110
也即是172.16.128.1-172.16.255.254
划分子网时,主机地址不能全部为0或者1
这样因为划分子网就损失了172.16.127.255和172.16.128.0两个IP地址
例如189.210.100.200/16划分为8个子网
189.210.01100100.11001000/16
189.210.011 00000.00000000/16八个子网,借3位,具体子网如下:
189.210.000 00000.00000000/19即是189.210.0.0/19
189.210.001 00000.00000000/19即是189.210.32.0/19
189.210.011 00000.00000000/19即是189.210.96.0/19
189.210.111 00000.00000000/19即是189.210.224.0/19
189.210.100 00000.00000000/19即是189.210.128.0/19
189.210.110 00000.00000000/19即是189.210.192.0/19
189.210.101 00000.00000000/19即是189.210.160.0/19
189.210.010 00000.00000000/19即是189.210.64.0/19
其中189.210.000 00000.00000000/19的IP地址是
189.210.000 00000.00000001-189.210.000 11111.11111110
即是189.210.0.1-189.210.31.254
20、划分超网-主机ID位借位网络ID位,合并连续的IP地址-划分子网的逆向
便于路由器中路由表的存储
21、跨网络通信-路由
路由分类:
主机路由是在路由器的路由表中记录每台主机的路由,因太过于细致而是路由表过于繁琐
网络路由是在路由器的路由器中记录每个网段的路由
默认路由是在网段未知情况下使用0.0.0.0表示未知网段的路由
#route -n命令可以查看路由网关
路由表的构成:
networkID/netmask-网段 gateway interface
R1
192.16.1.0/24 192.16.1.254 1
172.16.0.0/16 172.16.0.1 0
10.0.0.0/8 172.16.0.2 0
R1的路由表中记录的是R1路由器本身接口和紧接着的下一个路由器的本侧接口的网关,但是接口只能是R1路由器本身的指向接口
22、主机动态IP配置协议DHCP-客户端和DHCP服务器之间通过广播四步确认客户端的IP地址
可以通过如下文件查看具体信息:
[root@localhost ~]# find / -name dhclient
/var/lib/dhclient
/sbin/dhclient
# cat /var/lib/dhclient/dhclient-
dhclient-eth0.leases
dhclient-fb0c8760-347d-4eb1-b15d-a1fc3048ca48-eth0.lease
# cat /var/lib/dhclient/dhclient-fb0c8760-347d-4eb1-b15d-a1fc3048ca48-eth0.lease
23、基本网络配置
在配置文件.bashrc中设置别名vinet=‘vim /etc/sysconf fig/network-scripts/ifcfg-eth0’
1)、将Linux 主机接入到网络,需要配置网络相关设置
一般包括如下内容:
DEVICE
IPADDR
PREFIX或者NETMASK
GATEWAY 必须与IP地址在同一网段
DNS(可以设置主、次、第三DNS服务器)
2)、网络配置文件
可以使用设置NM_CONTROLLED=no或者命令#chkconfig NetworkManager off关闭NM服务
关闭NM服务后,修改后的配置文件需#service network restart命令使之生效
IP、MASK、GW、DNS相关配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFACE
配置文件说明信息参考/usr/share/doc/initscripts-9.49.30/sysconfig.txt
DEVICE:此配置文件应用到的真实设备名,即必须与网卡名配置文件中网卡名相同
HWADDR:对应的设备的MAC地址,可以MACADDR进行修改,但是重装系统后会恢复
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM 控制,建议CentOS6为“no”
ONBOOT:在系统引导时是否激活此设备
TYPE:接口类型,常见有的Ethernet, Bridge
UUID:设备的惟一标识
IPADDR:指明IP地址
NETMASK:子网掩码
GATEWAY: 默认网关
DNS1:第一个DNS 服务器指向
DNS2:第二个DNS 服务器指向
USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO的值为dhcp,是否允许dhcp 服务器分配的dns服务器指向信息直接覆盖至/etc/resolv.conf
24、网卡设备别名
对虚拟主机有用
将多个IP 地址绑定到一个NIC上,即一块网卡配多个IP地址,格式如下:
eth0:1
eth0:2
为每个设备别名生成独立的接口配置文件ifcfg-ethX:xxx
• 关闭NetworkManager服务,否则不兼容
• 必须使用静态联网,不支持自动由dhcp服务器获取IP地址
DEVICE=eth0:0
IPADDR=10.10.10.10
PREFIX=16或者NETMASK=255.255.0.0
GATEWAY=10.10.10.254
DNS=114.114.114.114
ONPARENT=yes
注意:service network restart生效
具体详细的信息参考文件/usr/share/doc/initscripts-*/sysconfig.txt
25、网络接口配置-bonding
Bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡作为MASTER对外提供连接,物理网卡被修改为相同的MAC地址,作为SLAVE提供时间服务。
1)、Bonding的工作模式
Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾,顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
Mode 1 (active-backup)
活动-备份(主备)策略:在绑定中,只有一个slave 被激活,当且仅当活动的slave 接口失败时才会激活其他slave ,为了避免交换机发生混乱此时绑定的MAC地址只有一个在外部端口上可见
Mode 3 (broadcast)
广播策略:在所有的slave 接口上传送所有的报文,本模式提供容错能力。
2)、Bonding配置
创建bonding设备的配置文件:
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR
PREFIX
GATEWAY
DNS
BONDING_OPTS=“miimon=100 mode=0”
其中红字标示的内容可以使用BOOTPROTO=dhcp代替,即自动自dhcp服务器获取IP地址
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
Bonding配置选项:
miimon是用来进行链路监测的,如果miimon=100 ,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路
查看bond0 状态的命令#cat /proc/net/bonding/bond0
其中关于bonding 的详细配置请参照如下文件:
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
26、ifconfig 命令-可临时修改网卡IP信息,重启系统丢失指定信息
ifconfig [interface/IFACE]
# ifconfig -a
display all interfaces which are currently available,even if down
# ifconfig IFACE [up|down]
# ifup/ifdown IFACE
激活或者禁用指定网卡接口
#ifconfig eth0 down
#ifconfig eth0 up
#ifconfig eth0:1 down
ifconfig interface [aftype] options | address …
临时指定网卡IP信息
# ifconfig IFACE IP/mask [up]
# ifconfig IFACE IP netmask MASK
#ifconfig eth0 1.1.1.6/16
#ifconfig eth0:1 1.1.1.6/16
别名指定网卡IP信息,通过别名指定可把多个IP系到一个网卡上
注意:立即生效
27、ip 命令-配置Linux网络属性
ip – show/manipulate routing, devices, policy routing and tunnels
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT对象:= { link | addr | route }
ip link – network device configuration
set dev IFACE
可设置属性如下
up and down :激活或禁用指定接口
show [dev IFACE] :指定接口
[up] :仅显示处于激活状态的接口
[root@centos7 ~]# ip link 显示所有网卡接口的相关信息
[root@centos7 ~]# ip link show eth0
[root@centos7 ~]# ip link set eth0 down
[root@centos7 ~]# ip link set eth0 up
ip addr { add | del } IFADDR dev STRING
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域
global: 全局可用,默认状态
全局有效,IP地址并不是只与指定网卡关联,只要有其它网卡处于接通,此IP地址均可使用
link: 仅链接可用,IP地址只与指定网卡关联
host: 本机可用,即是IP只在本机可以ping通,别的机器不能ping通
#ip addr 查看所有网卡接口信息,包括一个接口的多个IP可以查看,比ifconfig查看的信息更全
#ip addr add 172.16.100.13/16 dev eth0
#ip addr add 172.16.100.13/16 dev eth0 接口eth0绑定二个IP信息
#ip addr add 172.16.100.13/16 dev eth0 label eth0:0
#ip addr del 172.16.100.13/16 dev eth0 label eth0:0
#ip addr flush dev eth0 label eth0:0 清除eth0:0上的所有IP地址信息
#ip addr flush dev eth0清除eth0上的所有IP地址信息,包括eth0:0上的所有IP地址信息
ip route – routing table management 路由列表管理
添加路由:ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET分为主机路由和网络路由:
主机路由:IP
网络路由:NETWORK/MASK
#ip route add 192.168.0.0/24 via 172.16.0.1 添加网络路由
#ip route add 192.168.1.13 via 172.16.0.1 添加主机路由
可以不写接口,由网关自动识别出
添加网关:ip route add default via GW dev IFACE
#ip route add default via 172.16.0.1添加默认路由,即添加0.0.0.0
删除路由:ip route delete
#ip route del TARGET
显示路由:ip route show|list
清空路由表:ip route flush [dev IFACE] [via PREFIX]
#ip route flush dev eth0
28、netstat 命令
netstat – Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.
显示网络连接:
netstat [–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[–extend|-e]] [–program|-p]
-t: tcp 协议相关
-u: udp 协议相关
-w: raw socket 相关
-l: 处于监听状态的网络,状态是LISTEN
-a: 所有状态
-n: 以数字显示IP 和端口
-e:扩展格式,显示更详细,包括用户信息、节点信息等
-p: 显示相关进程及PID
常用组合:-tan, -uan, -tnl, -unl
显示路由表:
netstat {–route|-r} [–numeric|-n]
-r: 显示内核路由表
-n: 数字格式
显示接口统计数据:
netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]
# netstat -I 查看所有网卡的状态,包括包大小,收发包数量等等信息
# netstat -IIFACE
#netstat -Ieht0
#netstat –I=eht0
29、ss命令
格式:ss [OPTION]… [FILTER]
netstat通过遍历proc来获取socket信息
ss 使用netlink与内核tcp_diag模块通信获取socket 信息
选项:
-t: tcp 协议相关
-u: udp 协议相关
-w: 裸套接字相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
FILTER:=[ state TCP-STATE ] [ EXPRESSION ]
TCP 的常见状态-tcp state:
LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION:
dport =
sport =
示例:‘( dport = :ssh or sport = :ssh )’
常用组合:-tan, -tanl, -tanlp, -uan
常见用法:
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dport = :smtp or sport = :smtp )'
显示所有已建立的SMTP连接
ss -o state established '( dport = :http or sport = :http )'
显示所有已建立的HTTP连接
ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程
ss -s 列出当前socket详细信息
30、route命令
路由管理命令
查看:route –n 查看路由表信息
添加:route add
route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If]
目标:192.168.1.3 网关:172.16.0.1
# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
目标:192.168.0.0 网关:172.16.0.1
# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
默认路由,网关:172.16.0.1
# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
# route add default gw 172.16.0.1
删除:route del
route del [-net|-host] target [gw Gw] [netmask Nm][[dev] If]
目标:192.168.1.3 网关:172.16.0.1
# route del -host 192.168.1.3
目标:192.168.0.0 网关:172.16.0.1
# route del -net 192.168.0.0 netmask 255.255.255.0
31、配路由示例:
1)、把centos6.8设置路由1-端口为eth0和eth1
[root@localhost network-scripts]# vim ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=192.5.0.1
PREFIX=16
HWADDR=00:0C:29:FE:EF:38
[root@localhost network-scripts]# vim ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=110.1.0.5
PREFIX=16
MACDDR=00:0C:29:FE:EF:SS
[root@localhost network-scripts]#service network restart
[root@localhost network-scripts]#ifconfig
[root@localhost network-scripts]#route -n
[root@localhost network-scripts]#route add -net 192.168.0.0/24 gw 192.5.0.2 dev eth0
[root@localhost network-scripts]#cat /proc/sys/net/ipv4/ip_forward
[root@localhost network-scripts]#echo 1 >/proc/sys/net/ipv4/ip_forward
[root@localhost network-scripts]#iptables -F
2)、把centos6.8-1设置路由2-端口为eth0和eth1
[root@centos6-8 network-scripts]# vim ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
IPADDR=192.5.0.2
PREFIX=16
[root@ centos6-8 network-scripts]# vim ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
IPADDR=192.168.0.1
PREFIX=24
[root@ centos6-8 network-scripts]#service network restart
[root@ centos6-8 network-scripts]#ifconfig
[root@ centos6-8 network-scripts]#route -n
[root@ centos6-8 network-scripts]#route add -net 110.1.0.0/16 gw 192.5.0.1 dev eth0
[root@ centos6-8 network-scripts]#cat /proc/sys/net/ipv4/ip_forward
[root@ centos6-8 network-scripts]#echo 1 >/proc/sys/net/ipv4/ip_forward
[root@ centos6-8 network-scripts]#iptables -F
3)、使用centos7.2作为机器A
#ifconfig eth0 110.1.0.100/16
#route -n
#route add -net defaults gw 110.1.0.5
#ping 110.1.0.5
#ping 192.5.0.1
#ping 192.5.0.2
#ping 192.168.0.1
#ping 192.168.0.101
3)、使用centos7.2-1作为机器B
#ifconfig eno16777736 192.168.0.101
#ifconfig
#route -n
#route add -net default gw 192.168.0.1
#ping 110.1.0.100
32、centos6之前配置当前主机的主机名
#hostname [HOSTNAME],临时更改主机名,重启后丢失
或者在文件中进行主机名的配置:
/etc/sysconfig/network
HOSTNAME=
33、rhel6和rhel7网卡接口命名
rhel6之前,网络接口传统命名发方式是使用连续号码命名为eth0 、eth1等,当增加或删除网卡时,名称可能会发生变化,网卡接口名称不太稳定
rhel7基于硬件,设备拓扑和设置类型命名,网卡接口名称更加稳定
34、恢复采用传统网卡命名方式的设置过程
1)编辑/etc/default/grub 配置文件中的行GRUB_CMDLINE_LINUX ="net.ifnames=0 rhgb quiet"
然后为grub2生成其配置文件,即执行命令#grub2-mkconfig -o /etc/grub2.cfg
其中/etc/grub2.cfg是软链接,其指向/boot/grub2/grub.cfg
最后重启系统
2)或者直接修改/boot/grub2/grub.cfg配置文件中的行linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=UUID=e42708bf-5679-4ee3-8257-eda72e5a389d ro crashkernel=auto rhgb quiet net.ifnames=0
然后重启系统
35、nmcli地址配置命令,直接修改配置文件-支持命令补全
设备配置被保存在文本文件中 /etc/sysconfig/network-scripts/ifcfg-<name>
帮助文档列出完整选项列表:/usr/share/doc/initcripts-*/sysconfig.txt
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT对象:device、connection/con(分别相对于IP命令的link、addr对象)
device – show and manage network interfaces
#nmcli device help 可查看相关帮助信息
Connection/con – start, stop, and manage network connections
#nmcli connection help可查看相关帮助信息
修改IP地址等属性:
#nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses ipv4.gateway
ipv4.dns1 ipv4.method manual|dhcp
修改配置文件执行生效的命令如下#systemctl restart network
#nmcli con reload
nmcli命令的禁用或启用连接:#nmcli con down "System eth0",#nmcli con up "System eth0"
# nmcli con up “Wired connection 1”
1)、NeworkManager 是管理和监控网络设置的守护进程
设备即网络接口,连接是对网络接口的配置,接口与连接是不同的
一个网络接口可有多个连接配置,但同时只有一个连接配置生效
显示所有包括不活动连接
#nmcli con show
显示所有活动连接
#nmcli con show –active
显示设备状态
#nmcli dev status
显示网络连接配置
nmcli con show "System eth0"
# nmcli con show " Wired connection 1"
显示网络接口属性
#nmcli dev show eno16777736
#nmcli dev show eth0
创建新连接default,IP自动通过dhcp获取
#nmcli con add con-name default type Ethernet ifname eth0
删除连接
#nmcli con del default
创建新连接static,指定静态IP,不自动连接
#nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254
启用static连接配置
#nmcli con up static
启用default连接配置
#nmcli con up default
2)、修改连接设置
nmcli con mod“static” connection.autoconnect no
修改连接static为不自动连接
nmcli con mod “static” ipv4.dns 172.25.X.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
3)、命令选项与配置文件对应关系-若命令繁琐,也可以自己选项配置文件
nmcli con mod ifcfg-* 文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
ipv4.addresses“192.0.2.1/24 192.0.2.254” IPADDR0=192.0.2.1
PREFIX0=24
GATEWAY0=192.0.2.254
ipv4.dns 8.8.8.8 DNS0=8.8.8.8
ipv4.dns-search example.com DOMAIN=example.com
ipv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.id eth0 NAME=eth0
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address . . . HWADDR= . . .
4)、修改连接配置后,需要重新加载配置
nmcli con reload
nmcli con down “system eth0”
nmcli con up “system eth0”
nmcli dev dis eth0 禁用网卡,访止被自动激活
36、centos7主机名称配置工具-hostnamectl
# hostnamectl status
# hostnamectl set-hostname xxxx 修改并直接写入配置文件/etc/hostname中
当然也可以使用hostname命令临时修改主机名
37)、Network Teaming-网络组
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现
多种方式runner:broadcast、roundrobin、activebackup、loadbalance、lacp
启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口不会自动启动网络组接口
禁用网络组接口会自动禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入
38)、创建网络组接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 连接名,INAME 接口名(因为是虚假接口,所以接口名可以设置同连接名)
JSON指定runner,METHOD可以是broadcast、roundrobin、activebackup、loadbalance、lacp
格式:'{"runner": {"name": "METHOD"}}'
39)、创建网络组接口实例
# nmcli con add type team con-name team0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}'
# nmcli con mod team0 ipv4.addresses 192.168.1.100/24
# nmcli con mod team0 ipv4.method manual
40)、创建port接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME连接名, INAME网络接口名,TEAM网络组接口名
连接名若不指定,默认为team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
INAME设备名
CNAME 网络组接口名或port接口
41)、创建port接口实例
# nmcli con add type team-slave con-name team0-eth1 ifname eth1 master team0
# nmcli con add type team-slave con-name team0-eth2 ifname eth2 master team0
# nmcli con up team0
# nmcli con up team0-eth1
# nmcli con up team0-eth2
# nmcli dev dis eth2 禁用网卡eth2
# teamdctl team0 state 查看team0的状态
42)、实验-创建网络组
#ip link
# nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
# nmcli con mod team0 ipv4.addresses '192.168.1.212/24'
# nmcli con mod team0 ipv4.method manual
# nmcli con add type team-slave con-name team0-port1 ifname eth0 master team0
# nmcli con add type team-slave con-name team0-port2 ifname eth1 master team0
#nmcli con show
# nmcli con up team0
# nmcli con up team0-port1
# nmcli con up team0-port2
# teamdctl team0 state
# ping 192.168.1.100
# nmcli dev dis eth0 禁用网卡eth1
# teamdctl team0 state
# nmcli dev dis eth1 禁用网卡eth2
# nmcli dev connect eth0 启用网卡eth1
# nmcli dev connect eth1 启用网卡eth2
43)、网络组配置文件
# /etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes
# /etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
44)、DNS 设置存放在/etc/resolv.conf 文件中
PEERDNS=no表示当IP通过dhcp自动获取时,dns 仍是手动设置不自动获取。等价于下面命令:
#nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
45)、网络客户端工具
lftp, ftp, lftpget, wget
# lftp [-p port] [-u user[,password]] SERVER
子命令:cd、ls 、lcd、pwd、get、mget、help,各子命令前加!表示本机操作
# lftp URL
# ftp URL
其中lcd子命令是本机目录切换,而不是访问的服务器目录切换,可以切换文件下载在本机的路径
# lftpget URL
# wget
wget [option]… [URL]…
-q: 静默模式
-c: 断点续传
-O: 保存位置
–limit-rates=:指定传输速率
46)、#links 10.1.0.1 –dump 抠下不可复制网页文字
原创文章,作者:18612763863,如若转载,请注明出处:http://www.178linux.com/44564