第一章、linux网络配置
一、网络地址配置
1.ifconfig-网络地址查看
命令格式:ifconfig 或 ifconfig +网卡名
主要参数信息:
##mtu(Maximum Transmission Unit)最大传输单元,不考虑设备、线路等因素的情况下,当然是越大传输效率越高,
最小化安装需要通过yum安装net-tools软件包,才有ifcinfig命令
2、hostname查看主机地址
3.网络配置修改
永久修改IP地址
网卡配置文件存放在 /etc/sysconfig/network-scripts/ifcfg-ens33
可以对网卡编辑进行修改
TYPE=Ethernet #网卡类型,Ethernet为以太网
BOOTPROTO=static #网络配置方式。static为静态dhcp为动态
DEVICE=ens33 #网络接口名称
NAME=ens33 #网络接口名称
UUID=09fb2b87-8a2a-4f57-b4cf-9cd8040c9c #网卡地址
ONBOOT=yes #是否开机自启动
IPADDR=192.168.48.6 #网络接口IP地址
GATEWAY=192.168.48.2 #网络接口默认网关
NETMASK=255.255.255.0 #网络接口子网掩码
DNS1=114.114.114.114 #域名解析服务器地址
修改配置文件后,需要重启网络服务:systemctl restart network
建议关闭NetworkManager服务,否则有时启动network会报错
systemctl stop NetworkManager
systemctl disable NetworkManager
二、路由表配置
windows:机器上查看路由表route print
路由表:linux操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。
直接执行"route"命令可以查看当前主机中的路由表信息
route -n/route
查看路由表
度量值代表距离。它们用来在寻找路由时确定最优路由。每一种路由算法在产生路由表时,会为每一条通过网络的路径产生一个数值(度量值),最小的值表示最优路径。度量值的计算可以只考虑路径的一个特性,但更复杂的度量值是综合了路径的多个特性产生的。一些常用的度量值有:
◎跳步数:报文要通过的路由器输出端口的个数。
◎Ticks:数据链路的延时(大约1/18每秒)。
◎代价:可以是一个任意的值,是根据带宽,费用或其他网络管理者定义的计算方法得到的。 ◎带宽:数据链路的容量。
◎时延:报文从源端传到目的地的时间长短。
◎负载:网络资源或链路已被使用的部分的大小。
◎可靠性:网络链路的错误比特的比率。
◎最大传输单元(MTU):在一条路径上所有链接可接受的最大消息长度(单位为字节)。 IGRP使用什么类型的路由度量值?这个度量值由什么组成?
IGRP使用多个路由度量值。它包括如下部分:
◎带宽:源到目的之间最小的带宽值。
◎时延:路径中积累的接口延时。
◎可靠性:源到目的之间最差的可能可靠性,基于链路保持的状态。
◎负载:源到目的之间的链路在最坏情况下的负载,用比特每秒表示。
◎MTU:路径中最小的M T U值。 度量值也称metric值 是在路由选择协议算法完成后得到的一个变量值,例如经过路由器的台数、带宽等。
路由优先级
/etc/sysconfig/network-scripts/ifcfg-ens33
metrics 路由规则来控制
ip route show/ip route
查看路由配置
20.0.0.0/24网段从ens33出去的流量到达20.0.0.10的度量值为100
路由表设置
1、添加指定网段到路由表
route add -net 网段地址 gw IP地址
//添加静态路由,通过"route add"操作可以添加路由记录,结合"-net"选项指定目标网段的地址,结合"gw"选项指定下一跳路由器的IP地址
2、删除指定网段
route del -net 网段地址
3、添加默认路由到路由表
route add default gw 网关地址
4、从路由表中删除默认网关
route del default gw IP
三、网络连接
ping
测试网络连接性
ping [选项]主机名或域名
- -c:指定包次数
- -l:指定包间隔时间,默认1S
- -w: 超过时间间隔
traceroute
跟踪数据包路径
命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为"*”
命令格式:traceroute +目标主机名或IP
tcpdump
一款sniffer工具,是Linux上的抓包工具,嗅探器,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。
命令格式:tcpdump(选项)
配置网络参数
两种方式:临时配置和永久配置
临时配置:临时配置:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效
这种方式操作简单快速、执行效率高,一般在调试网络的过程中使用。但由于所做的修改并没有固定地存放在静态的文件中,因此当重启network服务或重启主机后将会失效。
永久配置:通过配置文件来存放固定的各种网络地址,需要重启network服务或重启主机后才会生效。这种方式操作上相对要复杂一些,但相当于“永久配置”,一般在需要为服务器设置固定的网络地址时使用ifconfig命令不仅可以用于查看网卡配置,还可以修改网卡的IP地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。
ifconfig ens33 192.168.0.1 netmask 255.255.255.0
#临时配置网卡的ip地址
ifconfig ens.33 192.168.0.1/24 #当不指定子网掩码时,将使用IP地址所在分类的默认子网掩码
为网卡绑定虚拟接口:在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能覆盖原有ip地址而导致服务程序不可用。
这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的IP地址(相当于一块网卡配多个IP地址)。
ifconfig ens33:0 172.17.17.17
临时启动与关闭网卡
ifconfig +网卡 up #打开
ifconfig +网卡 down #关闭
四、域名解析
netstat (进程文件
- -a∶ 显示主机中所有活动的网络连接信息、(包括监听、非监听状态的服务端口)。
- -n∶ 以数字的形式显示相关的主机地址、端口等信息。
- -t∶ 查看 TCP相关的信息。
- -u∶ 显示 UDP协议相关的信息。
- -p∶ 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。
- -r∶ 显示路由表信息。
- -l∶ 显示处于监听状态的网络连接及端口信息。
案例
netstat -natup | wc -l #当前系统中有多少连接数
netstat -natup | grep 服务或端口号
ss命令查看(统计信息
ss命令:也可以查看网络连接情况,主要用于获取socket统计信息,它可以显示和netstat命令类似的输出内容。
但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。要想使用ss命令是LinuxCentos7中iproute软件包的一部分,默认已经安装,如果没安装,额可以通过yum安装
选项:
- -h:–help通过该选项获取更多的使用帮助。
- -V:–version显示软件的版本号。
- -t:–tcp显示TCP协议的sockets。
- -u:–udp显示UDP协议的sockets。
- -n:–numeric不解析服务的名称,如"22"端口不会显示成"ssh"。
- -l:–l istening只显示处于监听状态的端口。
- -p:–processes显示监听端口的进程。
- -a:–all对TCP协议来说,既包含监听的端口,也包含建立的连接。
- –resolve把IP解释为域名,把端口号解释为协议名称。
注:当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat/proc/net/tcp,执行速度都会很慢。
------------------------
ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效。
小结:
为什么ss比netstat快:
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
time命令
测量命令的执行时间或者系统资源的使用情况
(1)real:从进程1s开始执行到完成所耗费的CPU总时间。该时间包括1s进程执行时实际使用的cPU时间,1s进程耗费在阻塞上的时间(如等待完成I/o操作)和其他进程所耗费的时间(linux是多进程系统,1s在执行过程中,可能会有别的进程抢占CPU)。
(2)uer:进程1s执行用户态代码所耗费的CPU时间。该时间仅指1s进程执行时实际使用的CPU时间,而不包括其他进程所使用的时间和本进程阻塞的时间。
(3)sys:进程1s在内核态运行所耗费的CPU时间,即执行内核系统调用所耗费的CPU时间:
Is命令的真正执行时间是多少?答案就是user+sys的时间,但一股情况下,real=user+sys,因而我们就使用real的时间作为1s的执行时间了
/etc/resolv.conf
域名解析配置文件
vi /etc/resolv.conf
search localdomain
nameserver 202.106.0.20
nameserver 202.106.148.1
resolv.conf文件中的"search localdomain"行用来设置默认的搜索域(域名扩展名)。
例如,当访问主机localhost"时,就相当于访问"localhost.localhostmain"。
一行一个DNS,最多配置三个DNS
/etc/resolv.conf文件中记录了本机默认使用的DNs报务器的地址信息,付该文件所做的修改将会立刻生效。Linux操作系统中最多可以指定3个(第3个以后的将被忽略)不同的DNS服务器地址,优先使用第一个DNS服务器。例如,执行以下操作可以指定默认使用的两个DNS服务器地址分别位于202.106.0.20和202.106.148.1。
/etc/host
本地主机映射文件
/etc/hosts文件中记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS服务器查询。
若在/etc/hosts文件中添加“119.75.218.70 www.baidu.com"的映射记录,则当访问网站www.baidu.com时,将会直接向IP地址119.75.218.70发送Web请求,省略了DNS。
Dig
是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,M必记录等相关信息的工具,系统默认安装
dig www.baidu.com #后跟域名直接查询
到再去向DNS服务器查询。
若在/etc/hosts文件中添加“119.75.218.70 www.baidu.com"的映射记录,则当访问网站www.baidu.com时,将会直接向IP地址119.75.218.70发送Web请求,省略了DNS。
Dig
是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,M必记录等相关信息的工具,系统默认安装
dig www.baidu.com #后跟域名直接查询