Linux网络设置

  • Post author:
  • Post category:linux




引言

本文讲解了查看网络配置的几种方式,如何测试网络连接以及设置网络地址的参数。



一、查看网络配置



1、查看网络接口信息ifconfig


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

  • 执行ifconfig命令


查看指定网络接口信息

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)第八行:发送包的个数、如手包量、错误等


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


在这里插入图片描述


解析:


  • lo

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

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


  • virbr0

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



2、修改网络配置文件

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

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

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

在这里插入图片描述

在这里插入图片描述

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

systemctl restart network  #重启网络

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



3、设置网络接口参数

  • ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的 IP 地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口
ifconfig ens37 192.168.109.13   netmask 255.255.255.0 		//临时配置网卡的ip地址
ifconfig ens37 192.168.109.13/24 		//当不指定子网掩码时,将使用 IP 地址所在分类的默认子网掩码

  • 启用、禁用网络接口配置
如果只是禁用、启用某一个网络接口(而不是所有接口),可分别使用两个接口控制脚本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
//关闭并开启
  • 为网卡绑定虚拟接口:在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能覆盖原有IP地址而导致服务程序不可用。这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的IP地址(相当于一块网卡配多个IP地址)。
ifconfig ens33:192.168.109.11


举例:


1、添加临时网卡IP(ifconfig ens33:1 192.168.109.20)

在这里插入图片描述

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

plan 1:ifconfig ens33 192.168.109.21 netmask 255.255.255.0

plan 2:ifconfig ens33 192.168.223.21/24

在这里插入图片描述



二、主机名称配置文件hostname



1、hostname命令


  • 查看或设置当前主机名
hostname [主机名]

在这里插入图片描述



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

修改完都要bash一下,才会更新



2.1 临时修改主机名(hostname sky)

在这里插入图片描述



2.2 永久修改主机名(hostnamectl set-hostname zhangbin)

在这里插入图片描述



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



进入vim /etc/hostname编辑

在这里插入图片描述



三、查看路由表条目 route

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



1、route命令


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


在这里插入图片描述

Destination 列对应目标网段的地址

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

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

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

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

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



2、route [-n]

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

在这里插入图片描述



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

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

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


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


在这里插入图片描述


删除静态路由条目


在这里插入图片描述



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

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


添加默认网关记录


在这里插入图片描述


删除默认网关记录


在这里插入图片描述



四、查看网络连接情况netstat


netstat命令

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


常用选项:

 -n        以数字的形式显示相关的主机地址、端口等信息                   
 -r        显示路由表信息                                              
 -a        显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) 
 -l        显示处于监听(Listenin状态的网络连接及端口信息。          
 -t        查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。 
 -u        显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。 
 -p        显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限 


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


在这里插入图片描述

在这里插入图片描述


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


在这里插入图片描述

监听TCP

在这里插入图片描述



五、获取socket统计信息ss


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 192.168.109.12

在这里插入图片描述


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


在这里插入图片描述


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


在这里插入图片描述


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


在这里插入图片描述


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



七、跟踪数据包traceroute


traceroute命令

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

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

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

在这里插入图片描述

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



八、域名解析 nslookup



1、nslookup命令

  • 测试DNS域名解析
nslookup 目标主机地址 [DNS服务器地址]

在这里插入图片描述



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

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

    在这里插入图片描述

    在这里插入图片描述



九、本地主机映射文件



1、/etc/hosts文件

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

    在这里插入图片描述

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


例:


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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



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

  1. 默认情况下,系统首先从hosts文件查找解析记录
  2. hosts文件只对当前的主机有效
  3. hosts文件可减少DNS查询过程,从而加快访问速度



十、总结

本文讲解了查看网络配置的几种方式,如何测试网络连接以及设置网络地址的参数。


  1. 查看网络配置


    ifconfig、hostname、route、netstat、ss

  2. 测试网络连接


    ping.traceroute、nslookup、dig

  3. 设置网络地址参数


    临时配置、永久配置



版权声明:本文为qq_45088125原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。