Linux网络设置

.查看网络配置

.测试网络链接

.使用网络配置命令

.修改网络

 

.查看网络配置

1.1查看网络接口信息ifconfig

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

  执行ifconfig

1.2查看指定网络接口信息

  ifconfig网络接口

 

 

 

Mtu 最大传输率

RX 数据包的接收个数

TX 数据包的发送个数

Uname -a 查看当前内核版本

Uname -r 简版当前内核版本

Cat /etc/redhat-release  cat /etc/*release 查看当前系统版本信息

 

查看主机名称hostname

hostname命令

  查看或设置当前主机名

  hostname  [主机名]

 

修改主机名 hostname kgc

永久修改

hostnamectl set- hostname kgc

改完需bash启用新的she1会话或者重新打开终端

主机名称配置文件/etc/ hostname

通过修改/etc/ hostname来更改的主机名,如果要让其生效,需重启linux系统。

查看主机名:hostname

查看本主机ip:[root@centos7 ~) # hostname  -i

fe80::20:29ff:fe4f:e948ens33192.168245.151192.168122.1

 

查看网络链接情况netstat

 

 netstat命令

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

-r:显示路由表信息

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

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

-t:查看TCP( Transmission Control Protocol,传输控制协议)相关的信息。

-u:显示UDP( User Datagram Protocol,用户数据报协议)协议相关的信息。

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

 

Proto显示连接使用的协议,

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

Types显示套接口的类型,

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

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

 

用法:①通常使用-anpt"组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息

配合管道符grep过滤出特定的记录

[ rootelocalhost -]# netstat -anpt I grep sshd

 

获取socket统计信息 ss

 

 

ss命令:也可以查看网络连接情況,主要用于获取 socket统计信息,它可以显示和 netstat命令类似的输出内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比 netstat更快速更高效。要想使用ss命令是 Linux

centos7中 iproute软件包的一部分,默认已经安装,如果没安装,可以通过yum安装

常用命令:

-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解释为域名,把端口号解释为协议名称。

 

注:当服务器的socket.连接数量变得非常大时,无论是使用netstat命令还是直接cat /proe/net/tcp,执行速度都会很慢。ss快的秘诀在于,它利用到了TCP协议栈tcp_ diag。 tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效。

time命令:测量命令的执行时间或者系统资源的使用情况

看到没有,执行时间一下子就统计出来了。但输出内容中有三个统计时间,realuser和

sys,它们都代表什么含义呢?哪个才是1s命令的执行时间呢?下面我们就一起来看看这三个计时间。

 (1)real:从进程1s开始执行到完成所耗费的CPU总时间。该时间包括1s进程执行时实际使用的CPU时间,1s进程耗费在阻塞上的时间(如等待完成I/o操作)和其他进程所耗费的时间(Linux是多进程系统,1s在执行过程中,可能会有别的进程抢占CPU)。

 (2)user:进程1s执行用户态代码所耗费的CPU时间。该时间仅指1s进程执行时实际使用的CPU时间,而不包括其他进程所使用的时间和本进程阻塞的时间。

 (3) sys:进程1s在内核态运行所耗费的CPU时间,即执行内核系统调用所耗费的CPU时间。

 现在,我们应该对这三个时间非常清楚了吧。1s命令的真正执行时间是多少?答案就是user+sys的时间,但一般情况下,real=user+sys,因而我们就使用real的时间作为1s的执行时间了

 具体详情:http://c.biancheng.net/linux/time.html

 ss -o state established (dport=: smtp or sport= : smtp)显示所有已建立的SMTP连接

[root@localhost ~]# time ss 

 [root@localhost ~]# time netstat -an

 

査看并发连接数ss和 netstat对比

[root@localhost ~]# time netstat -ant I grep EST I wc -l

[root@localhost ~]# time ss -o state established I wc -l

 

为什么ss比 netstat快:

netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

 [rootecentos7~] ss -tn I grep -w  22     -w用于字符串精确匹配

[root@localhost~]# ss -o state establishedgrep ssh

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

 

ss命令的输出结果,可以提供TCP和UDP的 socket信息,以及各种服务建立的持久连结,熟悉这个命令有助于更好的发现与解决系统性能问题。例如,执行以下操作可以显示TCP协议下已经建立的连接, Local Address:Port"表示本地监听的IP和端口, Peer Address:Port"表示远端连接的IP和端口

 [root@localhost~)# ss -t state established  #established,syn-sent,syn-recv,fin-wait-1, fin-wait-2,time-wait,closed,closed-wait,last-ack监听和关闭等状态

[root@shengjie ~) ss -tnl sport le 500  显示500以内的端口编号  le 小于 以内

[root@shengjie ~) ss -tnl sport ge 500  显示50 以外的端口编号  ge 大于 以外

二.测试网络链接ping

1.测试网络连通性:ping

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

[roote localhost~] ping192.168.245.201最常用是后面跟ip地址

 [root@localhost~] ping www.baidu.com后面还可跟域名 

 [roote ocalhost~]ping -c 5 192.168.245.201   -c表示指定ping的次数

 [roote ocalhost~]ping -c 5 -i 0.5 www.baidu.com  

-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

 [roote ocalhost~]ping -w 5 www.baidu.com  表示ping的超时时间为5秒,5秒后结束

 

 注:若看到“Destination Host Unreachable”的反馈信息,则表示目的主机不可达,可能目标地址不存在或者主机已经关闭;

若看到“Netwoek is unreachable”的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机所在的网络。

当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到 “Request timeout”的反馈结果

 

2.跟踪数据包的路由途径: traceroute

若服务器上没有 traceroute命,可通过yum方式安装 traceroute软件包traceroute命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为“*”

 [root@localhost ~]#traceroute www.baidu.com

 可以看到这台主机和这台机器中间没有经过路由,是直连或连着交换机的状态traceroute命令能够比ping命令更加准确地定位网络连接的故障点(中断点),因此执行速度会比ping命令稍慢。在网络测试与排错过程中,通常会先使用ping命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用 traceroute命令跟踪查看是在哪个中间结点存在故

 域名解析nslookup

 

 

.设置网络参数的方式

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

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

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

  系统重启以后,所做的修改将会失

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

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

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

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

 

查看路由表条目 route

 windows机器上查看路由表 route print

 路由表: Linux操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。直接执行“route”命令可以查看当前主机中的路由表信息 centos6.0原来是*号 bash

[root@localhost ~] route

 当目标网段为“default”时,表示此行是默认网关记录;

当下一跳为“gateway”时,表示目标网段是与本机直接相连的。

但是,直接执行 “route”命令无法直接看出默认网关地址

 

Centos7操作系统中,当修改了网络接口的配置文件以后,若要使新的配置生效,可以重新启动network服务或者重启主机

systemctl restart network

建议关闭 Networkmanagerl服务,否则有时启动network会报错

systemctl stop Networkmanager

systemctl disable Networkmanager

route -n

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

[root@localhost~]#route -n

 

ip route show= ip route查看路由信息

route-n

方法一:

route add -net192.168.20.0/24 gw 192.168.10.1[ dev ens33]添加静态路由

-net:指定目标段的地址

gw:指定下一跳路由器的IP地址

dev:为路由指定的输出接口

方法二:

ip route add 192.168.15.0/24 via192.168.80.2 [dev ens33]

route del -net 192.168.20.0/24  删除路由

route add -net default gw 192.168.10.1默认路由

route del default 删除默认

 

.修改网络配置文件

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

文件名格式为 ifcfg-XXX",其中XXX"是网络接口的名称。

例如,网卡ens33的配置文件是ifcfg-ens33",回环接口10的配置文件是”ifcfg-1o"。

TYPE= Ethernet          设置网卡类型," Ethernet"表示以太网。

BOOTPROTO= static      设置网络接口的配置方式,值为 static时表示使用静态指定的IP地址,为"dhcp"时表示通过DHCP的方式动态获取地址。

DEVICE=ens33          设置网络接口的名称

NAME=ens33           设置网络接口的名称

UUID=01f717ed-f7ac-4ac0-a209-c7c5889e3635   设备ID

ONBOOT-YES             设置网络接口是否在 Linux操作系统启动时激活。

IPADDR=192.168.4.11      设置网络接口的IP地址

NETMASK=255.255.255.0   设置网络接口的默认子网掩码。

GATEWAY=192.168.4.1     设置网络接口的默认网关地址

DNS1=8.8.8,8             设置域名解析服务器

DNS2=114.114.114.114

 

域名解析配置文件

vi /etc/resolv. conf

search localdomain

nameserver 202.106.0.20

nameserver 202.106.148.1

resolv.onf文件中的 “search localdomain”行用来设置默认的搜索域(域名扩展名)。

例如,当访问主机“localhost”时,就相当于访问localhost.localdomain

一行一个DNS,最多配置三个DNS

 

/etc/ resolv.conf文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效。Linux操作系统中最多可以指定3个(第3个以后的将被忽略)不同的DNS服务器地址,优先使用第一个DNS服务器。例如,执行以下操作可以指定默认使用的两个DNS服务器地址分别位于202.106.0.20和202.106.148.1。

启用、禁用网络接口配置

重启network网络服务

Systemctl restart neteork

如果只是禁用、启用某一个网络接口(而不是所有接口),可分别使用两个接口控制脚本 ifdown、ifup.ifconfig ens33 down l up 或者 ifup/ifdown ens33

 

本地主机映射文件

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

若在/ete/ hosts文件中添加119.75.218.70 www. baidu.com"的映射记录,则当访问网站ww. baidu.com时,将会直接间IP地址119.75.218.70发送web请求,省略了向DNS

 Hosts文件和DNS服务器的比较

默认情况下,系统首先从hosts文件查找解析记录

Hosts文件只对当前的主机有效

Hosts文件可减少DNS查询过程,从而加快访问速度。

 

.总结

1.查看网络配置的命令有:ifconfig  hostname route netstat ss

2.测试网络链接的命令:ping traceroute nslookup dig

3.设置网络地址参数:临时配置 永久配置

4.网络配置的三种方式:

①:vim /etc/hosts

②:vim /etc/sysconfig/network-scripts/ifcfg-ens33

③:vim /etc/resolv.conf

依次生效顺序①hosts文件,②网卡配置文件,③/etc/resolv.conf

 

posted @   零六零一  阅读(450)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示