linux中的网络配置全过程

 更新时间:2025年10月09日 10:04:25   作者:lin琳.  
文章系统讲解了Linux网络配置与管理,涵盖ifconfig、hostname、route、netstat、ss等命令的使用方法,包括查看网络状态、路由表、连接信息及设置网络参数,区分了临时配置与固定配置方式,并通过双网卡和bond实验演示多网卡绑定与冗余配置实践

一、查看网络配置

1、ifconfig---查看指定网络接口信息

ifconfig:查看所有活动的网卡

nmcli:也可以用此命令查看网卡信息

ip a:查看ip地址,显示所有网卡包括没有启动的网卡

ifconfig [网络接口] 查看指定网络接口信息

解析:

  • 第一行:UP:该接口 已启用;BROADCAST:支持广播; RUNNING:正在运行; MULTICAST:支持组播; mtu 1500最大传输单元1500字节
  • 第二行:inet后是网络地址; netmask后是子网掩码; broadcast后是网关
  • 第三行:inet6后是ipv6的地址; prefixlen是子网长度;scopeid是作用域 ;0x20<link>:link表示仅该接口有效
  • 第四行:ether是mac地址 ;txqueuelen是传输队列长度(传输缓存大小) Ethernet是接口类型
  • 第五行:RX packets 808939:接收报文个数 bytes 1163548426 (1.0 GiB):总和字节数
  • 第六行:RX errors 0:接收 错误 ; dropped 0 :丢弃;overruns 0:溢出; frame 0:冲突帧数
  • 第七行:TX :发送; packets 1317:报文个数; bytes 294334 (287.4 KiB):总字节数
  • 第八行:TX errors 0:错误; dropped 0:丢失; overruns 0:溢出; carrier 0:载荷数; collisions 0:冲突数

2、hostname---查看主机名称

格式:hostname [主机名]

2.1 查看主机名

[root@B ~]# hostname

2.2 修改主机名

临时修改主机名,重启后失效

[root@B ~]# hostname new
[root@B ~]# su

永久修改主机名,重启后生效

[root@new ~]# vim /etc/hostname
#编辑配置文件/etc/hostname

[root@new ~]# reboot
#重启

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

route:查看或设置主机中路由表信息

route -n:以数字形式显示路由信息

路由表主要构成解析:

  • Destination: 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低
  • Genmask:目标网络对应的netmask
  • Iface: 到达对应网络,应该从当前主机哪个网卡发送出来
  • Gateway: 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
  • Metric: 开销cost,值越小,路由记录的优先级最高

route add -net 网段地址 gw IP地址:添加指定网段的路由记录

route del -net 网段地址:删除指定网段的路由记录

route add default gw IP地址:向路由表中添加默认网关记录

route del default gw IP地址:删除路由表中默认的网关记录

4、netstat---查看网络连接情况

格式:netstat [选项]

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

netstat选项及功能
选项功能
-a显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n拒绝显示别名,以数字的形式显示相关的主机地址、端口等信息。
-t查看TCP协议相关的信息。
-u显示UDP协议相关的信息。
-r显示路由表信息。
-l显示处于监听状态(Listen)的网络连接及端口信息。
-p显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)

一般来说 -napt通常一起使用

过滤出22端口

过滤出80端口,发现没有说明某一个占用80的服务没有开启(http没有开启)

扩:

  • 系统打开了一个服务,会自动分配一个端口号
  • 这个端口号如果是众所周知 http 80; ssh 20; ftp 20 21; https 443等,会占用固定的端口号
  • 如果不是众所周知的,就会随机生成一个端口号

怎么判断一个服务是否启动? 可以过滤他的端口号

5、ss---查看网络连接情况,获取socket统计信息

格式:ss [选项]

  • ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。
  • 但 ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效
  • 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
  • ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
  • ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
ss选项及功能
选项功能
-ttcp协议相关
-uudp协议相关
-w裸套接字相关
-xunix sock相关
-llisten状态的连接
-a显示所有连接
-n数字格式
-p相关的程序及PID
-e扩展的信息
-m内存用量
-o计时器信息
-r--resolve 把 IP 解释为域名,把端口号解释为协议名称。

常用是ss -ntap

6、ping---测试网络连通性(icmp协议)

格式:ping [选项] 目标主机

ping选项及功能
选项功能
-c发送包数即指定ping 的次数
-w表示等待秒数
-i发送的间隔时间
-W超时等待时间

指定发送5次包

7、traceroute---跟踪数据包

格式:traceroute 目标主机地址

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

8、nslookup---域名解析

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

测试DNS域名解析

也可以用dig命令来解析,它可以显示出更多详细内容

9、设置网络接口参数ifconfig

设置网络接口的IP地址、子网掩码

