Linux 网络设置

Linux网络设置


引言:Linux系统的网络配置是怎样的,生产过程中如何测试网络连接的连通性,网络网卡的配置,修改网络配置文件的方法

一、查看网络接口信息

1.查看所有活动的网络接口信息

执行ifconfig命令

ifconfig ens33 查看

ifconfig 单独查看网络的一种方式

ens33第一块以太网卡的配置,ens第一块网卡的名称,;33表示插槽的编号也就是网卡的编号

在这里插入图片描述

查看指定网络接口信息

ifconfig 网络接口

在这里插入图片描述

主机的网络接口(网卡)通常称为网络接口,在Linux操作系统中,适用ifconfig命令可以查看网络接口 的地址配置信息

ens33:第一块以太网卡的名称,“ens33”中的“en”是“Ethernet"的缩写,表示网卡类型为以太网,"s"表示热插拔插槽上的设备,数字"33"表示插槽编号

lo:"回环"网络接口,“lo"是loopback的缩写,不代表真正的网络接口,而是一个虚拟的网络接口,其IP地址默认是"127.0.0.1”,回环地址通常仅用于对本机的网络测试

ifconfig 显示已启用的网络接口,不包括禁用的设备

!若采用mini版CentOS 7 安装的系统,默认是没有ifconfig命令的,需要先通过yum方式安装net-tools软件包才有ifconfig命令

例:ifconfig 显示已启用的网络接口,不包括禁用的设备
在这里插入图片描述

第一行:以太网卡的名字不是常见的eth0,变成了ens33

UP:代表此网络接口为启用状态(down为关闭状态);RUNNING:代表网卡设备已连接;MULTICAST:表示支持组播;MTU:为数据包最大传输单元

第二行:网卡的IP地址、子网掩码、广播地址

第三行:IPV6地址

第四行:Ethernet(以太网)表示连接类型;ether:表示为网卡的MAC地址

第五行:接收数据包个数、大小统计信息

第六行:异常接受包个数、如丢包量、错误等

第七行:发送数据包个数、大小统计信息

第八行:发送包的个数,如丢包量、错误等

ifconfig -a 显示所有活动及非活动的连接

注:IO是表示主机的回环地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机

一般测试一个网络程序,但不想让局域网或外网的其他用户看到,只能在此台主机上运行和查看所用的网络接口,比如把HTTPD服务器的指定到回环地址,在浏览器输入127.0.0.1就能看到你所架构的WEB网站了,但只有你自己可以看到

virbr0是一个虚拟网络连接口,默认为0号虚拟网络连接端口,一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或是无网络连接(因为本人用的时centos镜像的虚拟机,所以会有这行的出现)

ifconfig -a 显示所有活动及非活动的连接

2.添加虚拟网络接口地址

ifconfig ens33:1 192.168.206.110
在这里插入图片描述

3、修改网络配置文件

网络接口的配置文件默认位于/etc/sysconfig/network-script/ifcfg-ens33

文件名格式为“ifcfg-XXXX”(XXXX为网络接口的名称)

例如:网卡ens33的配置文件时"ifcg-ens33",回环接口lo的配置文件是"ifcfg-lo"

vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入设置

TYPE=“Ethernet” 设置网卡类型,"Ethernet"表示以太网
BOOTPROTO=“static” 设置网络接口的配置方式,值为’static’时表示使用静态指定的IP地址,为’dhcp’时表示通过DHCP的方式动态获取地址
NAME=“ens33” 设置网络接口的名称
UUID=“41e5167c-feab-485d-af82-17a166809582” 设备ID
DEVICE=“ens33” 设置网络接口的名称
ONBOOT=“yes” 设置网络接口是否在Linux操作系统启动时激活
IPADDR=“192.168.206.190” 设置网络接口的IP地址
NETMASK=255.255.255.0 设置网络接口的子网掩码
GATEWAY=“192.168.206.2” 设置网络接口的默认网关地址
DNS1=“8.8.8.8”(或DNS=114.114.114.114) 设置域名解析服务器

注:在CentOS 7 操作系统中,当修改了网络接口的配置文件以后,若要使新的配置生效,可以重新启动network服务或重启主机 systemctl restart network(重启网卡)

!!!生产环境中,全部用的都是静态路由,
在这里插入图片描述

二.设置网络接口参数

ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的IP地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口

ifconfig ens37 192.168.206.188/24

启用、禁用网络接口配置d

