网络的特征
速度
成本
安全性
可用性
可扩展性
可靠性
拓扑mysql
- 其中可用性按整个系统可用时间占整年整体时间的百分比来计算。
好比99%可用1%不可用,则一年内有3天左右的时间不可用,这是没法接受的。
通常大型企业要求99.999%,大约5分钟左右不可用时间。
raid技术就是一个解决可用性的技术,服务器和多个机房备份也是为了可用性。
- 而可靠性指的是硬件和系统的性能,注意它俩区别。
国际标准化组织(International Organization for Standardization,ISO)简称ISO。
OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不一样计算机互联的标准,是设计和描述计算机网络通讯的基本框架。OSI模型把网络通讯的工做分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。这是一种事实上被TCP/IP 4层模型淘汰的协议。在当今世界上没有大规模使用。linux
应 用 层:Application layer
表 示 层:Presentation layer
会 话 层:Session layer
传 输 层:Transport layer :网段 :
网 络 层:Network layer :逻辑地址(更容易找到设备的位置):数据包 :三层交换机,路由器,家用集成路由器
数据链路层:Data link layer : 物理地址(世界惟一性) :帧 :二层交换机,网卡(IP地址是操做系统分配,并不是网卡自带,固然MAC地址也可用windows虚拟更改)
物 理 层:Physical layer :位 :网线,集线器ios
- 注意每一层传输的时候都要为上一层提供服务,所以要指明上一层的协议(由于每一层都有不少种不一样的协议)。
- 这是由于目标主机拆解封装包的时候,它若是不指明上一层协议,则当这一层解报头传到上一层以后,目标主机不知道要用什么协议在上一层对数据进行拆解以及各类处理。
- 从应用层到物理层为封装,每次加报头,数据链路层加上校验位,反过来为解封装。
PDU
PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
物理层的 PDU是数据位 bit
数据链路层的 PDU是数据帧 frame
网络层的PDU是数据包 packet
传输层的 PDU是数据段 segment
其余更高层次的PDU是消息 messagegit
数据传输方式
按方向分: 单工 半双工 全双工 ,分别为单向,同一时间单向,同时可双向。
按目标主机数量分:单播 多播(组播) 广播
- 注意单播多播广播它只管发送,无论目标主机是否收到。不是目标主机的机器也会收到信息只不过默认状况下会将其抛弃,但也可能经过其它手段故意获取信息内容达到窃听的效果。
- 注意广播可能会影响到冲突域内的其余主机(不想接受广播)的通讯效率
局域网LAN和广域网WAN
- 局域网突出的特色就是基于广播的方式通讯,在一个小的范围内,这样它寻找主机的效率最好
- 广域网通常就是经过点对点,一段一段将数据传出
双绞线排序
国内经常使用T568B标准,国际上经常使用T568A标准.
百兆之内不排序也可,可是百兆以上不排序会影响网速。算法
- 直连线:RJ45水晶头两头为同一种排序方式,生活工做中用的最多就是这种直连线。
- 交叉线:两头分别为T568A和T568B
目前主机上大多都能自动识别交叉线仍是直连线,所以不用刻意交叉,直接用直连线便可相互通信。不过有些网卡没有这功能,仍是须要制做交叉线才行。
以上都是5类线的标准,当网速达到千兆以上,用到超5类线以上标准,则8根线每根都既能发送又能接收数据。
T568B:
sql


- 1和3线以及2和6线分别相互对调即T568A和T568B互换。

- 早期主机相连就是按照上图方式,不过如今的网卡均可以自适应,因此无需分别,除非是特别老的机器。
以太网(Ethernet):用于局域网内标准
- 目前基本上局域网内用的都是以太网协议,早期还有令牌环网等协议
- 以太网协议工做在数据链路层(和物理层)
- wifi也是属于以太网协议(无线),802.11开头。
注意wifi和wlan和wapi区别:wlan是另外两种协议的统称,表明无线局域网协议shell




- 以太网工做在数据链路层,以帧为数据单位,其结构能够参考网络资料。
- MAC:media access control
- 早期以太网协议没有指明上一层(网络层)协议,后来在长度位增长了type两个字节用来指明上一层协议
查看帧内内容可用抓包工具
windows:wareshark
linux:数据库
命令行命令 tcpdump
-i 后面指定要抓包的网卡名
-nn 抓包的网卡,当对方访问本机时,显示对方的IP地址而不是主机名
-x 显示16进制的包内数据信息ubuntu
查看网卡信息 ethtool
ethtool 直接跟网卡名:显示网卡详细信息
-i 后面指定网卡名 好比 eth0 :查看网卡驱动模块vim
查看网卡信息 mii-tool -v eth0
netstat 或者 ss 查看网络各类信息
- n 尽可能以数字形式显示,不要显示主机名等等
- t 只显示与TCP协议相关的数据
- r 路由表相关信息
- a 全部信息
杂项
yunm -install httpd-tools
ab -c 100 -n 2000 http://192.168.0.1/test.txt
早期同轴电缆的时期CSMA/CD用来解决冲突,后来用了双绞线以及各类网络设备:
- HUB :集线器,也被称为中继器repeter(双绞线的最大有效传输100米左右,用它来放大信号延长距离),傻瓜式向全部端口以广播的机制转发数据,一个主机发送数据以后链接到集线器上的全部设备都会收到这个数据,其也被称为泛洪机制(flood)。
- 它的缺点就是数据不安全(全部机器都能收到数据,所以即可抓取并窥窃);同时会干扰到其余不须要接收数据的机器;再有就是两台机器以上同时发送数据会在集线器内发生冲突,那就仍然须要回退算法(CSMA/CD)从新发送;全部机器共享HUB带宽,工做方式半双工。
- 链接到hub上的主机在一个冲突域内(两台机器同时发送数据,数据会发生冲撞并损毁,那么这两台主机就在一个冲突域)
- 注意HUB工做在物理层。
- 网桥:网桥两端分别为两个冲突域,它就是一个两个端口的交换机,二层设备工做在数据链路层。
- switch:交换机,外观相似集线器,不过是以单播转发的机制向特定主机发送数据,它的每个端口就是一个冲突域,而且链接到它的每一个主机的带宽就是交换机的带宽,并非共享方式,而是独占方式,全双工通信。固然它要提早动态学习port和MAC对应的MAC地址表才能达到这个分离冲突域的效果(注意下面的.
- 它会根据本身内存中的端口和地址对应的表来对应的转发数据,若是表中没有目标地址MAC和端口对应数据,则它会向全部端口转发数据,若是找到了,则只会向目标地址MAC对应的端口转发数据,达到单播的效果,也就是至关于只有第一次发送数据的时候是广播形式(由于找不到目标MAC地址主机对应的端口)
- 它学习过程是这样的,当收到一个主机发送的数据帧时(以太网帧),它会记下它收到的这个发送的数据来自哪一个端口port以及发送这个数据的主机的MAC地址,这样就把这个端口和MAC地址对应起来了(注意学习的时候是靠源数据来自的源地址以及源端口来学习并存入内存表格中的,而不是靠目标地址)
- 注意一个端口对应的MAC地址能够有多个,由于一个端口上能够再次接上交换机或者集线器等等,能够有多台主机接在这一个端口上,因此一个端口对应了多个MAC地址。注意这个MAC地址表存在内存中,断电会丢失,由于是动态学习方式,因此能够被清除或者修改,其能保存的对应条目是有限的。
- 由于它的这个特性,可知若是内存表空间被占满,它就不会再记录新的端口和MAC对应条目,所以它受到数据以后若是找不到对应的MAC地址,他就会广播形式向全部端口转发,形成网络拥堵。经过这种伪造虚假源地址发送数据,而后占满内存表的方式让交换机广播发送,降级设备,就能实现监听数据的效果(由于广播了因此全部的接口都会收到找不到目标MAC地址的数据)。固然具备管理能力的交换机可以避免这种状况发生,但没有管理能力的就没法控制这种行为了。
- 相比于HUB,它数据更加安全。但某些具备管理功能的交换机一样能够将某个端口设置为旁路接口,全部经过这个交换机的数据都要转发到这个接口上,不论目标地址是什么,也能够达到窃听效果。
- 同时要注意交换机工做在数据链路层,它记录的是端口和MAC地址而不是IP,IP在网络层
- 交换机和网桥能隔断冲突域,不能隔断广播域(广播域就是说一台主机发送一个广播,另外一台主机收到,那么他俩就在一个广播域,广播域的以太网帧中的目标地址信息为48个1也就是FF:FF:FF:FF:FF:FF)。由于它里面存的MAC地址表都是从源地址学习得来,源地址不可能有48个1的MAC地址,既然找不到这48个1对应的MAC地址和端口,受到广播数据MAC地址为48个1就会向所有端口转发,所以便会广播。(注意链接到交换机的交换机也会收到广播信息,想一想原理便知)
VLAN:一般用于配置交换机分隔广播域,每个VLAN就是一个虚拟局域网网段。(相似实现了路由器的功能,节省单独购买路由器的成本)
- 1.分隔广播域 2.安全 3.灵活管理 :注意交换机须要支持配置功能才能配置VLAN。
- 实现:最经常使用的以端口方式划分VLAN:将交换机的几个端口划分红一个VLAN中,另外几个端口划分到另一个VLAN中,这每个VLAN就是一个广播域(相似子这些端口接到了一个子交换机上),可是两个不一样的VLAN之间不能通信(至关于物理上隔断了,或者说多个VLAN之间接了一个路由器)
- 若是只能划分VLAN不能配置他们之间的通信策略,就是二层交换机;若是咱们能够配置这多个VLAN之间的相互通信策略,实现划分广播域,达到安全配置功能,就是带有路由功能的三层交换机。
- 二层交换机VLAN间互访需借助路由或三层交换机来实现,三层不须要。
- 若是两个(或多个)交换机之间的VLAN想要链接在一块儿,能够把这两个交换机上都各自拿出一个端口并相连,同时
将这两个端口各自加入想要链接的VLAN内便可,但若是想要链接的VLAN和交换机太多,就会占用过多的端口。这时候就须要一个trunk-802.1Q协议并利用一个trunk端口,也就是干路端口来让这一个接口能够转发此交换机上全部VLAN的数据。
- 可是转发出去的数据包若是不指定上目标交换机想要与这个数据包来自的VLAN网络合并的VLAN,则在目标交换机会所有转发,所以会在以太网帧的报头信息内指定上目标交换机的VLAN信息,以便相互合并。这就是trunk的工做方式。

- 上图中主交换机和子交换机相连的全部口都是trunk接口,注意主交换机上配置了3个trunk接口。固然前提是交换机能够配置,不能配置的交换机不支持VLAN功能。
- 路由器:为了实现路由,路由器须要作下列事情(这里指的是企业级专用路由器,工做在网络层,家里用的路由器是个集成交换机的集成设备,注意区分):
- 分隔广播域(多播广播数据都会隔断,只有单播才能穿越,单播也能够配置让它不能穿越,总之所有均可调控,达到安全配置功能)
- 选择路由表中到达目标最好的路径
- 维护和检查路由信息 :好比企业中的核心交换机都是带有路由功能的,三层交换机,能够配置链接到它的各个端口的二层交换机之间可否传输数据和通讯。这样就把它的子交换机(各个部门交换机)分隔成一个一个的广播域,而不是全都在一个广播域内,能够设置子交换机(各个部门)之间的通信方式(单向,双向,不可通信),实现安全策略。
- 链接广域网
分层的网络结构(企业中的简单配置):

TCP/IP 协议栈和 OSI 模型
Transmission Control Protocol/Internet Protocol传输控制协议/因特网互联协议
TCP/IP是一个Protocol Stack,包括TCP、 IP、 UDP、CMP、 RIP、TELNET、FTP、 SMTP、ARP等许多协议,最先发源于美国国防部(缩写为DoD)的因特网的前身ARPA网项目,1983年1月1日,TCP/IP取代了旧的网络控制协议NCP,成为今天的互联网和局域网的基石和标准,由互联网工程任务组负责维护
共定义了四层和ISO参考模型的分层有对应关系
ethr(IP(TCP(App([DATA]))SCR

TCP/IP中各类协议服务工做的层级:


TCP和UDP

TCP:
工做在传输层
面向链接协议 :先创建链接,再传输数据(三次握手和四次挥手)
全双工协议
半关闭 :一方关闭,变成了单工传输
错误检查
将数据打包成段,排序
确认机制
数据恢复,重传
流量控制,滑动窗口
拥塞控制,慢启动和拥塞避免算法

- 端口号指定的是输层TCP上一层工做的应用层协议或者服务的端口,好比ssh服务端口号就是22,ftp为21,telnet 23,smtp 25,pop110.
- 不一样的软件和服务用不一样的端口号,基于网络通信的软件分为服务器和客户端软件,但这些服务器软件的端口都是固定端口,客户端的端口是随机分配的。经过源端口和目标端口就确认了应用程序惟一标识。

TCP协议PORT
传输层经过port号,肯定应用层协议
Port number:
tcp:传输控制协议,面向链接的协议;通讯前须要创建虚拟链路;结束后拆除链路
0-65535
udp:User Datagram Protocol,无链接的协议
0-65535
IANA:互联网数字分配机构(负责域名,数字资源,协议分配)
- 0-1023:系统端口或特权端口(仅管理员可用) ,众所周知,永久的分配给固定的
系统应用使用,22/tcp(ssh), 80/tcp(http), 443/tcp(https)
- 1024-49151:用户端口或注册端口,但要求并不严格,分配给程序注册为某应用使用,1433/tcp(SqlServer), 1521/tcp(oracle),3306/tcp(mysql),11211/tcp/udp
- (memcached)
49152-65535:动态端口或私有端口,客户端程序随机使用的端口
其范围的定义:/proc/sys/net/ipv4/ip_local_port_range
- Linux内私有端口(动态端口)范围(某些状况下能够更改它以避免端口数量不够用):/proc/sys/net/ipv4/ip_local_port_range
- 查看已经被使用的固定端口号:/etc/services
TCP三次握手

TCP四次挥手

sync半链接和accept全链接队列
ss –lnt
/proc/sys/net/ipv4/tcp_max_syn_backlog 未完成链接队列大小,建议调整大小为1024以上
/proc/sys/net/core/somaxconn 完成链接队列大小,建议调整大小为1024以上
- 以上两个值能够直接用 echo 1024 > 重定向的方式修改,可是没法永久保存,所以要修改相关配置文件
- 它们的数字决定了服务器主机在同一时间内创建半连接(1次握手)和全链接(3次握手)最大的客户端个数。也就是限制了连接的客户端最大数量。
- 这个半连接状态容易受到**致使没法让其余的客户端访问(只发送创建连接的请求,可是不回复SYN=1的信息给服务器端),被称为半连接***。
TCP服务拥塞控制和超时重传相关文件
当前所使用的拥塞控制算法 :/proc/sys/net/ipv4/tcp_congestion_control
与TCP超时重传相关的两个内核参数:
/proc/sys/net/ipv4/tcp_retries1,指定在底层IP接管以前TCP最少执行的重传次数,默认值是3
/proc/sys/net/ipv4/tcp_retries2,指定链接放弃前TCP最多能够执行的重传次数,默认值15(通常对应13~30min)
UDP协议
工做在传输层
提供不可靠的网络访问
非面向链接协议
有限的错误检查
传输性能高
无数据恢复特性
Internet层:

icmp协议:网络控制信息协议
APR协议:地址解析服务协议
它的做用就是找到逻辑上的IP地址对应的网络中真正主机的位置,也就是其对应的MAC地址。
若是目标地址IP与本机就在同一网段,则当数据传出到这一个IP地址时,好比说ping IP地址,它就会对IP其进行解析,找出物理上的MAC地址,而后将数据包向其转发
若是目标IP和本机不在一个网段以内,则会向路由器的端口转发,由于在ARP表中,这个IP地址对应的MAC就是路由器链接到此网段的端口,至于后面路由器怎么找到这个IP对应的真正的主机的地址,就是路由器和路由表中的工做了。它会一级一级通过路由器转发,直到最终找到目标IP地址的网段和其真正的MAC地址主机,将数据转发给目标
实现过程(ARP表的创建):
- 当知道目标的IP地址以后,第一次发送数据便以广播方式在当前网段内发送消息,询问目标IP地址的以太网协议(MAC)地址(注意在以太网协议中,这个广播信息帧的目标MAC地址也就是12个F,源地址就是本机的MAC地址)
- 当目标IP地址主机收到这个广播消息以后,他就会知道这条消息的源IP地址以及源MAC地址(由于在广播信息中写的有源MAC地址和IP地址,但须要注意MAC地址是二层以太网协议的报头中的,IP地址是第三层ARP协议中报头中的,其中IP地址包括本机的IP还包括目标主机的IP。这样目标IP主机收到广播才会处理这条信息,其余IP的发现不是发给本机的就会忽略掉这个广播。
- 注意这些信息存在数据中不一样报头中,并存在两个相互通信的主机内存中的。而以前说的MAC端口地址是存在交换机中的,不要搞混淆了,它们不是同一个机器
- 当目标IP主机收到发给本身的询问的广播信息后,它会处理并以单播方式回复发送广播的这个IP和MAC地址的主机一条信息,(其中在以太网协议中的报头中就会包含本机的MAC地址)这样双方就都知道了对方的IP和MAC对应关系,就会把它各自存入本身内存的ARP表中,下次再进行相互访问时就不用再发送广播而是直接单播方式进行传输数据了。

- 注意:当网络服务重启(systemctl restart network)以后便会清空ARP表,以后便会再次从新进行上述过程进行对比寻找。
- 通过测试抓包信息可知,第一次双方通信创建ARP表的时候,数据帧的内容不多。
- 发送广播方的帧内data区域:包含着发送ARP广播的源主机IP和目标IP,注意MAC在以太网帧报头处,目标MAC为12个f,源MAC就是本机MAC,type指定就是ARP(0806)
- 回复方数据data区域内:它本机的IP和对方的IP 一样的在以太网帧报头处,这时候已知了目标MAC(发送时源MAC),所以源MAC和目标MAC都会写上。

跨网段(路由器隔离)的APR实现(APR表的创建)过程:
注意:ARP分段广播,路由表优先级高于ARP协议,(每次先判断路由表,再决定是ARP广播寻找网关mac仍是寻找目标主机mac)
- 假如发送方和目标方主机之间隔着1个或者多个路由,则发送数据时(已知本机IP和目标IP),首先在本机网段的路由这一侧,发送数据时会先经过ARP广播找到本机网段的网关对应的MAC,也就是路由器接到这个网段接口IP对应的MAC(这里隐含了一个提早判断,就是主机已经判断过目标IP和本机IP不在一个网段内,所以它就会用广播寻找本机所在网段的路由网关IP接口的MAC地址。从这里也能够看出路由寻址是要高于APR协议的,先判断路由再判断ARP),而后本机就会将数据包转给网关到路由
- 转给第一级路由以后,路由器就会根据这个路由的路由表内的信息判断要将这个数据包从此路由的哪个端口往外转发,并转到下一个路由的哪个网关。在这第二个网段转发的过程当中也是经过APR协议找到下一个网关对应的MAC,而后将数据包转发给下一个网关。
注意路由表一行内包含 1.目标网段(2.包括子网掩码),3.能发送到目标网段的出口端口 4.能转发给目标网段的下一个路由器的网关入口
固然路由这是在网络层说的,源IP和目标IP都仍然为最初的IP保持不变(由于这些IP地址并不在以太网帧报头内而是在网络层IP协议的报头数据内,路由器去掉以太网帧报头以后就会根据网络层报头内的目标IP地址进行路由表匹配,并再次以太网封装转发出去,不改变IP协议中的内容,除非是有NAT功能的路由)但在数据链路层来讲,以太网帧报头内就是指从这个路由器转出的端口MAC到下个路由器接入的网关MAC,所以每通过一个路由器都会进行封装拆封的过程会不断改变。
- 第2个步骤重复进行直到数据转发到与目标IP网段相连的路由器,此时路由器就会把数据发送到目标IP的主机上。
注意直接与路由器相连的网段 其目标网段和子网掩码就是相连的这个网段和子网掩码没必要多说,但注意其网关为0.0.0.0 ,全为0的IP地址 0.0.0.0表明着IP地址不明,也能够认为是它表明了全部的IP地址。
- 若是它在路由表中的目标网段中,意味着这一条路由表项是默认路由条目,全部找不到匹配项的未知IP的数据都会往这一项写的网关上转发
- 而若是这全为0的地址写在路由表项网关一栏上,一种状况是它表明这一路由表项对应的转出端口就在这一项前面所写的目标网段上,也就至关因而路由器直连到前面写的目标网段。此时这个路由表就会从这个转出端口进行ARP广播来寻找目标IP的MAC地址。(注意在这里目标的IP地址和这一项对应的端口的IP地址在同一个网段)
- 而另外一种状况就此路由表项所写的目标网段和这个端口不在同一个网段,可是网关仍然写的都是0.0.0.0(正常状况下不在同一网段要写下一个路由的网关入口进行转发的);这种状况下就是为了让这个端口或者主机的IP所在的网段可以与这个路由表项所写的目标网段进行相互通讯,(注意它俩不在一个网段,和第一种状况不一样,虽然也是直连)其实际效果就是让这个端口连通目标网段的IP时,进行ARP广播,直接寻找MAC地址进行相互通信。实际应用中就是为了让交换机上不一样VLAN的网段之间可以进行通信但不须要增长路由器,只须要在路由表中添加入本机想要通信的目标网段,把网关改成所有为0,端口写上,则它在和目标网段内IP进行通信时,就会进行APR广播直接寻找MAC,由于交换机就是工做在数据链路层用MAC来寻找机器,所以即可不一样网段的VLAN之间进行相互通信了。
- 还有一种状况就是若是目标网段和网关所有都写0.0.0.0 则这个路由表无论数据要转发到任何IP地址,它都会直接在这一项对应的端口进行ARP广播来寻找目标IP的MAC,与这个端口物理上相连的(经过交换机,集线器等,但不能经过路由器,除非恰好要寻找的目标IP就是路由器接到这个物理链接的网络中的端口IP,)全部不论任何IP的机器均可以相互通信了。
linux中可用arp 命令查看arp表,或者 ip neigh
-n 不显示名称只显示数字IP
ARP欺骗
- 在交换机同一个网段内,假装本身为某个接收方的IP的MAC地址,分别***发送方和接收方,让发送方误认为本身是接收方,而让接收方误认为本身是发送方。进而这两个主机之间的通信便会中间途径ARP欺骗的机器,在通过这个机器转发到真正的接收和发送方。所以数据信息就被窃听甚至能被修改。
- 在一个网段内假装本身为路由器网关的IP以及MAC,这样这个网段内全部的联通外网的数据都会通过本身,而后再进行转发(或者不转发形成断网),这样就可以盗取密码等敏感信息。
- 由于ARP每次重启网络服务都会从新刷新再次进行动态学习,因此很不安全。所以为了防止ARP欺骗,比较简单的方法就是将网关以及与本机重要连通方的IP和MAC绑定为静态地址,并让它重启不丢失便可(linux中开机自动运行某个脚本进行环境设置,注意重启网络服务也得重写别忘了,windows中自带命令开机不丢失),这样它就不会再被ARP欺骗(静态优先级比动态高)。
反向ARP
发送方主机发送数据的时候不知道对方IP, 须要向DHCP服务器申请IP地址。发送一条ARP广播,其中只包含本机MAC,不含本机IP以及对方IP和MAC,当具备DHCP服务功能的服务器收到广播后回复并分配给它一个IP,并告知对方本身的IP以及MAC。(
反向ARP(MAC解析为IP):发送方只有发送方MAC,回复方4个信息都包含,有效信息为两个IP和回复方的MAC;
ARP(ip解析为MAC):发送方有MAC,本机和对方两个IP,回复方虽然两个MAC,两个IP都包含,可是有效信息只有回复方的MAC。
网吧中的无盘电脑就是这样,开机直接申请IP,DHCP服务器查询提早配置好的IP和MAC对应表,匹配MAC给启动的电脑分配一个固定的IP,而后将此电脑将远程硬盘中的系统载入内存启动。
附加知识点:
centos7 能够tab按键自动补全命令,centos6中不可,但能够装一个软件包名字叫作bash-completion,在yum的epel源里面
IP协议
运行于 OSI 网络层
面向无链接的协议
独立处理数据包
分层编址
尽力而为传输
无数据恢复功能
IP地址
它们可惟一标识 IP 网络中的每台设备
每台主机(计算机、网络设备、外围设备)必须具备惟一的地址
IP地址由两部分组成
- 网络ID:
标识网络
每一个网段分配一个网络ID ,最后的主机IP为均为0(主机位所有为1表明广播信息,注意这个IP广播和ARP广播的区别)
- 主机 ID:
标识单个主机
由组织分配给各设备
早期分为A,B,C,D,E等类,用于判断大网核心网,如今的无类地址用子网掩码来判断IP的网段了。
特殊的:
- 0.0.0.0
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服务器获取地址,系统会为主机分配这样地址
C私网地址:192.168.0.0-192.168.255.0
B私网地址:172.16.0.0-172.31.0.0
A私网地址: 10.0.0.0-10.255.255.255
主机ID为全为0表明此网段,全为1表明此网段广播,须要剔除网段中这两个IP
- 注意私有地址只在局域网中,在公网中显示的都是公有地址,会有一个转换过程。
A类:1-126
0 000 0000 - 0 111 1111: 1-127
网络数:126, 127
每一个网络中的主机数:2^24-2
默认子网掩码:255.0.0.0
私网地址:10.0.0.0
B类:128-191
10 00 0000 - 10 11 1111:128-191
网络数:2^14
每一个网络中的主机数:2^16-2
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.0.0
C类:192-223
110 0 0000 - 110 1 1111: 192-223
网络数:2^21
每一个网络中的主机数: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
子网掩码
- 子网掩码判断对方一个IP是否和本身在同一网段的时候,本机网段就是子网掩码位和IP位想与便可,而判断对方的IP是否和本身在同一个网段,要拿本身的子网掩码来与对方的IP,看其获得的结果是否和本身的网段相同来判断。
- 子网掩码前面的位必须为1,中间不能有0而后再出现1这种状况
- 复习知识:路由协议高于ARP协议,ARP广播以前就须要先判断目标IP是否和本身在一个网段,在一个网段直接ARP广播找MAC,不在一个网段则去找路由网关MAC(这也就解释了为什么路由表的网关设置为0.0.0.0以后,当寻找这一项前面对应写的目标网段内的IP地址时,ARP就直接发送广播来找想要链接的IP地址的MAC了。由于0.0.0.0就表明任何地址或者说未知地址,或者简单一点就把本身当作路由,若是网关是个特定的IP,确定是要用ARP广播寻找这个特定IP的MAC的,发送广播的时候目标地址写的就是这个网关特定IP地址,可是由于写是0.0.0.0,未知,因此ARP发送广播的时候目标地址就直接写了最初想要链接的主机的IP了,若是说目标地址和本机地址不在一个网段,也会让它强行广播直接寻找,这样在交换机上物理链接的不一样网段就能互通了。)
00000000 0
10000000 128
11000000 192
11100000 224
11110000 240
11111000 248
11111100 252
11111110 254
11111111 255
划分子网和合并超网
- 划分子网:将一个大网(主机ID位多)划分红多个小网(主机ID位数少),原有网络ID位数不变,新的小网的网络ID变多,主机ID位变少,原有网络ID位向主机ID借位。
- 合并超网:恰好与上一过程相反。
一些计算方法公式
- 网络中主机数=2^主机ID位-2=2^(32-网络ID位)-2
- 网络数=2^可变网络ID位
- 网络ID=IP与netmask
- 无类地址CIDR表示法:IP/网络ID位数, CIDR表示法,无类域间路由
- 划分子网数=2^网络ID向主机ID借位的位数(1分为两个子网,2分为4子网,以此类推,但别忘了修改子网掩码)
- 划分超网:合并多个小网成为一个大网,主机ID向网络ID借位
路由详细介绍
跨网络通讯:路由
路由分类(这里指的是路由表内的每一条信息,不是路由器):
主机路由 :子网掩码全为1,会形成路由表很庞大,不经常使用
网络路由 :网段路由,最经常使用的路由表方式,到达网段内以后进行ARP广播查找某个IP对应主机
默认路由 :找不到目标网络时便会向默认路由记录的网关转发,一般用来指定局域网上的主机的网关(主机上也有路由表),注意不能配置在有多条线路上的路由器上面。
优先级:精度越高,优先级越高(主机->网段->默认)
- 注意:不只仅是路由器有路由表,每一个主机都有路由表,路由表很是重要,它决定了数据包通过网络要发出去时所走的路径,若是缺失路由表,则与它相关的数据包将直接没法发送出去。
基本网络配置1:
将Linux主机接入到网络,须要配置网络相关设置,通常包括以下内容:
- 主机名
- IP/netmask
- 路由:默认网关
- DNS服务器:
主DNS服务器
次DNS服务器
第三DNS服务器
主机名知识点1:
6的network:
04:07[root@Centos6 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Centos6.10Test
7的hostname文件:
10:35[root@centos7 /etc/]# cat /etc/hostname
centos7.6test
接口命名方式:CentOS 6
以太网:eth[0,1,2,...]
ppp:ppp[0,1,2,...]
网络接口识别并命名相关的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
查看网卡:
dmesg |grep –i eth
ethtool -i eth0
卸载网卡驱动:
modprobe -r e1000
rmmod e1000
装载网卡驱动:
modprobe e1000
- 附加知识点:在centos中,若是直接复制一个虚拟机的文件而后打开这个虚拟机,则有些配置会和之前的虚拟机重复,尤为是有固定ID的设备。
好比说网卡的MAC地址就会和网卡名绑定在一块儿,致使新复制的这个虚拟机网卡名不会从0开始。这时候要删除掉这个绑定的信息,它在 /etc/udev/rule.d/这个文件夹中,其中网卡对应的就是70-persistent-net.rules ,删除掉或者修改对应的网卡名和mac地址便可(Centos6中有这个文件,7中貌似没有)。
以后想要重启这个设备,须要用模块控制命令卸载掉网卡驱动,而后再从新启动便可:
ethtool -i eth0 :查看网卡驱动
rmmod e1000 :卸载网卡驱动模块
modprobe e1000:从新加载驱动模块
这样就能够把名字和MAC的对应关系从新修改了。
基本网络配置2:
IP、 MASK、 GW、DNS相关配置文件:/etc/sysconfig/networkscripts/ifcfg-IFACE
- 路由相关的配置文件:
/etc/sysconfig/network-scripts/route-IFACE
/etc/sysconfig/network-scripts/ifcfg-IFACE:说明参考/usr/share/doc/initscripts-9.49.30/sysconfig.txt
主机名和本地解析器
- 配置当前主机的主机名:
hostname [HOSTNAME]
/etc/sysconfig/network
HOSTNAME=
- 解析器执行正向和逆向查询
/etc/hosts
本地主机名数据库和IP地址的映像
对小型独立网络有用
一般,在使用DNS前检查
getent hosts 查看/etc/hosts 内容
dns名字解析
- /etc/resolv.conf
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
search magedu.com
- /etc/nsswitch.conf
与/etc/hosts相比优先于DNS
- 正向解析:FQDN-->IP
dig -t A FQDN
host -t A FQDN
- 反向解析:IP-->FQDN
dig -x IP
host -t PTR IP
路由器配置文件(详细查看官方网站文档介绍)
- /etc/sysconfig/network-scripts/route-IFACE
注意:需service network restart生效
两种风格:
(1) TARGET via GW
如:10.0.0.0/8 via 172.16.0.1
(2) 每三行定义一条路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
例如:
格式: default via 192.168.1.1 dev interface
实例: 10.10.10.0/24 via 192.168.1.1 [dev interface]
- 注意这个配置文件只有DHCP没有配置默认网关,以及没有在/etc/sysconfig/network文件中全局设置网关的状况下才会有必要配置
网卡别名(只是暂时生效,重启服务丢失)
- 对虚拟主机有用
- 将多个IP地址绑定到一个NIC上
eth0:1 、 eth0:二、 eth0:3
- ifconfig命令:
ifconfig eth0:0 192.168.1.100/24 up
ifconfig eth0:0 down
- ip命令:
ip addr add 172.16.1.2/16 dev eth0
ip addr add 172.16.1.1/16 dev eth0 label eth0:0
ip addr add 172.16.1.2/16 dev eth0 label eth0:0
ip addr del 172.16.1.1/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
设备别名(永久生效)
- 为每一个设备别名生成独立的接口配置文件
关闭NetworkManager服务
ifcfg-ethX:xxx
别名中的,必须使用静态联网
DEVICE=eth0:0
IPADDR=10.10.10.10
NETMASK=255.0.0.0
ONPARENT=yes
- 注意:service network restart 生效
- 参考:/usr/share/doc/initscripts-*/sysconfig.txt
ifcfg配置文件相关1
- 配置文件地址在 /etc/sysconfig/network-scripts/ 文件夹中,其中配置文件都是以ifcfg-开头的,开头必须为ifcfg-,然后面的内容写什么均可以,不过最好和网卡名(设备名)改成一致。修改它就能够永久修改网卡配置,重启网络服务就是按照里面所写的内容来进行网卡设置的。
- 注意配置的时候centos6中最好把 service NetworkManager stop (就是图形界面任务栏的网络设置功能和那个图标显示),它和network有时会有冲突。
- cat /etc/resolv.conf 能够查看DNS服务是否真正生效,DNS的配置写入的位置仍然在ifcfg文件中。注意想要用外网的DNS服务,必须路由网关先配置好能链接到外网才能够。
- 配置完成以后用 service network restart 或 systemctl restart network 重启一下网络服务使其生效
- 经测试得知,配置文件最好把DEVICE=eth0:2等等写在第一行,这样载入的时候才会加载此配置。
- 配置文件只要有多余的,重启网络服务时找不到的设备,就会报错(centos7中),所以删除网卡后最好用bakifcfg的方式重命名它。
- 虚拟机中的配置文件中UUID和HWADDR能够尽可能不要写,(物理机能够写上HWADDR)由于有时候会冲突报错,上面的两个通常状况下都是固定的不会改变,但能够用MACADDR= 的方式系统中虚拟修改MAC地址。
- 重要注意点:同时配置动态和静态地址一种是分红两个配置文件,以别名的方式。还有一种方法就是在一个ifcfg文件中,把bootproto写为dhcp,可是同时指定给它一个静态的地址,也能同时配置两个地址。
- 注意默认的DEFROUTE就是yes状态,若是不写上GATEWAY这一项的话它会把网卡(或者路由)端口相连的网段的第一个IP做为网关。
- 从DHCP服务器下载覆盖DNS域名解析服务的网址到本机上,默认也是开启状态(不写的话)。能够用cat /etc/resolv.conf 中查看生效的配置。
10. 重要注意:通过测试发现,默认网关的首选项就是DHCP服务器给的默认网关,若是它没有配默认网关指向它,而后才是ifcfg文件中的gateway生效(先不考虑全局的/etc/sysconfig/network文件中写的)。可是若是按照那个在一个ifcfg文件里即写入dchp获取,又写入静态地址的方式的话,此时在这个文件里加上默认网关GATEWAY的地址,则会以这个文件中的手写的gateway为首选默认网关项(就是重启网络服务时候的0.0.0.0的指向)。用这种方式来避免网络中各类DHCP服务时致使的默认网关错误问题。
- 通过更加详细的测试和我的分析得知,在上面的过程当中实际上是NetworkManager服务的控制,它会首选得到的DHCP网段的默认网关(若是这个配置文件没有其余IP,如上,则就算写了GATEWAY它也会从DHCP服务器获取的GATEWAY做为首选)而后就是上面的状况做为次选(我的分析它应该是为了保持网关和IP的网段对应,因此写了静态IP的状况下就会把默认网关指向手写的GATEWAY,可是若是此时不写GATEWAY,仍是会将DHCP的网关做为默认网关)。
- 若是关闭这个服务,则手写的GATEWAY将会直接生效,变为首选项了。同时通过测试得知,关闭这个服务以后,若是有多个ifcfg都是DEFROUTE为yes状态(虽然此项为yes,但没有写GATEWAY的ifcfg文件就会忽略了)它会根据写了GATEWAY的最后一个ifcfg文件(ls排序的顺序)来做为最后生效的默认网关。
- 同时若是关了它以后,多个针对同一个网卡eth配置文件将会按照ls顺序逐个生效(没关闭以前若是有多个针对同一个网卡也就是DEVICE相同的配置文件,只会有一个生效,可用nmcli更换配置。详细查看nmcli中解释。而关了它以后在这里都会生效,至关于直接ip addr add了不少IP和配置在一个网卡上并且没有用别名的方式,ifconfig看不到这个IP地址的配置)
- 通过测试,/etc/sysconfig/network中的GATEWAY=行,会直接在路由表中加上一行默认网关项。详情查看官方解释(包括DHCP,Networkmanager等)。
DEVICE=eth0 :设备名,真正的设备名字
NAME="Wired connection 1" :链接名,设备在主机上显示的链接名字以及nmcli中显示的链接名
IPADDR=192.168.36.102 :网卡IP地址
PREFIX=24 或者 NETMASK=255.255.255.0
BOOTPROTO=dhcp |static |none :IP地址分配方式
ONBOOT=yes :开机是否启动
GATEWAY=192.168.36.1 :默认网关 ,网关必须和IP地址在同一网段,(或者说全为0,那就是另外的故事了,网关也能够暂时不写)
DNS1=114.114.114.114
DNS2=8.8.8.8
DOMAIN=baidu.com :用于icmp ping命令中ping后面的后缀补全信息,好比命令ping www,它会在www后面补上DOMAIN中所写的内容(会自动前面加一个.,所以DOMAIN中最前面不用写.)
------------------ :下面的能够不写,上面的均为经常使用的,某些也能够不写
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
NM_CONTROLLED=yes :NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”
USERCTL=no :普通用户是否可控制此设备
PEERDNS=yes :若是BOOTPROTO的值为“dhcp” ,YES将容许dhcp server分配的dns服务器信息直接覆盖至/etc/resolv.conf文件,NO不容许修改resolv.conf
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
UUID=218ac8bc-95f0-33ee-845f-27c3a473d629
HWADDR=00:0C:29:DA:3B:31 :设备mac地址,出厂固定不能改
AUTOCONNECT_PRIORITY=-999
MACADDR=66:66:66:66:66:66 :系统上虚拟修改mac地址,防止真实MAC地址泄露隐私等信息(wifi探针)
路由表相关和配置
路由管理命令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
路由表:
目标网络(网段) :目标网络IP
子网掩码:注意子网掩码对应的是目标网络IP的,不要当作是网关的子网掩码了
接口:指明了从本设备的哪个接口转发出这条数据包,就能到达目标网络(接口用IP地址表示,不过若是是一个主机则接口就是它的网卡这个设备和它得到的IP,接口直接指向这个网卡设备便可不用写IP,除非这个网卡有多个接口则须要指明IP。若是是路由器的话则就直接指向接口的IP了)
网关:指明了将数据包转发到下一个设备(或路由)哪一个接口(ip),能到达目标网络(网关口用IP地址表示)
注意点:
- 注意路由表中只有IP(包括子网掩码等),不含有mac地址,由于它工做在第三层网络层。
- 路由器(或者主机)直接相连的网段无需配置,每一个直接相连网段的此路由表项:
目标网络:就是这个网段的网络地址
接口:就是在这个网段分配的IP(主机的话直接指向网卡设备)
网关:为0.0.0.0(为什么全为0详细更多分析看上面ARP中)
- linux中配置路由以及网络服务的时候注意防火墙和selinux的设置,简单来讲能够直接关闭,复习点:
- 关闭防火墙
centos7:
systemctl disable firewalld(.service)
systemctl stop firewalld(.service)
centos6(和7相互对应):
chkconfig iptables off
service iptables stop
- 关闭selinux
vim /etc/selinux/config
SELINUX=enforcing 改成disabled
或者 sed -r -i "s/^(SELINUX=).*/\1disabled/" /etc/selinux/config
注意以后必须从新启动reboot ,才能关掉selinux,getenforce能够查看selinux是否真的关闭
- linux机器当作路由其使用须要开启路由转发功能,默认是关闭,修改/proc/sys/net/ipv4/ip_forward 为1便可
- 使用以下两种方法都可临时开启核心转发,当即生效,可是重启网络配置后会失效。
方法一:echo 1 > /proc/sys/net/ipv4/ip_forward 方法二:sysctl -w net.ipv4.ip_forward=1
- 使用以下方法开启核心转发功能,重启网络服务后永久生效。
配置/etc/sysctl.conf文件(centos7中配置/usr/lib/sysctl.d/00-system.conf文件),在配置文件中将net.ipv4.ip_forward设置为1
- "traceroute 目标IP" 命令 能够查看路由通过的路由器信息,或者用"mtr 目标" 命令更加详细和高速。
- 注意了局域网内的主机的路由表能够添加默认路由(至关于它只有一个接口链接了一个网段,默认路由添加到这一网段的路由器网关上便可)
- 而且处于边缘网段(一端链接一个局域网,另外一端链接外网)的路由器也能够添加默认路由到连接外网的次路由器接口和下一个路由器的网关(与这个路由直接相连的这两个网段的路由表信息会自动添加,至关于这个路由器已知这两个直连的网段,除了这两个直连网段其余任何IP都往下一个路由器网关转发到外网,路由表中有3条信息)
- 可是只要是路由器(有两个线路以上)最好不要添加默认路由。否则全部的未知目的IP地址都只能走这条默认路由线路了。
- 路由器添加路由表的时候,即便不指定下一个路由的网关的端口,它也能本身判断是从哪一个端口转发出去,由于下一个路由的网关必然和要转出去的端口在一个网段里面。
- 路由表目标网段能够写成包含的关系,也就是路由表中的目标网段包含了许多子网,它既能够写成路由表中的目标网段和实际上要寻找的目标网段写如出一辙,也能够路由表上写的的目标网段(网络ID少,主机多)
包含着真正要寻找的目标网段(网络ID多,主机少),这样的话这个路由器下面还能够再接路由器,由路由器再分子网。
- Centos7中network重启失败常常出现,有多种缘由,其中常见LSB启动失败的缘由中,即便全部配置文件没有错误,还有一种多是网卡没有插上线,也就是说vmware中的线没有插上 或者 说用命令将 ip link set 网卡 down 了。
centos7中只要有一个网卡没有启用,重启网络服务就可能会失败(必定要检查全部配置文件的HDADDR和UUID 以及DEVICE是否写错)。
注意没插网线和ip down它俩仍是有区别的,前者是物理上直接没有链接,后者是物理上链接了可是网卡禁用了。
但不管这两种哪种,只要有网卡处于down状态,则全部配置正确用network start也可能会没法重启网络服务显示错误。
但centos6中即便某些网卡关闭了,重启network也不会报错,不过要注意关闭NetworkManager
- 配置路由表的接口必定是本机或者本路由的能转发到目标网段的出口,而网关必定是与这个接口相连网段的下一个路由器的接口(在同一个网段),而不是下下一个路由器(下下一个路由器则由下一个路由器来进行转发判断)。
重要注意
- 路由表中若是把直接相连的网段的这条路由信息(表现为网关全为0,目标网段和本机IP在同一个网段内的这条)删掉,则这个主机在这个网段内除了本机以外的其余IP地址也将没法连通了,可见路由表的重要(也可见ARP广播在路由判断以后,先判断网段,再判断转发仍是直接ARP广播)。
- 这里的没法联通指的是别的主机能发送数据给本机(好比APR广播),本机也能收到,可是本机没法将数据发送出去(好比没法回复ARP广播请求)(由于不知道应该怎么发,这条路由删掉以后,虽然是直连的网段)
- 回环网段的配置文件为ifcfg-lo,网段默认为127.0.0.0/8,能够更改。注意只要在回环网段以内的IP,都会被认为是本机IP,均可以连通。
ifcfg配置文件相关2
Centos7:
nmcli命令(注意它是用NetworkManager服务中的命令)
此命令在7中能够对网卡进行各类操做,其中比较经常使用的有:
nmcli connection [show]: 显示网卡的采用的配置以及网卡的UUID
nmcli connection reload: 从新载入配置文件,可让新写的ifcfg配置文件在上一命令中显示出来,用下一命令载入更换网卡的配置
nmcli connetcion up NAME:更换网卡的配置,注意这个NAME不是DEVICE名,而是ifcfg配置文件中的NAME项写的名字
- 7和6上下对应注意点:
- 7中从新添加一项ifcfg配置文件名指定设备名以后,保存退出它并不会直接生效,须要用NetworkManager服务启动后提供的nmcli命令载入此配置才会生效。
Centos6:
- 7和6上下对应注意点:
- 6中从新添加一项ifcfg配置文件名指定设备名以后,保存退出它变直接生效了,由于NetworkManager服务启动后会直接让这个新建立的ifcfg配置文件生效。可用service NetworkManager status 查看它的运行状态。 若是6中没有装这个服务,则必须用service network restart命令重启网络服务才能生效新写的配置文件。通常6中会把manager服务关闭或者直接不安装它,由于会和network服务冲突。
网络不通错误简单分析:
- 网络不可到达:没有路由没法链接到未知的网段的网关,会显示如此
- 名字或者服务未知(6中为未知的主机):由于链接不到外网,DNS服务没法使用,没法解析域名IP地址,会显示如此
- 同网段内的IP 目标主机不可到达:说明同网段内没有这个IP地址的主机(ARP广播没有回应)或者说对方收到了可是没有回复(或者说回复了没有传回来);总之就是ping包发送出去了但没有接收回来。
- 不一样网段IP 目标主机不可到达:通过路由器转发以后,若是转发到目标网段内则变成,第3项相同的结果,若是没有转发到目标网段内,说明路由器中的路由表没法找到目标网段,信息不完整。
- (此处再也不区分是否处于相同网段,参考3和4) 目标端口不可达:说明对方的防火墙拒绝了本机的ping命令请求(REJECT) {iptables -A INPUT -s IP地址 -j REJECT}
- ping了以后没反应 : 多是对方收到了可是不回应(防火墙DROP),也多是对方根本没收到,这两种状况都是同样的显示这种状况 {iptables -A INPUT -s IP地址 -j DROP}
- 可用tcpdump -i INTERFACE(端口) -nn(数字形式) icmp(只抓ping命令包) 命令查看一下包裹信息来判断
- 附加,其中icmp处能够写各类协议来只查看此协议的包括信息,好比arp tcp ip udp icmp等等,可是不能查看应用服务如sshd
17:13[root@centos7 /etc/sysconfig/network-scripts]# ip link set eth1 down
17:13[root@centos7 /etc/sysconfig/network-scripts]# ping 1.1.1.1
connect: Network is unreachable
17:16[root@centos7 /etc/sysconfig/network-scripts]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
17:19[root@centos7 /etc/sysconfig/network-scripts]# ping 192.168.36.200
PING 192.168.36.200 (192.168.36.200) 56(84) bytes of data.
From 192.168.36.102 icmp_seq=1 Destination Host Unreachable
From 192.168.36.102 icmp_seq=2 Destination Host Unreachable
From 192.168.36.102 icmp_seq=3 Destination Host Unreachable
From 192.168.36.102 icmp_seq=4 Destination Host Unreachable
17:19[root@centos7 /etc/sysconfig/network-scripts]# ping 192.168.36.200
PING 192.168.36.200 (192.168.36.200) 56(84) bytes of data.
From 192.168.36.102 icmp_seq=1 Destination Port Unreachable
From 192.168.36.102 icmp_seq=2 Destination Port Unreachable
From 192.168.36.102 icmp_seq=3 Destination Port Unreachable
From 192.168.36.102 icmp_seq=4 Destination Port Unreachable
ifcfg配置文件相关3(包括相关命令等):
ifconfig:比较老,没有维护,过期的命令(默认显示没被禁用的网卡)
ifconfig [interface] :显示某个特定网卡信息
ifconfig -a :显示全部网卡,包括启用的和禁用的
ifconfig IFACE [up|down] :禁用网卡
ifconfig interface [aftype] options | address ...
ifconfig IFACE IP/netmask [up] :临时修改IFACE网卡的IP地址,重启网络服务会丢失,下同
ifconfig IFACE IP netmask NETMASK
ifconfig IFACE:name IP/netmask :临时增长别名和网路IP地址(一个网卡多地址)
注意:上面的配置操做当即生效,重启网络服务失效,想要永久生效,写入文件中(配置一个网卡的多个地址,能够直接cp 原配置文件更名而后写入信息便可,其中DEVICE要和网卡别名同样)
启用混杂模式:[-]promisc :抓包用,不过抓包工具会自动启用此功能
ifconfig:
ifconfig -a
ifconfig eth1 up|down
ifup ech1 | ifdown eth1
ifconfig eth1 172.22.66.66/16 :修改
ifconfig eth1:2 10.10.10.10/24 :增添
ifconfig eth1:3 10.10.10.10/24
ifconfig eth1:aa 20.20.20.20/16
ip link set eth0 up | down
ip addr add 2.2.2.2/24 dev eth0 :此方法增长IP,用ifconfig命令没法查看
ip addr add 3.3.3.3/16 dev eth0 lable eth0:2 :就是以前的别名方式
ip addr del 2.2.2.2/24 dev eth0
ip addr flush dev eth0 : eth0 的IP地址所有清空
(netstat | ss) -nta -ntl -ntp -ntupa
ip 命令:新的命令
- 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:激活或禁用指定接口
- 也可直接用 ifup/ifdown IFACE 的形式禁用启用网卡
show [dev|IFACE]:指定接口
[up]:仅显示处于激活状态的接口
- ip addr { add | del } IFADDR dev STRING
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明做用域
global: 全局可用
link: 仅连接可用
host: 本机可用
[broadcast ADDRESS]:指明广播地址
- ip address show - look at protocol addresses
[dev DEVICE]
[label PATTERN]
[primary and secondary]
- ip addr flush 使用格式同show
- 一些例子:
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
- 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
- 删除路由:ip route del TARGET
- 显示路由:ip route show|list
- 清空路由表:ip route flush [dev IFACE] [via PREFIX]
ip route flush dev eth0
路由管理命令
查看:route -n
添加:route add
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
目标:192.168.1.3 网关:172.16.0.1 接口(可不写,会自动判断,标准仍是写上) eth0
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
目标:192.168.0.0 网关:172.16.0.1 接口 eth0
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
配置动态路由 :各类算法自动获取路由信息,大型网络用
- 经过守护进程获取动态路由
安装quagga包
支持多种路由协议:RIP、 OSPF和BGP ,简单来讲就是各类路由相互学习路由表信息
命令vtysh配置
netstat命令:过期命令,用ss效率更高,不少选项通用
- 显示网络链接(默认显示创建链接的链接,可用-a -l选项选择其它):
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: 处于监听状态
-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 –I=IFACE 或者 netstat -IIFACE (注意后面的写法要写在一块儿中间没有空格)
ifconfig -s eth0 :等价于上面命令
- 例子:
watch -n 0.5 netstat -i :每0.5秒刷新显示统计信息来进行观测
ss命令
- 格式:ss [OPTION]... [FILTER]
- netstat经过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通讯获取socket信息
- 选项:
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的链接
-a: 全部
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
- FILTER : [ state TCP-STATE ] [ EXPRESSION ]
- TCP的常见状态:
tcp finite state machine:
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 = :ssh or sport = :ssh )' 显示全部已创建的ssh链接 ,其中ssh写成22也可,选项还可再加一个-n,下同
ss -o state established '( dport = :http or sport = :http )' 显示全部已创建的HTTP链接
ss -s 列出当前socket详细信息
各命令注意点
- ifconfig的来源和信息 rpm -qi net-tools ,从这里和man帮助中可见命令已通过时,用ip命令代替
17:35[root@centos7 ~]# rpm -qf /sbin/ifconfig
net-tools-2.0-0.24.20131004git.el7.x86_64
-
配置一个网卡的多个地址,得用别名的方式,直接配置可用ifconfig命令,永久配置能够直接cp 原配置文件更名而后写入信息便可, 好比 cp ifcfg-eth0 ifcfg-eth0:2 ,(能够有多个,名字也能够不是数字)
最关键的就是注意配置文件中的DEVICE中后面的名字要和文件名中后面的名字同样,这里面就是DEVICE=eth0:2 , 此时IP就能够本身改了,其余的某些配置也能够改了。配置完以后重启网络服务便可。
- 注意linux中若是想要即有静态IP又有动态IP配置在一个网卡上,那么只有原始的主配置文件能够配置动态DHCP服务的设置,其它的别名配置文件中不可以配置动态IP,只能静态IP。不论动态仍是静态,这些网址均可以同时生效。
- windows中也能够同时配置动态和静态,好比家中动态(家中路由器带有DHCP服务器)和工做中静态(注意必须是没有DHCP服务的状况下,否则动态地址会起做用),但这两个只能同时生效一个,可自行查看如何配置。
- 多个交换机分别用一根网线(每个都分配一个中等规模的网段)链接到一个总交换机上,而后这个总交换机用一根网线链接到一台服务器上的一个网卡上(支持ftp等服务),给这一个网卡设置多个不一样的IP地址(分别属于多个交换机的各个网段),那么这样这些不一样网段的主机都能访问到这个ftp服务器,不一样网段之间也能相互链接(前提是总交换机上没有作限制)。这样就构成了一个简单的没有外网连接的局域网
- 此时能够在服务器上添加更多的物理网卡,好比链接到外网,连接到财务办公网络。同时也能够作安全策略让财务办公网络没法与上面的局域网通讯,可是上面局域网能够与外网通讯(开启网卡之间的数据转发功能)。
- 固然更多状况下是在主交换机上直接再接上一个路由器链接外网,在这个路由器上作配置,而不是把服务器当作路由器来使用。
- 不过在最初的局域网中,能够看到服务器网卡(能够看作路由一个接口)用一根网线配置了多个网段的IP地址,并配置了路由表(网关为0,多个目标网段各不相同,可是用同一接口),这样的路由设置被称为单臂路由(只有一个接口)。
- 紧接着3中状况分析,不一样交换机之间的VLAN以前知道能够用一个TRUNK接口和802.1Q协议来设置相互链接成为一个VLAN(4096个VLAN编号),那么两个交换机的VLAN即可以相互通信。可是若是想要把一个交换机上的两个不一样的VLAN连接在一块儿,常识中咱们知道必须经过路由:要么是三层交换机直接配置路由,要么是二层交换机再单买一个路由器。
- 这个路由器要么直接链接这个交换机的多个口,分别属于不一样vlan不一样网段,而后设置路由表让他们之间相互通信。要么就是能够配置的二层交换机利用trunk接口,只连接一跟网线到这个路由器上,而后将这个路由器链接的接口的IP设置为多个,属于这多个不一样的VLAN,而后路由表内信息设置一下(相似上面的局域网服务器的网卡,其实不用添加,由于设置完多个IP后会自动配置每一个IP,除非像下面那样只设置一个IP,而后手动配多个路由表项),目标网段就是这些VLAN的网段,网关为0,接口全为路由器的这个接口。固然这些每一个VLAN的主机内的路由表也得配置一下网关的信息,指向这个路由表的这个接口(不一样VLAN的网关就是这个接口在不一样VLAN之间设置的IP地址)。这样就把它做为一个单臂路由来使用了,还能配置安全策略。
- 可是通过分析得知虽然不一样vlan,可是它们是物理链接在一块儿的,所以只须要配置不一样VLAN内的主机上的路由表,添加对方Vlan的网段的路由信息(网段为对方网段,网关为0,接口是这个接口,详细分析看ARP那部分),看起来是路由表有错误(由于网关为0的时候表明直连,可是目标网段却不是接口IP所处的网段),但这种作法只是为了强行让本机进行ARP广播,而后找到目标IP的MAC进行通信。固然这个目标IP的主机也得设置路由表,否则只能收到广播却没法回复,不知道往哪里回复。
- 还能够直接在主机上添加目标网段和网关均为0,不过这样就能和全部的VLAN通信了,不推荐,那VLAN设置的意义就没了,同时还没法进行外网的路由转发了(若是有外网的网关,但这种写法会让它判断为任何目标地址直接ARP广播)不推荐这种添加方式。
- 只有一种状况会用到上面的方式,就是一台交换机没有DHCP服务,想把他下面链接的全部主机之间相连,每台IP地址随便配置(除了那些特殊的不能配置的以外好比127开头的),但只要配置了这种路由表项(目标网段0,网关0),他们之间仍然能够相互通信。
- ip link命令网卡中的scope {global|link|host}
- 其中global表明全局通用,其表明从这块网卡链接到来的数据包,或者从其余网卡链接到的数据包,都可访问到这个网卡设置的IP地址,由于global模式将会把此网卡的IP地址存入内核中,则其余网卡访问IP时也能查询到
- link 表明只有从这个网卡到的数据包才能访问这个网卡设置的IP地址,其余的网卡到的数据包,就算目标IP是这个网卡的IP,也不能访问这个IP地址
- host表示回环网卡,没有网络功能,就是本机给本机使用(本机即当客户端又当服务器时使用)
- 显式路由 route -n ; ip route ; netstat -nr
基本网络配置3
网卡接口配置bonding(多网卡用同一IP地址):
将多块网卡绑定同一IP地址对外提供服务,能够实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不能够的。经过bonding,虚拟一块网卡对外提供链接,物理网卡的被修改成相同的MAC地址
- 注意一台主机或服务器上多块网卡用同一个IP地址的时候,须要交换机来配合设置。有多种链接方式,详细能够查看帮助文档,最多见的链接方式就是每一块网卡外面都各自再接一台交换机,而后这些交换机再接到一个总的交换机上,这个总的交换机再链接其余的网络。配置的时候就是在与各个网卡直接相连的交换机上进行相关的bounding配置。
Bonding工做模式
- Mode 0 (balance-rr)
轮转(Round-robin)策略:从头至尾顺序的在每个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
- Mode 1 (active-backup)
活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其余slave.为了不交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
- Mode 3 (broadcast)
广播策略:在全部的slave接口上传送全部的报文,提供容错能力
- active-backup、 balance-tlb 和 balance-alb 模式不须要交换机的任何特殊配置。其余绑定模式须要配置交换机以便整合连接。
如:Cisco 交换机须要在模式 0、 2 和 3 中使用 EtherChannel,但在模式4中须要 LACP和EtherChannel
Bonding配置
- 建立bonding设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
.....等等其它设置
BONDING_OPTS= “miimon=100 mode=1 fail_over_mac=1”
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
- 查看bond0状态:cat /proc/net/bonding/bond0
- 查看有几个bond设备:cat /sys/class/net/bonding_masters
- miimon 是用来进行链路监测的。若是miimon=100,那么系统每100ms 监测一次链路链接状态,若是有一条线路不通就转入另外一条线路
- 删除bond0
ifconfig bond0 down
rmmod bonding (可用lsmod |grep bond查看模块是否被删除)
- 详细帮助:
/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt :在kernel-doc包里面
https://www.kernel.org/doc/Documentation/networking/bonding.txt
注意点:
- ifcfg-bond0文件就把它当作一个单独的网卡设备来进行各类配置,和普通网卡相似,注意写上设备名(最好和这个文件名一致,以bond加编号的方式命名,注意这个能够随意设置,它不表明模式,模式的设置在后面所写的那一项中)。最重要的一点就是BONDING_OPTS="miimon=100 mode=1" 这一行,前面表明多个网卡之间探测状态的刷新检测频率,后面表明模式
- 一样的须要绑定到bond中的网卡,其配置文件也须要更改,其中要加入两项MASTER=bond0 SLAVE=yes ,其中MASTER后面跟的就是ifcfg-bond文件中的DEVICE这一行的设备名(注意别写成了NAME这一行对应的名字)。这样这个网卡将不会独立工做而属于bond中的网卡进行联合工做了,这里面的其余设置也就不会生效了(最好把这两行写在前面的几行,DEVICE永远写在第一行)。
- 删除bond设置,先停用bond,而后删除ifcfg-bond配置文件并修改曾经加入bond的网卡,而后重启网络服务是不行的,并无彻底删除。必须卸载模块rmmod bonding.
- fail_over_mac For active-backup, do not set all slaves to the same MAC; 0 for none (default), 1 for active, 2 for follow (charp) :此项很重要,在bond1模式中必须设置为1,它就是为了让bond设备和实际网卡的MAC地址不会冲突,不会致使一个网卡接收一个网卡发送的状况出现
CentOS 7网络属性配置
CentOS 6以前,网络接口使用连续号码命名:eth0、eth1等,当增长或删除网卡时,名称可能会发生变化
CentOS 7使用基于硬件,设备拓扑和设置类型命名:
(1) 网卡命名机制
systemd对网络设备的命名方式
(a) 若是Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1
(b) 若是Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
(c) 若是硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
(d) 若是用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56
(e) 上述均不可用时,则使用传统命名机制
网卡名称
- 基于BIOS支持启用biosdevname软件
内置网卡:em1,em2
pci卡:pYpX Y:slot ,X:port
- (2) 名称组成格式
en: Ethernet 有线局域网
wl: wlan 无线局域网
ww: wwan无线广域网
名称类型:
o<index>: 集成设备的设备索引号
s<slot>: 扩展槽的索引号
x<MAC>: 基于MAC地址的命名
p<bus>s<slot>: enp2s1
采用传统命名方式
- 使用传统命名方式:
(1) 编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
或:修改/boot/grub2/grub.cfg
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg :-o 换成 \>重定向也能够
(3) 重启系统
18:05[root@centos7 ~]# ll /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Mar 5 21:16 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
主机名知识点2:
CentOS7主机名
- 配置文件:/etc/hostname ,默认没有此文件,经过DNS反向解析获取主机名,主机名默认为:localhost.localdomain
- 显示主机名信息
hostname
hostnamectl status
- 设置主机名
hostnamectl set-hostname centos7.magedu.com :当即生效,重启也会生效不会丢失,ubuntu也可用
- 删除文件/etc/hostname,恢复主机名localhost.localdomain
CentOS 7网络配置工具(尤为是nmcli很实用)
- 图形工具:nm-connection-editor
- 字符配置tui工具:nmtui (centos6里面 setup命令的第4项也能够,7中没有了)
- 命令行工具:nmcli :NetworkManager client (7中自带bash_completion包,能够用它来补全命令)
nmcli可用来准备多套配置来进行装载
- 一种方法就是用nmcli命来修改和建立ifcfg文件,而后用nmcli connection up |down 链接名 的方式装载
- 另外一种就是本身先建立一个ifcfg文件,而后用nmcli connection reload 刷新载入配置文件,而后再装载修改配置文件便可
更详细的nmcli命令以及TEAM设置(比bond更好的功能,只在Centos7中有,6中没有)使用参见另外的博客中所写
注意点:
- 多个配置文件针对一个设备的时候,设备DEVICE的内容要写的是同样的,注意它和别名的配置文件的区分:别名的配置文件是让一块网卡同一时间有多个IP地址,DEVICE后面的名字必须是eth0:1这种格式,有主配置别名配置之分;而一块网卡的多个配置文件则是一块网卡有多个不一样地址根据环境不一样来进行切换装载的,其中DEVICE后面的名字都是同样的好比eth0,没有主配置附加配置之分,全都为主配置。
- 多个配置文件针对同一网卡的时候虽然没有主配置附加配置的区别,但通过各类测试(修改文件名字改变ls的排序,修改NAME的顺序,修改文件的a m ctime等)均发现网络服务重启的时候会先默认载入最开始存在的自动生成配置文件。
- 可是须要注意,若是删除掉了最开始存在的这个自动生成配置文件(或者说给它改了个名字让它没法识别好比前面加一个bifcfg等等),则通过测试时,重启网络服务后,多个配置文件针对同一个网卡的顺序将会变成ls的排序的那个顺序。
网桥
桥接:把一台机器上的若干个网络接口“链接”起来。其结果是,其中一个网口收到的报文会被复制给其余网口并发送出去。以使得网口之间的报文可以互相转发。
网桥就是这样一个设备,它有若干个网口,而且这些网口是桥接起来的。与网桥相连的主机就能经过交换机的报文转发而互相通讯。
例以下图中:
主机A发送的报文被送到交换机S1的eth0口,因为eth0与eth一、 eth2桥接在一块儿,故而报文被复制到eth1和eth2,而且发送出去,而后被主机B和交换机S2接收到。而S2又会将报文转发给主机C、 D

配置实现网桥
- 建立软件网桥
nmcli con add con-name mybr0 type bridge con-name br0 ifname br0
nmcli con modify mybr0 ipv4.addresses 192.168.0.100/24 ipv4.method manual
nmcli con add con-name br0-port0 type bridge-slave ifname eth0 master br0
- 查看配置文件
cat /etc/sysconfig/network-scripts/ifcfg-br0
cat /etc/sysconfig/network-scripts/ifcfg-br0-port0
工具包 yum install bridge-utils
查看网桥 brctl show
查看CAM表 brctl showmacs br0
添加和删除网桥 brctl <addbr|delbr> br0
添加和删除网桥中网卡 brctl <addif|delif> eth0
注意:NetworkManager只支持以太网接口接口链接到网桥,不支持聚合接口
注意点:
- 注意网桥本质就至关于一个两个口的交换机,把这两个口的网络(网段)给连接在一块儿,它用于隔离冲突域(假如这两个网段内的机器各自都用HUB链接在一块儿,网桥能隔离这两个网段冲突域),不能隔离广播域。要注意它和路由的区别。
路由器是为了避免同的网段之间可以进行通信,用于隔离广播域(ARP广播只能在本网段内)
而网桥它的应用场景是:存在有两个不一样的网络,可是这两个不一样的网络的IP地址倒是同一个网段,想要把这两个不一样的网络连接在一块儿,就能够用网桥。
可是要注意这样作会让这两个网段内的IP地址的主机数减半,它们原本是两个网段(虽然网段设置的是同样的),各自占用本身网段的全部主机IP,可是合在一块儿以后,两个网段变成了一个网段,必然可以使用的主机IP数变为原来的一半。要注意不要IP地址冲突。
- 将linux配置成网桥(交换机),由于是个二层设备,它原本是不须要地址的,咱们为了方便管理会给它配置一个IP地址用于远程管理,添加地址的时候添加到br0逻辑网卡上,注意不要添加到eth0或eth1等网卡上。可用ifconfig eht0 0.0.0.0 的方式删除地址。
- brctl建立的br0等等只是逻辑上的一个设备(相似于bond0,team0),建立完以后添加接口上对应的MAC(在这里就直接添加网卡了)便可(复习:二层交换机的CAM表内只有 接口和MAC两项)
- 直接用brctl命令的操做没法永久保存设置,所以仍是要写在文件里才能够,能够用上面的nmcli命令便可,相似建立team组.
brctl show
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl showmacs br0
ip link set br0 up
ip link set br0 down
brctl delif br0 eth0
brctl delif br0 eth1
brctl delbr br0
测试网络工具
- 在命令行下测试网络的连通性
显示主机名
hostname
测试网络连通性
ping
显示正确的路由表
ip route
- 跟踪路由
traceroute
tracepath
mtr
- 肯定名称服务器使用nslookuphostdig