ifconfig 网络接口 ip地址 [netmask 子网掩码]
ifconfig 网络接口 ip地址 [/子网掩码长度]

禁用或者重新激活网卡

ifconfig ens33 up     ifup ens33
ifconfig ens33 down    ifdown ens33

设置虚拟网络接口

ifconfig ens33:0 192.168.157.100/24
#设置虚拟网卡

ifconfig ens33:0 down 
#关闭虚拟网卡

10、本地主机映射文件

/etc/resolv.conf :保存的是你DNS服务器的地址

/etc/hosts文件 :保存主机名与IP地址的映射记录

hosts文件和DNS服务器的比较:

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

二、设置网络参数的方式

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

  • 简单、快速,可直接修改运行中的网络参数
  • 一般只适合在调试网络的过程中使用
  • 系统重启以后,所做的修改将会失效

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

  • 修改各项网络参数的配置文件
  • 适合对服务器设置固定参数时使用
  • 需要重载网络服务或者重启以后才会生效

3、双网卡实验

3.1 添加一个网络适配器(NAT就可以)

3.2 进入网卡位置,查看此目录,此时发现有一个ifcfg-ens33

3.3 复制ifcfg-ens33并改名为ifcfg-ens36,查看此目录

3.4 查看所有ip,确认复制后是否名为ifcfg-ens36(有些情况下,虽然命名为36,但在ip a下发现并不是)

3.5 进入配置文件,进行修改关于ens36的配置

(修改有关ens33的名字、ens33的uuid和ip地址等)

3.6 重启服务,并查看网卡ens36的详细信息

3.7 测试

4、bond实验

4.1添加一个网络适配器(NAT就可以)

4.2 进入网卡配置位置并查看此目录

4.3 编辑bond0

4.4编辑ens33

4.5 编辑ens36

4.6 开启服务(此时无反应很正常)

4.7 此时用另一台主机去ping bond上的ip是可以ping同的

4.8 测试,将其中一块网络适配器当掉,另一台在虚拟机不受影响

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • CentOS 服务器安全配置策略

    CentOS 服务器安全配置策略

    近期服务器频繁有被暴力破解,大致分析了一下入侵行为,整理了常用的安全策略,需要的朋友可以参考下
    2019-11-11
  • Linux中进程和线程的对比与区别

    Linux中进程和线程的对比与区别

    这篇文章主要介绍了Linux中进程和线程的对比与区别的相关资料,需要的朋友可以参考下
    2017-07-07
  • Linux 服务器硬件数据的收集及使用案例

    Linux 服务器硬件数据的收集及使用案例

    这篇文章主要介绍了Linux 服务器硬件数据的收集,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • Linux系统中CPU占用率较高问题排查思路与解决方法

    Linux系统中CPU占用率较高问题排查思路与解决方法

    这篇文章主要给大家介绍了关于Linux系统中CPU占用率较高问题排查思路与解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 关于进程间通信的Linux小程序

    关于进程间通信的Linux小程序

    这篇文章主要为大家详细介绍了一个关于进程间通信的Linux小程序,主要利用共享内存实现进程间通信,使用管道实现进程间竞争关系,感兴趣的朋友可以参考一下
    2016-05-05
  • CentOS 7 安装vsftpd 服务器的具体操作步骤

    CentOS 7 安装vsftpd 服务器的具体操作步骤

    下面小编就为大家带来一篇CentOS 7 安装vsftpd 服务器的具体操作步骤。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • linux根据进程号PID查找启动程序的全路径

    linux根据进程号PID查找启动程序的全路径

    工作环境中遇到网络不正常,检测是某服务器异常往外发送数据包,使用netstat命令查看,发现有程序。这篇文章主要介绍了linux根据进程号PID查找启动程序的全路径,需要的朋友可以参考下
    2019-08-08
  • 在Ubuntu中使用NTP实现时间同步

    在Ubuntu中使用NTP实现时间同步

    这篇文章主要介绍了在Ubuntu中使用NTP实现时间同步,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Ubuntu系统缺少iptables工具的解决方法

    Ubuntu系统缺少iptables工具的解决方法

    文章介绍了如何解决Docker启动失败的问题,主要原因是系统缺少iptables工具,解决方案包括在Ubuntu/Debian系统上安装iptables并重启Docker服务,此外,还详细描述了如何在离线环境下安装iptables,需要的朋友可以参考下
    2026-02-02
  • 在 Apache 中创建单个文件的别名的操作方法

    在 Apache 中创建单个文件的别名的操作方法

    要创建 Apache 中的单个文件的别名,您可以在 Apache 配置文件中使用 Alias 指令,Alias 指令允许您将 URL 路径映射到文件系统位置,该路径可以是目录或单个文件,本文介绍如何在 Apache 中创建单个文件的别名,感兴趣的朋友一起看看吧
    2024-12-12

最新评论