什么是计算机网络
计算机网络是指将不同地理位置上,具有独立功能的计算机和网络设备通过通信链路连接起来,通过操作系统,网络管理软件,和网络通信协议的共同组合下的计算机系统团体,实现资源共享,信息传递的网络。计算机网络的组成部分有各种微小大型计算机,网桥,交换机,路由器,传输介质等网络设备,相应的软件系统,相应的通信协议等等…
计算机的网络拓扑结构分为,星型拓扑结构:多台计算机连接至一个共同中心节点,计算机间的通信都要经过中心节点。总线拓扑结构:多台计算机通过T形接口连接至一条总线上,计算机间的通信都要经过总线,而且总线上的每台计算机均可接收到信号。环形拓扑结构:多台计算机环形相连,计算机间的通信通过顺时针或者逆时针环绕进行,视物理距离而定要经过多台计算机。还有双环形拓扑结构,逻辑拓扑结构,扩展星型结构,网状拓扑结构:每台计算机各通过传输介质相连另外两台计算机,及部分网状拓扑结构等等等…
按照计算机网络的覆盖范围又分为:局域网,城域网,广域网。
局域网:私有服务,分别范围小,结构简单不限容易,网速快,误码率低。
城域网:一般覆盖整个城市
广域网:覆盖整个世界,构建结构负载,成本高。
计算机间的通信模型;专利通信模型:只有同一厂商的产品之间可以进行通信,应用程序和软件对外不兼容。标准模型:多厂商根据分层方法研发软件。分层网络模型可以降低复杂性,标准化接口,简化模块话设计,确保技术的互操作性,加快发展速度,简化教学。
OSI模型七层结构:由下至上七层各成的功能,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
1:物理层:物理设备的过程和功能的规范,将比特率放到物理介质上传送。
2:数据链路层:在链路上无差错一帧一帧的传输信息
3:网络层:分组传输,和路由选择
4:传输层:端到端透明的传输报文
5:会话层:会话管理和数据同步
6:表示层:进行数据格式转换
7:应用层:与用户应用进程的接口
数据封装与解封
数据封装(Data Encapsulation),笼统地讲,就是把数据映射到某个封装协议的净荷中,然后填充对应协议的包头,形成封装协议的数据包,并完成速率适配。以OSI模式七层结构为例子,计算机A要发送数据给计算机B首先要在应用层要数据递送到数据链路层,到了表示层以后会在数据加上表示层的协议,然后再递送到会话层加上协议,依次向下到达最低层完成封装。然后通过物理介质将数据传送到计算机B的最底层,由下往上进行解封装,数据封装和解封装是一对逆过程。
TCP/IP模型四层结构:将OSI模型中的物理层和数据链路层整合为“网络访问层”,网络层,传输层,将OSI模型中的会话层,表示层,应用层整合为“应用层”。
TCP/IP协议的三次握手
面向连接的协议;通信开始之前,要建立一个虚链路;通信完成后还要拆除连接;
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.
图摘自网络
集线器
集线器就是将网线集中到一起的机器,也就是多台主机和设备的连接器,广播通讯模式。(不具备学习特性)
交换机
交换机是集线器的升级换代产品,具备自动寻址能力和交换作用,由于交换机根据所传递信息包的目的地址(MAC地址),将每一信息包独立地从源端口送至目的端口,避免了和其他端口发生碰撞。选择性广播通讯模式。交换机的每一个端口所连接的网段都是一个独立的冲突域。交换机所连接的设备仍然在同一个广播域内,也就是说,交换机不隔绝广播
路由器
路由器是网络中进行网间连接的关键设备。作为不同网络之间互相连接的枢纽,路由器系统构成了基于 TCP/IP 的国际互连网络 Internet 的主体脉络。内部存储路由表(互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络地址的路径,路由表中含有网络周边的拓扑信息,路由表不直接参与数据包的传输,而是用于生成一个小型指向表,这个指向表仅仅包含由路由算法选择的数据包传输优先路径。路由表可以静态设置,也可以动态生成。
网桥
简单的说网桥就是个硬件网络协议翻译器,假设你有2台电脑,一台兼容机安装windows,一台是Apple安装OS2,那么两台电脑之间是默认网络协议是不同的,兼容机可能只会说TCP/IP,苹果机只会说Apple talk,就好象两个外国人都不会说对方的语言,怎么办?找个翻译,网桥就是翻译。
网关
网关(协议转换器)是互连网络中操作在OSI网络层之上的具有协议转换功能设施,所以称为设施,是因为网关不一定是一台设备,有可能在一台主机中实现网关功能。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同层–应用层。大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信 网关 网关 息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。也就是网络关卡。
MAC地址:本地通信;范围:本地局域网
在OSI模型中的第二层(数据链路层)将一个数据帧从一个节点传送到相同链路的另一个节点。被称为物理地址、硬件地址,用来定义网络设备的位置,由网卡厂商写在网卡上。在跨网段通信过程中,IP地址不变,MAC地址根据网段数量经过多次变换到达目的MAC
ARP
地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
IP地址:界定通信主机,源和目标;范围:互联网
为计算机相互连接进行通信而设计的协议。它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以互连互通。正是因为有了IP协议,计算机网络才得以迅速发展成为世界上最大的、开放的计算机通讯网络。MAC地址与IP地址区别:
IP地址和MAC地址相同点是它们都唯一,不同的特点主要有:
-
对于网络上的某一设备,如一台计算机或一台路由器,其IP地址是基于网络拓扑设计出的,同一台设备或计算机上,改动IP地址是很容易的(但必须唯一),而MAC则是生产厂商烧录好的,一般不能改动。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112 ,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址不可由本地连接内的配置进行修改。如果一个计算机的网卡坏了,在更换网卡之后,该计算机的MAC地址就变了。
-
长度不同。IP地址为32位,MAC地址为48位。
-
分配依据不同。IP地址的分配是基于网络拓扑,MAC地址的分配是基于制造商。
-
寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)
-
IP地址分类
A类:
第一段为网络号,后三段为主机号
网络号:
0 000 0000-0 111 1111:1-127
网络数量:126,127
每个网络中的主机数量:2^24-2
默认子网掩码:255.0.0.0,/8
用于与IP地址按位进行“与”运算,从而取出其网络地址;
私网地址1个:10.0.0.0/255.0.0.0
B类:
前两段为网络号,后两段为主机号
网络号:
10 00 0000-10 11 1111:128-191
网络数量:2^14
每个网络中的主机数量:2^16-2
默认子网掩码:255.255.0.0,/16
私网地址16个:172.16.0.0-172.31.0.0
C类:
前三段为网络号,最后一段为主机号
网络号:
110 0 0000-110 1 1111:192-223
网络数量:2^21
每个网络中的主机数量:2^8-2
默认子网掩码:255.255.255.0,/24
私网256个:192.168.0.0 /掩码255.255.255.0-192.168.255.0/255.255.255.0
D类:组播
1110 0000-1110 1111:224-239
E类:科研
240-255
将Linux主机接入到网络中:
IP/NETMASK:实现本地通信
路由(网关):可以进行跨网络通信
DNS服务器地址:基于主机名的通信;当第一个地址本身挂了,才会查找其备用地址;若第一个地址无法解析则停止
主DIS服务器地址,备用DNS服务器地址,第三备用DNS服务器地址
网络属性配置方式:静态指定和动态分配
静态指定:(服务器地址都是静态指定的)
命令方式:
ifcfg系列:
ifconfig:配置IP,NETMASK(掩码)
route:路由
netstat:状态及统计数据查看
iproute2系列:
ip OBJECT:
addr:地址和掩码
link:接口
route:路由
ss:状态即数据查看
centos7:nm(network manager)系列
nmcli:命令行工具
nmtui:text whidow工具
system-config-network 字符配置工具
setup 字符配置工具
配置文件:
/etc/udev/rules.d/70-persistent-net.rules 网卡命名配置文件
RedHat及相关发行版:/etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME
DNS服务器指定配置文件:/etc/resolv.conf
本地主机名配置文件:/etc/sysconfig/network
注:命令配置能及时生效,但是关闭当前进程之后配置失效,为一次性配置方式
通过配置文件配置网络属性,无法立即生效,需要重启服务、重新加载配置文件或者重启进程
动态分配:
依赖与本地网络中有DHCP服务;DHCP服务器;动态地址分配(动态主机配置协议)
网络接口命名方式:
传统命名:
以太网:ethX,[0,oo],例如eth0,eth1,…
ppp网络:pppX,[0,…],例如,ppp0,ppp1,…
可预测命名方案(centos):
支持多种不同的命名机制:
filreware,拓扑结构
(1)如果firmware(固件)或bios为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1,eno2…
(2)如果firmware(固件)或bios为pci-e扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1,ens2…
(3)如果硬件接口的物理位置信息可以,则根据此信息命名,如enp2s0,…
(4)如果用户显示定义,也可根据MAC地址命名,例如enx122161ab2e10,…
上述均不可用,则扔使用传统方式命令;
命名格式的组成:
en:ethernet
wl:wlan
ww:wwan
名称的类型:
o<index>:集成设备的设备索引号;
s<slot>:扩展槽的索引号
x<MAC>:基于MAC地址的命名;
p<bus>s<slot>:基于总线及槽的拓扑结构进行命名
ifcfg命令系列:ifconfig,route,netsta
ifconfig:配置查看网络接口,默认不能显示第二地址,只能显示主地址,指明标签(接口别名)就能够显示了,注意:CentOS 6和CentOS 7显示结果有所不同
ifconfig[interface]
#ifconfig -a :显示所有接口,包括inactive状态的接口
centos6:
centos7:
ifconfig interface [aftype] options | address .更改网卡ipv4地址
立即送往内核中的TCP/IP协议栈,并生效,远程连接修改,原来的地址会没有导致掉线
#ifconfig IFACE IP/MASK [UP|DOWN]
]# ifconfig eth1 down:关闭网卡eth1 ]# ifconfig eth1 192.168.0.1/24:更改网卡eth1的ip地址和子网掩码
#ifconfig IFACE IP netmask NETMASK :用netmask关键字
options: ifconfig INTERFACE OPTIONS
[- +]promisc 开启和关闭混杂模式
]# ifconfig eth1 -promisc 关闭混杂模式
管理IPV6地址:
add addr/prefixlen
del addr/prefixlen
ifup/ifdown命令:
注意:此命令是通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置;
删除指定网卡接口的地址
#ifconfig INTERFACE 0
]# ifconfig eth1 0
route命令:路由查看及管理
路由条目类型:
主机路由:目标地址为单个IP;
网络路由:目标地址为IP网络;
默认路由:目标为任意主机,0.0.0.0/0.0.0.0
查看:
#route -n
]# route -n
-n: 表示以数字形式显示信息,不反向解析地址和端口号
若有很多路由信息的时候,反向解析为主机名和端口名会占用很多资源开销
显示解析:
Destination:目标地址
Gateway:下一跳网管地址
0.0.0.0:表示本地主机的网络地址,自己的主机就在网络上无需网关,直连路由,
Genmask:目标网络的掩码地址
Flags:路由条目的标志
U (route is up):up,表示启用状态
H (target is a host):目标地址是一个主机地址
G (use gateway):使用一个网关
R (reinstate route for dynamic routing):为路由恢复动态路径选择
D (dynamically installed by daemon or redirect)
M (modified from routing daemon or redirect)
A (installed by addrconf)
C (cache entry)
! (reject route)
G:表示是一个网关,但不一定是目标网关,只有目标地址是0.0.0.0的才是默认网关
Metric:度量值,表示到达这个网络中间要进过的开销
Ref:Number of references to this route. (Not used in the Linux kernel.)
Use:Count of lookups for the route
Iface:通过本主机的哪块网卡接口对发送数据
添加:
route add [-net|-host] target [netmask Nm] [gw GW][dev] If]
-net|-host:网络路由|主机路由,默认路由为网络路由
target [netmask Nm]:目标地址,可以用简写子网掩码格式,也可以用关键字netmask完整格式
[gw GW] :gw为关键字,GW表示真正的下一跳地址,下一跳必须与自己的某块网卡在同一网段内,且存在
[dev] If]:进由哪块网卡,可以省略,能自动判断
示例:route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1
route add -net 0.0.0.0/0.0.0.0 gw 192.168.10.1
route add default(默认网关) ==gw 192.168.10.1 dev eth
删除:
route del [-net|-host] target [gw Gw] [netmask Nm][[dev] If]
示例:route del -net 10.0.0.0/8 gw 192.168.10.1
删除默认网关:
route del default
netstat命令
Print network connections, routing tables,interface statistics, masquerade connections, and multicast memberships
显示路由表:netstat -rn
-r:显示内核路由表
-n:数字格式
显示网络连接:
netstat [–tcp|-t] [–utp|-u][–udplite|-u][–sctp|S][–raw|-w][–listenlng|-l][–all|-a][–numeric|-n][–extend|-e][–progran|-p]
-t:查看TCP协议的相关连接,连接均有其状态;FSM(Finate state machine);面向连接的协议;通信开始之前,要建立一个虚链路;通信完成后还要拆除连接;
-u:查看UDP协议的相关连接
-w: raw socket裸套接字的相关连接
-l: 处于监听状态的连接
-a: 所有状态
-n: 以数字格式显示IP和PORT;
-e: 扩展格式
-p: 显示相关进程及PID;
常用组合:
-tan,-uan,-tnl,-unl,-tunlp
tcp状态:LISTEN、ESTABLISEHD、FIN_WAIT_1等待状态、FIN_WAIT_2、SYN_SENT、SYN_RECV、CLOSED
传输层协议:
tcp:面向连接的协议;通信开始之前,要建立一个虚链路;通信完成后还要拆除连接;
udp:无连接的协议;直接发送数据报文;
显示接口的统计数据:
netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e][–verbose|-v] [-program|-p]
[numeric|-n]
所有接口:
netstat -i
指定接口:
nestat -I<IFace>注意中间不能有空格
iproute系列:ip、ss
iproute系列和内核关系紧密,直接放置到内核生效,其版本号和内核的版本号会保持一致
ip命令:
ip – show / manipulate routing, devices, policy routing and tunnels 策略路由、隧道、路由、设备
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr |route |netns }
注意:OBJECT可简写,各PBJECT的子命令也可简写
ip link:network device configuration(完成网络设备配置的命令)
ip link set:修改设备属性
dev NAME(default):指明要管理的设备,dev关键字可省略;
up和down:启用或禁用接口
multicast on 或multicast off:启用或禁用多播功能;
name NAME:重命名接口
mtu NUMBER:设置MTU的大小,默认为1500
netns PID:ns为namespace,用于将接口移动到指定的网络名称空间;
ip link show:显示设备属性
ip link help -显示简要使用帮助;
示例,修改网卡设备名称
]# ip link set eth1 down:先停用 ]# ip link set eth1 name ali :改名
ip netns:manage network namespaces.管理网络名称空间
ip netns list:列出所有的NETNS
ip netns add NAME:创建指定的NETNS
ip netns del NAME:删除指定的NETNS
ip netns exec NAME CMD:在指定的netns中运行命令
ip address -protocol address management:协议地址管理
ip address add – add new protocol address.:增加新的协议地址
ip addr add IFADDR dev IFACE
[label NAME]:为额外添加的地址指明接口别名;
[broadcats ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;
[scope SCOPE_VALUE]:范围变量
global:全局可用
link:接口可用;
host:仅本机可用
示例:为额外添加的地址指明接口别名
ip address delete – delete protocol address:删除协议地址
ip addr delete IFADDR dev IFACE
ip address show – look at protocol addresses:查看协议地址
ip addr list [IFACE]:仅显示指定的接口的地址;
ip address flush – flush protocol addresses:清空地址
ip addr flush dev IFACE:清空指定接口的所有地址
清完直接掉线
ip route – routing table management:管理路由表
ip route add – add new route:增加
ip route change – change route:修改
ip route replace – change or add new one:修改或增加
ip route add TYPE PREFIX via GW [dev IFACE][src SOURCE_IP]
示例:
#ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100
#ip route add default via GW
ip route delete -delet route
ip route del TYPE PRIFIX
示例:
#ip rote delete 192.168.1.0/24
ip route show -list route
ip route show TYPE PRIFIX
ip route flush -flush routing tables
ip route flush TYPE PRIFIX
ip route get – get a single route
ip route get TYPE PRIFIX
示例:ip route get 192.168.0.0/24
ss命令:ss [options] [ FILTER]
选项:
-t:tcp协议的相关连接
-u:UDP相关的连接
-w:裸套接相关的连接
-l:监听状态的连接
-a:所在状态的连接
-n:数字格式
-p:相关的程序及其PID
-e:扩展格式信息
-m:内存用量
-o:计时器信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]:状态过滤功能;可以过滤端口、状态等信息来查看。
EXPRESSION:
dport=
sport=
示例:'(dport=:22 or sport=:22)'
~]#ss -tan '(dport =:22' or sport=:22)'
~]#ss -tan state ESTABLISHED
TCP的常见状态:
TCP FSM:
LISTEN:监听
ESTABLISEHD:建立的连接
FIN_WAIT_1:
FIN_WAIT_2:
SYN_SENT:
SYN_RECV:
CLOSED:
nmcli命令:nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device – show and manage nerwork interfaces:显示管理网络接口
COMMAND:={status|show|connect|disconnect|delete|wifi|wimax}
connection – start,stop,and manage network connections
COMMAND:={show|up|down|add|edit|modify|delete|reload|load}
modify[id|uuid|path]<ID>[+|-]<setting>.<property><value>
如何修改IP地址等属性
#nmcli conn modify IFACE [+|-]setting,property value
ipv4.address
ipv4.gateway
ipv4.dns1
ipv4.method
manual
========================================================================
地址配置工具: nmcli
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device – show and manage network interfaces
nmcli device help
connection – 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 | auto
修改配置文件执行生效: systemctl restart network
nmcli con reload
nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0
网络接口配置tui工具: nmtui
主机名称配置工具: hostnamectl
status
set-hostnam
使用nmcli配置网络
NeworkManager是管理和监控网络设置的守护进程
设备即网络接口,连接是对网络接口的配置。一个网络接口
可有多个连接配置,但同时只有一个连接配置生效。
显示所有包括不活动连接
nmcli con show
显示所有活动连接
nmcli con show –active
显示网络连接配置
nmcli con show "System eth0“
显示设备状态
nmcli dev status
显示网络接口属性
nmcli dev show eno16777736
创建新连接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
查看帮助
nmcli con add help
修改连接设置
nmcli con mod“static” connection.autoconnect no
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
修改连接配置后,需要重新加载配置
nmcli con reload
nmcli con down “system eth0” 可被自动激活
nmcli con up “system eth0”
nmcli dev dis eth0 禁用网卡,访止被自动激活
图形工具
nm-connection-editor
使用nmcli命令创建网络组network teaming
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提
高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现.
多种方式runner
broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control
Protocol)
启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口不会自动启动网络组接口
禁用网络组接口会自动禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入
创建网络组接口
nmcli con add type team con-name CNAME ifname
INAME [config JSON]
CNAME 连接名, INAME 接口名
JSON 指定runner方式
格式: '{"runner": {"name": "METHOD"}}'
METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp
创建prot接口
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接口
======================================================
网络组示例
# 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
# nmcli con add con-name team0-eth1 type teamslave ifname eth1 master team0
# nmcli con add con-name team0-eth2 type teamslave ifname eth2 master team0
# nmcli con up team0
# nmcli con up team0-eth1
# nmcli con up team0-eth2
# teamdctl team0 state; # nmcli dev dis eth1
===========================================================================
实验:创建网络组
#ip link
#nmcli con add type team con-name team0 ifname
team0 config '{"runner": {"name": "activebackup"}}'
# nmcli con mod team0 ipv4.addresses '192.168.0.100/24'
# nmcli con mod team0 ipv4.method manual
# nmcli con add con-name team0-port1 type teamslave ifname eth1 master team0
# nmcli con add con-name team0-port2 type teamslave ifname eth2 master team0
# teamdctl team0 state
#ping -I team0 192.168.0.254
# nmcli dev dis eno1
# teamdctl team0 state
# nmcli con up team0-port1
# nmcli dev dis eno2
# teamdctl team0 state
# nmcli con up team0-port2
# teamdctl team0 state
管理网络组配置文件
# /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
======================================================================================
使用nmcli配置主机名
rhel6之前主机名配置文件: /etc/sysconfig/network
rhel7.0主机名配置文件:/etc/hostname ,默认没有这个文件, 通过DNS反向解析获取主机名, 主机名默认为:localhost.localdomain
显示主机名信息
hostname
hostnamectl status
创建并修改文件并生效
hostnamectl set-hostname desktopX.example.com
删除文件,恢复主机名localhost.localdomain
DNS设置,存放在/etc/resolv.conf文件中
PEERDNS=no 表示当IP通过dhcp自动获取时, dns仍是手动设置,不自动获取。等价于下面命令:
nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
配置主机名
hostname命令:
查看:hostname
配置:hostname HOSTNAME
当前系统有效,重启后无效;
hostnamectl命令:(centos 7)
hostnamectl status:显示当前主机信息
hostnamectl set-hostname:设定主机名,永久有效
配置文件:/etc/sysconfig/network
HOSTNAME=<HOSTNAME>
注意:此方法是设置不会立即生效;但以后会一直有效;
配置DNS服务器指向;
配置文件:/etc/resolv.conf
nameserver DNS_SERVER_IP
如何测试:(host/nslookup/dig)
dig -t A FQDN
FQDN –>IP
dig -x IP
IP –>FQDN
VIM编辑配置文件:
IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
IFACE:接口名称
路由的相关配置文件:/etc/sysconfig/network-scripts/route-IFACE
配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通过大量参数来定义接口的属性;其可通过VIM等文本编辑器直接修改,也可以使用专用命令进行修改(centos6:system-config-network(setup),centos7:nmtul)
ifcfg-IFACE配置文件参数:
DEVICE:此配置文件对应的设备名称
ONBOOT:在系统引导过程中,是否激活此接口;
NETBOOT:
UUID:此设备的唯一标识
IPV6INIT:是否初始化ipv6
BOOTPROTO:激活此接口是使用什么协议来配置接口属性,常用的有dhcp,bootp,static,none;
TYPE:接口类型,常见的有Ethernet,Bridge;
DNS1:第一DNS服务器指向
DNS2:备用DNS服务器指向
DOMAIN:DNS搜索域
DEFROUTE:是否为默认路由使用接口
IPADDR:ip地址
NETMASK:子网掩码;centos 7 支持使用PREFIX以长度方式指明子网掩码;
GATEWAY:默认网关
USERCTL:是否允许普通用户控制此设备;
PEERDNS:如果BOOTPROTO的值为‘dhcp’,是否运行dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器执向;默认为允许
NM_CONTROLLED:是否使用networkmanager服务来控制接口配置
HWADDR:设备的MAC地址;
配置文件修改之后,如果要生效,需要重启网络服务;
#service network restart(centos6)
#systemctle restart network.service
管理网络服务
network
NetworkManager
centos 6:service SERVICE{start|stop|restart|status}
centos 7:systemctl {start|stop|restart|status} SERVICE.service
测试网络
在命令行下测试网络的连通性
显示主机名
hostname
测试网络连通性
ping
mtr
显示正确的路由表
ip route
确定名称服务器使用:
nslookup
host
dig
跟踪路由
traceroute
Tracepath
网络客户端工具
lftp, ftp, lftpget, wget
# lftp [-p port] [-u user[,password]] SERVER
子命令:
get、 mget、 ls、 help
# lftpget URL
# ftp
# wget
wget [option]… [URL]…
-q: 静默模式
-c: 断点续传
-O: 保存位置
–limit-rates=: 指定传输速率
完
原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/42601
评论列表(1条)
文章内容很完整,通篇下来能让读者学到很多知识,继续努力。