如果只是禁用、启用某一个网络接口(而不是所有接口),可以分别使用两个接口控制脚本ifdown、ifup

ifconfig ens37 down(或ifdown) 关闭

ifconfig ens37 up(或ifup) 开启

为网卡绑定虚拟接口:在对服务器网络进行调试的过程中,有时需要临时在同一个网卡上使用一个新的IP地址,但是又不能覆盖原有IP地址而导致服务程序不可用,可以给网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的IP地址(相当于一块网卡配多个IP地址)

1.临时修改网卡IP

在这里插入图片描述

2.临时关闭指定网卡

在这里插入图片描述

3开启指定网卡

在这里插入图片描述

禁用某个网卡(状态为开启,但是没有IP地址)

三、查看主机名称hostname

1.hostname 命令查看或设置当前主机名

在这里插入图片描述

2.临时修改主机名:

hostname+临时修改的主机名

bash

(有时候设置后不会成功,不推荐使用)

在这里插入图片描述

3.永久修改主机名:

hostnamectl set-hostname 新的主机名称
在这里插入图片描述

或vim /etc/hostname(也可以达到永久修改主机名的效果)

在这里插入图片描述

主机名在Linux操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出故障。

四、查看路由表条目 route
1.route命令:查看或设置主机中路由表信息

路由表:Linux操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息

直接执行’route’命令可以查看当前主机中的路由表信息
在这里插入图片描述

当目标网段为’default’时,表示此行是默认网关记录,当下一跳"gateway"时,表示目标网段是与本机直接相连的,这时直接执行“route”命令无法直接看出默认网关地址

使用“route -n” 查看路由,使用-n参数可以将路由记录中的地址显示为数字形式,可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度

在这里插入图片描述

Destination 这一列对应目标网段的地址

Gateway 这列对应下一跳路由器的地址

Iface 这列对应发送数据的网络接口

ip route show=ip route 查看路由配置

在这里插入图片描述

2.添加、删除静态路由记录

route命令不仅可以用于查看路由表信息,还可用来添加、删除静态的路由表条目,其中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)

route add -net 192.168.200.0/24 gw 192.168.206.1 表示可以通过192.168.200到192.168.206.

route del -net 192.168.200.0/24 删除

添加、删除默认网关记录,在同一主机的路由表中只应有一条默认网关记录,若同时存在多条默认网关记录,则可能导致该主机的网络连接出现故障,添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类型类似,但指定目标网段时只需简单地使用“default”表示

route add default gw 网关

route del delfault gw 网关ip/route del default

2.1临时添加静态路由信息

在这里插入图片描述

网卡重启后,临时设置的静态路由失效

在这里插入图片描述

2.2永久添加路由
ip route add 192.168.200.0/24 via 192.168.206.1
永久添加路由

在这里插入图片描述

2.3删除静态路由条目

在这里插入图片描述

2.4默认路由设置

在这里插入图片描述

五、查看网络连接情况 netstat

netstat 命令:

查看当前操作系统的网络练级状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具

netstat [选项]

常用选项:

-n :以数字的形式显示相关的主机地址、端口信息

-r :显示路由表信息

-a :显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)

-l :显示处于监听状态的网络连接及端口信息

-t :查看TCP协议相关信息

-u :显示UDP协议相关信息

-p :显示与网络连接相关联的进程号,进程名称信息(该选项需要root权限)

在这里插入图片描述

Proto显示连接使用的协议

RefCnt表示连接到本套接口上的进程数量,

Types显示套接口的类型,

State显示套接口当前的状态,

Path表示连接到套接口的其它进程使用的路径名

用法:通常使用“-anpt"组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息;配合管道符grep过滤出特定的记录

例:在这里插入图片描述

六、获取socket统计信息 ss

ss命令:查看系统的网络连接情况,获取socket统计信息,它可以显示和netstat命令类似的输出内容,但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速高效,ss命令利用了TCP协议中tcp_diag,tcp_diag是一个用于分析统计的模块,可以获得Linux内核第一手的信息,这就确保了ss的快速高效

ss [选项] :查看系统的网络连接情况,获取socket统计信息

常用选项:

-h :–help通过该选项获取更多的使用帮助

-v :–version显示软件的协议号

-t :–tcp显示TCP协议的sockets

-u :–udp显示UDP协议的sockets

-n :–numeric不解析服务的名称,如”22“端口不会显示成”ssh“

-l :–listening值显示处于监听状态的端口

-p :–processes显示监听端口的进程

-a :–all对TCP协议来说,既包含监听的端口,也包含建立的连接

-r :–resolve把IP解释为域名,把端口号解释为协议名称

-o :选项可用于显示计时器信息,该信息向我们展示了诸如重新传输计时器值,已经发生的重新传输的数量以及已发送的keepalive探测的数量

-w :用于字符串精确匹配
在这里插入图片描述在这里插入图片描述

七、time命令:测试命令的执行时间和系统资源的使用情况

  • real:从进程1s开始执行到完成所耗费的CPU总时间,该事件包括1s进程执行时实际使用CPU事件,1s进程耗费在阻塞上的事件(如等待完成I/O操作)和其他进程所耗费的时间(Linux是多进程系统,1s在执行过程中,可能有其他程序在抢占CPU)
  • user:进程1s执行用户态代码所耗费的CPU时间,该时间仅指1s进程执行时实际使用的CPU时间,而不包括其他进程所使用的时间和本进程阻塞的时间
  • sys:进程1s在内核态运行所耗费的CPU时间,也就是执行内核系统调用所耗费的CPU时间

1s命令的执行时间就是user+sys的时间,real=user+sys。

八、测试网络连通性 ping

使用ping命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按Ctrl+c组合键后中止测试,并显示最终统计结果

ping [选项] 目标主机

例:
在这里插入图片描述

ping -c 表示指定ping的次数

在这里插入图片描述

ping 后面也可跟域名

ping -i 秒数:设定间隔几秒送一个网络封包给一台机器,默认值是1秒
在这里插入图片描述

ping -w :表示ping多久,超过这个时间就结束;
在这里插入图片描述

若看到”Destination Host Unreachable"的反馈信息,则表示目的主机不可达,可能目标地址不存在或者主机已经关闭。若看到“Network is unreachable”的反馈信息,则表示没有可用的路由记录(如默认网关)无法到达目标主机所在的网络,当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到Request timeout的反馈结果

九、跟踪数据包 traceroute

traceroute命令:跟踪数据包的路由途径,可以用于测试从当前主机到目的主机之间经过了哪些网络节点,并显示各中间节点的连接状态(响应时间),对于无法响应的节点,连接状态显示为“*“

traceroute比ping命令更加准确的定位网络连接的故障点(中断点),因此执行速度比ping命令慢点,在网络测试与排错过程中,通常会先使用ping命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用traceroute命令跟踪查看是哪个中间节点存在故障

traceroute 目标主机地址
在这里插入图片描述

十、域名解析nslookup

nslookup命令:测试DNS域名解析

nslookup 目标主机地址 [DNS服务器地址]

例:

在这里插入图片描述

十一、域名解析配置文件查看与修改 resolv.conf

resolv.conf文件中的“”search localdomain"行用来设置默认的搜索与(域名扩展名),例如,当访问主机“localhost"时,就相当于访问”localhost.localdomain‘

/etc/resolv.conf 文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所作的修改将会立刻生效,Linux操作系统中一行一个DNS,最多可以指定3个(第3个以后的将会被忽略)不同的DNS服务器地址,优先使用第一个DNS服务器,
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

十二、本地主机映射文件

/etc/hosts文件记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机的信息,当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS服务器查询,

若在/etc/hosts文件中添加“192.168.206.190 www.baidu.com"的映射记录,则当访问网站www.百度.com 时,将会直接向IP地址 192.168.206.190 发送Web请求,

十三、设置网络参数的方式

1.临时配置-使用命令调整参数

简单快速,可直接修改运行中的网络参数

一般只适合在调试网络的过程中使用

系统重启后,所走的修改将会失效

2.固定设置-通过配置文件修改网络参数

修改各项网络参数的配置文件

适合对服务器设置固定参数时使用

需要重载网络服务或重启以后才会生效

实验:ss命令和netstat命令的区别

netstat把state放在最后一列,ss放在第一列

ss能够显示更多更详细的有关TCP和连接状态的信息

ss增加了Port(端口类型)

ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容,但ss能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效

在这里插入图片描述

ss与netstat速度对比
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ss比netstat更快速高效,尤其是当服务器的socket连接数量非常大时,ss利用了TCP协议中tcp_diag,tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效

总结

根据上述内容,对于网络配置,可以了解到用ifconfig查看我们具体的配置,怎么修改主机名,静态路由的条目的增删,域名解析的方法;设置网络地址参数。测试网络连接ping的一些参数,追踪数据包,方便排错故障;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值