Linux网络配置

一、查看网络配置

1、查看网络接口信息ifconfig

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

2.查看指定网络接口信息

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

ifconfig网络接口

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

  • 主机的网络接口卡(网卡)通常称为网络接口。在Linux操作系统中,使用ifconfig命令可以查看网络接口的地址配置信息(Interface Confiquration)
  • 若采用mini版Centos7安装的系统默认是没有ifconfig命令的,需要先通过yum方式安装net-tools软件包,才有ifconfig命令
  • ens33:第一块以太网卡的名称。"ens33中的*en"是"EtherNet"的缩写,表示网卡类型为以太网,"s"表示热插拔插槽上的设备(hot-plug Slot),数字33"表示插槽编号。
  • lo:"回环网络接口,""是"loopback"的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其IP地址默认是"127.0.0.1",回环地址通常仅用于对本机的网络测试

ifconfig #显示已启用的网络接口,不包括禁用设备
ifconfig ens33 #只查看网卡ens33的配置信息

  • **第一行:**以太网卡的名字不是常见的etho,变成了ens33。其中en代表以太网卡ens33代表PCI接口的物理位置为(03),其中横座标代表bus。纵座标代表slot UP;代表此网络接口为启用状态(down为关闭状态) RUNNING:代表网卡设备已连接 MULTICAST:表示支持组播 MTU:为数据包最大传输单元。
  • **第二行:**网卡的IP地址、子网掩码、广播地址
  • **第三行:**IPv6地址
  • **第四行:**Ethernet(以太网)表示连接类型: ether:表示为网卡的MAC地址
  • **第五行:**接受数据包个数、大小统计信息
  • **第六行:**异常接受包的个数、如手包量、错误等(7)第七行:发送数据包个数、大小统计信息(8)第八行:发送包的个数、如手包量、错误等

2、修改网络配置文件

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

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

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

**注意:**建好一台虚拟机首先还是去做这几项配置,以防万一,后面出现什么问题

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  #配置ip地址

[root@localhost ~]# systemctl restart network       #重启网络服务

[root@localhost ~]# systemctl stop firewalld        #临时关闭防火墙

[root@localhost ~]# systemctl disable firewalld     #永久性关闭防火墙

[root@localhost ~]# setenforce 0                    #临时关闭核心防护
setenforce: SELinux is disabled

[root@localhost ~]# vim /etc/selinux/config         #永久关闭核心防护

3、设置网络接口参数

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

ifconfig ens37 20.0.0.100   netmask 255.255.255.0 		//临时配置网卡的ip地址
ifconfig ens37 20.0.0.100/24 		//当不指定子网掩码时,将使用 IP 地址所在分类的默认子网掩码

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

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

systemctl restart network #重启所有的网卡

ifdown ens33 #关闭某个网卡

ifup ens33 #启动某个网卡

ifconfig ens33 down #临时禁用某个网卡

ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)

ifdown ens33 && ifup ens33     #关闭并开启

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

ifconfig ens33:20.0.0.100

4、举例

1.添加临时网卡IP(ifconfig ens33:1 20.0.0.110),重启后会失效

2.临时修改网卡IP,重启网卡后恢复原先IP

ifconfig ens33 192.168.109.21 netmask 255.255.255.0


二、主机名称配置文件 --- hostname

1、hostname命令

  • 查看或设置当前主机名

[root@localhost ~]# hostname #查看当前主机的主机名

2、三种修改主机名的方式

**注意:**修改完都要bash一下,才会更新

1. 临时修改主机名(hostname lyh)

2.永久修改主机名(hostnamectl set-hostname lyh)

3.永久修改主机名(vim /etc/hostname)

这个必须要重启

三、查看路由表条目 --- route

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

1、route命令

直接执行"route"命令可以查看当前主机中的路由表信息

Destination 列对应目标网段的地址

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

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

当目标网段为"default"时,表示此行是默认网关记录。

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

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

2、route -n

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

