Linux:网络配置命令

目录

[一、查看网络接口信息 ifconfig](#一、查看网络接口信息 ifconfig)

二、修改网络配置文件

[三、设置网络接口参数 ifconfig](#三、设置网络接口参数 ifconfig)

[四、查看主机名称 hostname](#四、查看主机名称 hostname)

五、查看路由表条目route

5.1、查看路由

5.2、添加、删除静态路由条目

5.3、添加、删除默认网关记录

六、netstat命令

[七、ss 命令](#七、ss 命令)

八、测试网络连通性:ping

[九、跟踪数据包 traceroute](#九、跟踪数据包 traceroute)

[十、域名解析 nslookup](#十、域名解析 nslookup)


一、查看网络接口信息 ifconfig

在 Linux 操作系统中,使用 ifconfig 命令可以查看网络接口的地址配置信息,

没有 ifconfig 命令的,需要先通过 yum 方式安装 net-tools 软件包,才有 ifconfig 命令

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

ifconfig ens33 #只查看网卡 ens33 的配置信息

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

inet 192.168.245.211 #ip地址

netmask 255.255.255.0 #子网掩码

broadcast 192.168.245.255 #广播地址

ether 00:0c:29:f4:bf:17 #mac地址

第一行:以太网卡的名字不是常见的eth0,变成了ens33。其中en代表以太网卡

ens33代表PCI接口的物理位置为(0,3), 其中横座标代表bus,纵座标代表slot

UP:代表此网络接口为启用状态(down为关闭状态)

RUNNING:代表网卡设备已连接

MULTICAST:表示支持组播

MTU:为数据包最大传输单元

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

第三行:IP v6地址

第四行:Ethernet(以太网)表示连接类型;

ether:表示为网卡的MAC地址

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

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

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

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

lo 是表示主机的回坏地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。

用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

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

二、修改网络配置文件

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

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

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

vim /etc/sysconfig/network-script/ifcfg-ens33

TYPE=Ethernet      #设置网卡类型,"Ethernet"表示以太网。
PROXY_METHOD=none     
BROWSER_ONLY=no        
BOOTPROTO=static    #设置网络接口的配置方式,值为"static"时表示使用静态指定的 IP 地址,为 
                         "dhcp"时表示通过 DHCP 的方式动态获取地址。   
DEFROUTE=yes         
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33                                   #设置网络接口的名称
UUID=557ea6a8-ea61-4885-8358-9743217b8254        #设备ID
DEVICE=ens33                                 #设置网络接口的名称
ONBOOT=yes                 设置网络接口是否在 Linux 操作系统启动时激活。
IPADDR=192.168.20.12      #设置网络接口的 IP 地址。
NETMASK=255.255.255.0     #设置网络接口的子网掩码。 
GATEWAY=192.168.20.2     #设置网络接口的默认网关地址
DNS1=8.8.8.8           #设置域名解析服务器

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

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

systemctl stop NetworkManager

systemctl disable NetworkManager

三、设置网络接口参数 ifconfig

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

ifconfig ens37:0 192.168.10.20 netmask 255.255.255.0 #临时配置网卡的ip地址

ifconfig ens37:0 192.168.20.66/24 #当不指定子网掩码时,使用 IP 地址所在分类的默认子网掩码

2.启用、禁用网络接口配置

ifconfig ens37 down ##关闭网卡

ifconfig ens37 up ##开启网卡

或者 ifup/ifdown ens37

四、查看主机名称 hostname

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

查看当前主机名:hostname

修改主机名称: hostname

临时修改:hostname 主机名

永久修改:

1.hostnamectl set-hostname 主机名

2.vim /etc/hostname

五、查看路由表条目route

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

5.1、查看路由

route -n #查看路由,使用-n可以将路由记录中的地址显示为数字形式

Destination 列对应目标网段的地址

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

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

ip route #查看路由配置

5.2、添加、删除静态路由条目

添加静态路由

route add -net 192.168.3.0/24 gw 192.168.20.2

-net:指定目标网段的地址

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

删除静态路由

route del -net 192.168.3.0/24

5.3、添加、删除默认网关记录

在同一个主机的路由表中只应有一条默认网关记录。若同时存在多条默认网关记录,则可能导致该主机的网络连接出现故障。

添加默认网关记录

route add default gw 网关ip

删除默认网关记录

route del default gw 网关ip 或者 route del default

六、netstat命令

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

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

-r ##显示路由表信息

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

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

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

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

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

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

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

七、ss 命令

也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。

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

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

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

八、测试网络连通性:ping

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

ping 192.168.10.10 #最常用是后面跟ip地址

ping www.baidu.com #后面还可跟域名

ping -c 10 192.168.10.10 #-c表示指定ping的次数

ping -c 10 -i 0.5 192.168.10.10

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

ping -w 5 www.baidu.com #表示ping的超时时间为5s,意思是只ping5秒,5秒后结束

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

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

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

九、跟踪数据包 traceroute

traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为"*"。

十、域名解析 nslookup

测试DNS域名解析

域名解析配置文件

/etc/resolv.conf 文件中的"search localdomain"行用来设置默认的搜索域(域名扩展名)。最多配置三个DNS

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

相关推荐
亚远景aspice12 分钟前
ISO 21434标准:汽车网络安全管理的利与弊
网络·web安全·汽车
学Linux的语莫14 分钟前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
踏雪Vernon24 分钟前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
Onlooker12925 分钟前
云服务器部署WebSocket项目
服务器
Estar.Lee32 分钟前
时间操作[计算时间差]免费API接口教程
android·网络·后端·网络协议·tcp/ip
学Linux的语莫38 分钟前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
legend_jz42 分钟前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py43 分钟前
【Linux】-学习笔记04
linux·笔记·学习
黑牛先生1 小时前
【Linux】进程-PCB
linux·运维·服务器
Karoku0661 小时前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch