当前位置: 首页 > news >正文

[Linux入门] Linux 网络设置入门:从查看、测试到配置全攻略

目录

一、查看网络信息:了解你的网络状态

1️⃣核心工具:ip命令(替代ifconfig)

<1> 基本语法:

<2> 实用操作示例:

2️⃣查看路由表:route命令

3️⃣查看网络连接状态:netstat与ss

netstat常用用法:

ss更高效,常用用法:

4️⃣查看主机名称:hostname命令

二、测试网络连通性:排查网络故障

1️⃣ping命令:测试主机是否可达

2️⃣traceroute:追踪数据包的路由路径

3️⃣测试 DNS 域名解析:nslookup与dig

nslookup:简单查询

dig:更详细的 DNS 信息

三、配置网络参数:临时与永久设置

1️⃣临时配置(适合调试)

<1> 启用 / 停止网卡

<2> 临时添加 / 删除 IP 地址

<3> 添加 / 删除路由与默认网关

2️⃣永久配置(推荐,通过配置文件)

<1> 网络接口配置(Ubuntu 17.10+ 用netplan)

<2> 修改主机名

<3> DNS 与本地解析配置

总结


一、查看网络信息:了解你的网络状态

在进行任何网络操作前,首先需要知道当前系统的网络状态:网卡是否启用?IP 地址是什么?路由表如何配置?Linux 提供了多个命令帮你获取这些信息。

1️⃣核心工具:ip命令(替代ifconfig

过去,ifconfig是查看网络接口的常用命令,但如今许多 Linux 发行版(如 Ubuntu)已默认不安装它,取而代之的是功能更强大的ip命令。ip命令可管理网络接口、IP 地址、路由表等,是网络查看与配置的 “全能工具”。

如果系统中已安装 net-tools 包,则可以使用 ifconfig。

<1> 基本语法:

bash

ip [选项] 对象 {命令}

  • 常用对象:link(网络设备)、addr(IP 地址)、route(路由表)等。
  • 常用选项:-s(详细信息)、-4(仅 IPv4)、-6(仅 IPv6)、-h(人类可读格式)。
<2> 实用操作示例:

  查看所有网络接口信息(简写ip a):

  bash

  ip addr show (简写: ip a )

ip addr show  # 完整命令
ip a  # 简写,推荐使用

    输出结果中,你会看到类似ens33lo的接口:

  • ens33:物理以太网接口。en代表以太网(Ethernet),s表示热插拔插槽,33是插槽编号。
  • lo:回环接口(loopback),虚拟接口,IP 默认是127.0.0.1,用于本机网络测试。
  • 查看指定接口信息(如ens33):

    bash

    ip addr show ens33
    
     

    输出中包含接口状态(UP表示启用)、MAC 地址、IP 地址(inet为 IPv4,inet6为 IPv6)、子网掩码等关键信息。

   <3> 查看网络设备运行状态(link对象):

  • bash

  •    ip link list ( 简写: ip l l ) --- 显示网络设备运行状态

  •    ip -stats link list ( 简写: ip -s l l) --- 显示详细设备信息

  • ip link list  # 简写 ip l l
    ip -s link list  # 带统计信息(接收/发送的字节、数据包等)
    
     

    其中RX(Receive接收)和TX(发送)的统计数据可帮助判断接口是否正常工作(如errors不为 0 可能表示网络故障)。

2️⃣查看路由表:route命令

路由表决定了数据从本机发送到其他网络的 “路径”,通过route命令可查看:

bash

route  # 查看路由表(默认显示主机名)
route -n  # 以IP地址显示(更快,推荐)

输出中关键列的含义:

  • Destination:目标网段(default表示默认网关)。
  • Gateway:下一跳路由器 IP(0.0.0.0表示直连网段)。
  • Iface:数据发送的网卡接口(如ens33)。

3️⃣查看网络连接状态:netstatss

这两个命令用于查看当前的网络连接(如 TCP/UDP 连接、监听端口等),ssnetstat的现代替代者,速度更快。

netstat常用用法:

bash

netstat -anpt  # 显示所有TCP连接(数字形式,含进程信息)
netstat -anpt | grep ":22"  # 过滤SSH(22端口)相关连接
ss更高效,常用用法:

bash

ss -t -a -p  # 显示所有TCP连接及进程
ss -t -l  # 显示监听中的TCP端口
ss -u -a  # 显示所有UDP连接
ss -t state established  # 显示已建立的TCP连接

4️⃣查看主机名称:hostname命令

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

使用 hostname 命令可以查看当前主机的主机名,不用添加任何选项或参数。

二、测试网络连通性:排查网络故障

网络不通?别急着重启!用以下命令一步步定位问题。

1️⃣ping命令:测试主机是否可达

ping通过发送 ICMP 数据包检测目标主机是否连通,是最基础的网络测试工具。

bash

ping www.baidu.com  # 测试与百度的连接

  • 成功:会持续显示响应时间(如time=30ms)。
  • 失败:可能显示Destination Host Unreachable(主机不可达)或Request timeout(超时,可能被防火墙拦截)。
  • 终止测试:按Ctrl+C,会显示统计结果(如发送 / 接收数据包数量、丢包率)。

2️⃣traceroute:追踪数据包的路由路径

如果ping失败,traceroute可帮你找到故障点(哪一跳路由器出问题)。

bash

   traceroute

# 先安装(Ubuntu):
sudo apt install traceroute
# 追踪到百度的路径:
traceroute www.baidu.com

输出中,每一行代表一个中间路由器,*表示该节点无响应。通过对比各节点的响应时间,可定位网络中断的位置。

3️⃣测试 DNS 域名解析:nslookupdig

域名(如www.baidu.com)需要通过 DNS 解析为 IP 地址才能访问,这两个命令用于检测 DNS 是否正常。

nslookup:简单查询

bash

nslookup www.baidu.com

成功会返回域名对应的 IP(如110.242.68.66)和使用的 DNS 服务器(如127.0.0.53)。

dig:更详细的 DNS 信息

bash

dig www.baidu.com  # 基础查询
dig @8.8.8.8 www.baidu.com  # 指定谷歌DNS(8.8.8.8)查询

输出包含查询状态(NOERROR表示成功)、DNS 服务器、解析结果等,适合深入排查 DNS 问题。

三、配置网络参数:临时与永久设置

网络配置分 “临时”(重启失效)和 “永久”(重启保留),按需选择。

1️⃣临时配置(适合调试)

<1> 启用 / 停止网卡

bash

 ip link set  <interface>  up / down

ip link set ens33 up  # 启用ens33网卡
ip link set ens33 down  # 停止ens33网卡
<2> 临时添加 / 删除 IP 地址

在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的 IP地址,但是又不能覆盖原有 IP 地址而导致服务程序不可用。

bash

ip addr add / del 192.168.204.135/24 broadcast 192.168.204.255 dev br0

# 给br0接口添加IP(192.168.204.135/24):
ip addr add 192.168.204.135/24 broadcast 192.168.204.255 dev br0
# 删除该IP:
ip addr del 192.168.204.135/24 broadcast 192.168.204.255 dev br0
<3> 添加 / 删除路由与默认网关

bash

route add -net 192.168.3.0/24 gw 192.168.204.254 (添加静态路由)

route del -net 192.168.3.0/24(删除该路由)

# 添加到192.168.3.0/24网段的路由(下一跳192.168.204.254):
route add -net 192.168.3.0/24 gw 192.168.204.254
# 删除该路由:
route del -net 192.168.3.0/24# 设置默认网关(临时):
route add default gw 192.168.204.2
# 删除默认网关:
route del default gw 192.168.204.2

2️⃣永久配置(推荐,通过配置文件)

临时配置重启后会失效,生产环境需通过配置文件永久设置。

<1> 网络接口配置(Ubuntu 17.10+ 用netplan

netplan是 Ubuntu 推荐的网络配置工具,配置文件通常位于/etc/netplan/,格式为 YAML。

步骤:

①创建配置文件:

bash           

vim /etc/netplan/ens37-netcfg.yaml

sudo vim /etc/netplan/ens33-config.yaml

②写入配置(以固定 IP 为例):

yaml

network:version: 2renderer: networkdethernets:ens33:  # 网卡名称dhcp4: no  # 关闭DHCPaddresses: [192.168.204.133/24]  # IP及子网掩码gateway4: 192.168.204.2  # 网关nameservers:addresses: [114.114.114.114, 8.8.8.8]  # DNS服务器

③保存退出后,应用配置:

bash

sudo netplan apply
<2> 修改主机名

主机名用于标识本机,可通过命令或配置文件修改:

bash

# 临时修改(当前会话生效):
hostname newname
# 永久修改(重启生效):
sudo hostnamectl set-hostname newname  # 推荐,无需重启
# 或修改配置文件:
sudo vim /etc/hostname  # 写入新主机名,重启生效
<3> DNS 与本地解析配置
  • /etc/resolv.conf:指定 DNS 服务器,修改后立即生效(最多 3 个,优先第一个):

    bash

    sudo vim /etc/resolv.conf
    # 添加:
    nameserver 114.114.114.114  # 国内DNS
    nameserver 8.8.8.8  # 谷歌DNS
    
  • /etc/hosts:本地 IP - 主机名映射表(优先于 DNS 查询),适合加速常用网站访问:

    bash

    sudo vim /etc/hosts
    # 添加:
    119.75.218.70 www.baidu.com  # 访问百度时直接用该IP,不查DNS
    

功能分类命令核心功能典型用法示例
查看网络信息ip aip addr show简写)显示所有网络接口的 IP 地址、MAC 地址、状态(UP/DOWN)等关键信息ip a(查看所有接口)、ip a show ens33(指定接口)
ip l lip link list简写)查看网络设备物理状态(启用 / 禁用、MAC 地址)ip l l(确认网卡是否启用)
route -n以 IP 形式显示路由表(含默认网关、目标网段),快速定位数据转发路径route -n(查看默认网关是否正确)
ss -tuln显示所有监听的 TCP/UDP 端口(数字形式,不解析服务名),排查端口占用问题ss -tuln(检查 80/22 端口是否监听)
测试网络连通性ping <目标>测试与目标主机的基础连通性,判断网络是否通畅ping www.baidu.com(测试外网连通)
traceroute <目标>追踪数据包到目标主机的路由路径,定位网络中断点(哪一跳故障)traceroute www.baidu.com(排查 ping 失败原因)
nslookup <域名>测试域名解析(域名→IP),排查 DNS 故障nslookup www.baidu.com(确认域名是否解析正确)
配置网络参数ip link set <网卡> up/down启用 / 禁用指定网卡(临时操作)ip link set ens33 up(激活网卡)
route add default gw <网关>临时设置默认网关(访问外网的出口)route add default gw 192.168.204.2
hostnamectl set-hostname <名>永久修改主机名(无需重启)hostnamectl set-hostname web-server
netplan apply应用 netplan 配置(Ubuntu 17.10+),使固定 IP、DNS 等配置生效修改/etc/netplan/*.yaml后执行生效

总结

Linux 网络设置看似复杂,但掌握核心命令和配置文件后会变得清晰:

  • 查看信息:用ip命令(ip aip link)、route -nss
  • 测试网络:ping测连通性,traceroute找故障点,nslookup/dig查 DNS。
  • 配置参数:临时配置用ip/route,永久配置改netplan/hostname/resolv.conf
http://www.dtcms.com/a/295682.html

相关文章:

  • 进阶系统策略
  • 二分查找----4.搜索旋转排序数组
  • 为什么Java的String不可变?
  • 洛谷P1512 伊甸园日历游戏
  • Qt(资源库和按钮组)
  • Django基础(八)———数据库外键及表关系
  • DRF - 博客列表API
  • GaussDB 数据库架构师(八) 等待事件概述-1
  • Spring Boot项目的模块继承父项目的全部依赖
  • 中国5G RedCap基站开通情况及2025年全年计划
  • 【ComfyUI学习笔记03】案例学习:图片放大的3个基本工作流
  • 基于规则架构风格对业务的重构
  • 与deepseek的问答:dot net与Borland VCL的关系
  • 抖音小游戏好做吗?
  • MySQL的底层原理--InnoDB记录存储结构
  • 【Unity开发】飞机大战项目实现总结
  • Unity GC 系列教程第四篇:GC Alloc 优化技巧与实践(下)与 GC 调优
  • DBA常用数据库查询语句(2)
  • 【学习路线】JavaScript全栈开发攻略:前端到后端的完整征程
  • Redis数据库入门教程
  • Windchill用SQL获取所有组织下的所有用户
  • C++11之可变参数模板
  • ac日志报ARP-neighbor-failed问题定位过程
  • langchain+本地embedding模型+milvus实现RAG
  • ChatGPT Agent架构深度解析:OpenAI如何构建统一智能体系统
  • 青少年编程学习的新选择——《CCF GESP 直通车》与《GESP 编程能力等级认证一本通》深度剖析
  • 根据字符串数组的顺序重新排序 List顺序
  • 中国历史朝代顺序以及朝代歌
  • 核心数据结构:DataFrame
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-18,(知识点:传输线阻抗匹配方式)