3、添加、删除静态路由记录

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

#添加静态路由条目
route add -net 20.0.0.100/24  gw 20.0.10.110    //表示可以通过20.0.10.110到20.0.0.100/24网络
 
#-net:指定目标网段的地址
#gw:指定下一跳路由器的 IP 地址
 
 
#删除静态路由条目
route del -net 20.0.0.100/24

添加静态路由条目(临时添加,重启network服务失效)

删除静态路由条目

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

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

route add default gw 20.0.10.112

route del default gw 20.0.10.112

添加默认网关记录

删除默认网关记录

四、查看网络连接情况netstat

netstat命令

  • 查看系统的网络连接状态、路由表、接口统计等信息

netstat [选项]
-n 以数字的形式显示相关的主机地址、端口等信息

-r 显示路由表信息

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

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

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

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

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

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

netstat -n以数字的形式显示路由表信息

监听TCP

五、获取socket统计信息ss

1、ss命令

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

ss [选项]

常用选项:

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

-V:显示软件的版本号。

-t:显示 TCP 协议的 sockets。

-u:显示 UDP 协议的 sockets。

-n:不解析服务的名称,如 "22" 端口不会显示成 "ssh"。

-l:只显示处于监听状态的端口。

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

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

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

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

-w:用于字符串精确匹配

只有在访问的情况下才能查询到端口,无操作查询不出

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

显示处于监听的tcp端口,不解析服务器的名称

六、测试网络连接 ping

ping命令

  • 测试网络连通性

ping [选项] 目标主机

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

1、ping 20.0.0.100

2.-c表示指定ping的次数

  1. -i秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
  1. -w 5表示ping的超时时间为5s,意思是只ping5秒,5秒后结束

七、跟踪数据包traceroute

traceroute

  • 测试从当前主机到目的主机之间经过的网络节点

traceroute 目标主机地址

若服务器上没有traceroute命令,可通过yum方式安装traceroute软件包

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

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

八、域名解析 nslookup

1、nslookup命令

  • 测试DNS域名解析

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

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

  • /etc/resolv.conf 文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效。
  • Linux系统中最多可以指定3个(第3个以后的将被忽略)不同的 DNS 服务器地址,优先使用第1个 DNS服务器。
  • resolv.conf 文件中的 "search localdomain" 行用来设置默认的搜索域(域名后缀)。例如,当访问主机"localhost"时,就相当于访问"localhost.localdomain"。

九、本地主机映射文件

1、/etc/hosts文件

保存主机名与IP地址的映射记录

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

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

2、hosts文件和DNS服务器的比较

  1. 默认情况下,系统首先从hosts文件查找解析记录
  2. hosts文件只对当前的主机有效
  3. hosts文件可减少DNS查询过程,从而加快访问速度
相关推荐
数云界1 小时前
如何在 DAX 中计算多个周期的移动平均线
java·服务器·前端
powerfulzyh2 小时前
Ubuntu24.04远程开机
linux·ubuntu·远程工作
ulimpid2 小时前
Command | Ubuntu 个别实用命令记录(新建用户、查看网速等)
linux·ubuntu·command
HHoao2 小时前
Ubuntu启动后第一次需要很久才能启动GTK应用问题
linux·运维·ubuntu
小灰兔的小白兔3 小时前
【Ubuntu】Ubuntu常用命令
linux·运维·ubuntu
GFCGUO3 小时前
ubuntu18.04运行OpenPCDet出现的问题
linux·python·学习·ubuntu·conda·pip
winds~3 小时前
ubuntu中软件的进程管理-结束软件运行
linux·运维·ubuntu
阳光不锈@3 小时前
麒麟桌面系统安装和配置Node.js
linux·麒麟系统安装node.js
bush43 小时前
使用root账号ssh登录虚拟机ubuntu
运维·ubuntu·ssh
叫我龙翔4 小时前
【Linux】进程间关系与守护进程
linux·运维·服务器·计算机网络