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

Linux基础知识(二)

1、主要内容

命令属性作用
netplan配置翻译官定义网卡、IP、路由、网关的永久规则
netstat状态体检师查看路由表、端口、连接状态
route临时修改器直接改内核路由表
ifconfig零时修改网卡 IP、MAC、启停网卡

NetworkManager

( nmcli / nmtui )

永久配置系统网络管理服务

2、网络接口配置(ifconfig)

主要是配置网卡用来配置网卡,ifconfig是你临时看一眼或改一下网络状态的“小工具”。

ifconfig //查看网卡信息 //启用eth0网卡并设置默认IP地址 sudo ifconfig eth0 192.168.1.14 netmask 255.255.255.0 up //关闭网卡 sudo ifconfig eth0 down

3、网络管家( NetworkManager )

(1)配置网络,时效永久的;NetworkManager是帮你永久搞定网络配置的“大管家”。

(2)nmtui:是终端图形化网卡配置工具;也就是桌面通过设置配置WiFi界面。底层还是调用nmcli

(3)相关的配置文件在 /etc/NetworkManager/system-connections 目录下。

nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24 //修改ip地址 nmcli connection modify ens33 ipv4.gateway 192.168.1.1 //修改网关地址 nmcli connection modify ens33 ipv4.dns 255.255.255.0 //修改子网掩码 nmcli connection modify ens33 ipv4.method manual //手动ip地址,如果不写还是自动 nmcli connection up ens33 //启动用网卡 一条指令运行: nmcli connection modify ens33 \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 223.5.5.5 \ ipv4.method manual connection modify = 修改已存在的网卡连接配置档案 ipv4.method auto //自动获取ip地址 ipv4.method manual //手动获取ip地址

4、内核路由表配置( route )

主要用来添加路由表,也就是路由转发,配置网络包的下一跳。

查看路由表 route -n //查看路由表 route add //添加路由 route del //删除网卡 netstat -r //查看路由表 //添加路由(全网段) #将路由表中没有匹配规则的包走10.71.84.2这台设备 sudo route add default gw 10.71.84.2 #将发给10.62.74.×的包转发给10.71.84.51设备 sudo route add -net 10.62.74.0/24 gw 10.71.84.51 //添加指定路由 sudo route add -host 10.62.74.4 gw 10.71.84.51 sudo route add -host 10.62.74.4 gw 10.71.84.51 eth0

命令中的gw就是指的Geteway字段,配置网络包转发的下一跳的设备地址。

kickpi@kickpi:~$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.31.1 0.0.0.0 UG 600 0 0 wlan0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0 192.168.31.0 0.0.0.0 255.255.255.0 U 600 0 0 wlan0 Destination:目标网段 Gateway:下一跳网关;0.0.0.0 代表同网段直连,无需网关转发 //就是gw Genmask:子网掩码,配合 Destination 划定网段范围 Flags 标识: U:Up,这条路由规则生效可用 G:Gateway,该路由需要经过网关转发(跨网段) Metric:路由优先级,数字越小优先级越高,多网卡时用来选出口 Iface:数据包从本机哪张网卡发出

5、检查网络状态(netstat)

netstat 主要查看网络状态,但是也比较老了,现代化命令是 ss

-a # all,显示所有连接(监听+已建立) -t # tcp 协议端口 -u # udp 协议端口 -n # numeric,不解析域名/主机名,只显示数字IP(提速) -l # listen,只看正在监听的端口(服务端口) -p # program,显示占用端口的进程PID+程序名(root才能看) -r # 查看路由表(等价 route 命令) -i # 网卡流量统计 1. 查看所有正在监听的 TCP 端口(最常用) netstat -tlnp 输出字段:协议、本地地址:端口、状态、PID / 程序名 用来查:哪个程序占用 80/22/8080 端口。 2、查看路由表 netstat -r 3、查看网卡转发流量统计 netstat -i 4. 看所有 TCP/UDP 连接(包括外部连接) netstat -antp 5. 只看 UDP 监听端口 netstat -ulnp

6、配置翻译官(netplan)

除了NetworkManager配置网络外,这是另一种更改网络配置的方式,永久有效,底层也是调用了nmcli来处理。

主要配置文件:/etc/netplan/***.yaml ;文件名以 .yaml 结尾的文件

//执行文件 tian@tian-hang:~$ cd /etc/netplan && ls 01-network-manager-all.yaml //执行命令(理解为将01-network-manager-all.yaml文件交给NetworkManager执行) sudo netplan apply tian@tian-hang:/etc/netplan$ cat 01-network-manager-all.yaml # Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager

7、总结

我们日常使用nmcli命令来配置WiFi和检查连接。

(1)查看详细连接信息
nmcli connection show 或 nmcli connection show eth0

(2)连接WiFi(替换成你的WiFi名和密码)
sudo nmcli dev wifi connect "TSK_TH" password "12345678" ifname wlan0

(3)检查WiFi连接情况
nmcli -s

(4)修改DNS
nmcli c modify eth0 ipv4.dns "223.5.5.5,114.114.114.114"

//查看wifi是否连接 kickpi@kickpi:~$ nmcli connection show NAME UUID TYPE DEVICE TSK 8441399f-cf8d-410d-947f-753de58d81f3 wifi wlan0 eth0 b01c2b99-fe76-4be5-9dc6-abf199e7f673 ethernet eth0 402 9616bcfe-2086-4cef-ad79-67959f5ae987 wifi -- AAW 3f1cdcea-7eec-4c56-bfd8-849b8b63e32b wifi -- netplan-eth0 626dd384-8b3d-3690-9511-192b2c79b3fd ethernet -- TSK_TH a7f2b7d7-c385-4c11-a31f-e4dbff6fac7b wifi -- // 连接WiFi(替换成你的WiFi名和密码) sudo nmcli dev wifi connect "TSK_TH" password "12345678" ifname wlan0 //检查WiFi连接情况 kickpi@kickpi:~$ nmcli -s wlan0: connected to TSK "wlan0" wifi (aicwf_sdio), 44:49:66:F3:E5:7E, hw, mtu 1500 ip4 default inet4 192.168.31.224/24 route4 default via 192.168.31.1 metric 600 route4 169.254.0.0/16 metric 1000 route4 192.168.31.0/24 metric 600 inet6 fe80::fe0e:23b:aded:ea8c/64 route6 fe80::/64 metric 1024 eth0: connected to eth0 "eth0" ethernet (sunxi-gmac), 92:2F:32:30:7B:7B, hw, mtu 1500 inet4 192.168.1.14/24 route4 192.168.1.0/24 metric 100 p2p-dev-wlan0: disconnected "p2p-dev-wlan0" wifi-p2p, hw dummy0: unmanaged "dummy0" dummy, 8A:E5:59:3E:E9:30, sw, mtu 1500 lo: unmanaged "lo" loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536 DNS configuration: servers: 192.168.31.1 interface: wlan0 //eth0连接情况 kickpi@kickpi:~$ nmcli connection show eth0 connection.id: eth0 connection.uuid: b01c2b99-fe76-4be5-9dc6-abf199e7f673 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: eth0 connection.autoconnect: no connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.multi-connect: 0 (default) connection.auth-retries: -1 connection.timestamp: 1780970861 connection.read-only: no connection.permissions: -- connection.zone: -- connection.master: -- connection.slave-type: -- connection.autoconnect-slaves: -1 (default) connection.secondaries: -- connection.gateway-ping-timeout: 0 connection.metered: unknown connection.lldp: default connection.mdns: -1 (default) connection.llmnr: -1 (default) connection.dns-over-tls: -1 (default) connection.wait-device-timeout: -1 802-3-ethernet.port: -- 802-3-ethernet.speed: 0 802-3-ethernet.duplex: -- 802-3-ethernet.auto-negotiate: no 802-3-ethernet.mac-address: 92:2F:32:30:7B:7B 802-3-ethernet.cloned-mac-address: -- 802-3-ethernet.generate-mac-address-mask:-- 802-3-ethernet.mac-address-blacklist: -- 802-3-ethernet.mtu: auto 802-3-ethernet.s390-subchannels: -- 802-3-ethernet.s390-nettype: -- 802-3-ethernet.s390-options: -- 802-3-ethernet.wake-on-lan: default 802-3-ethernet.wake-on-lan-password: -- 802-3-ethernet.accept-all-mac-addresses:-1 (default) ipv4.method: manual ipv4.dns: -- ipv4.dns-search: -- ipv4.dns-options: -- ipv4.dns-priority: 0 ipv4.addresses: 192.168.1.14/24 ipv4.gateway:

8、附录 | nmcli命令详解

  • nmcli c xxx→ 操作配置文件(改 IP、DNS、开机自启)
  • nmcli d xxx→ 操作物理网卡硬件(开关网口、查看硬件信息)
  • 修改静态 IP、DHCP 全部用c modify,不要用 device 对象
参数作用实操例子
-p --pretty格式化美观输出,分行展示详细配置nmcli -p c show eth0
-t --terse极简输出、无表头,方便管道过滤nmcli -t c show
-f --fields指定只输出你想要的字段nmcli -f NAME,DEVICE c show
-g --get-values只输出字段值,纯文本(脚本专用)nmcli -g ipv4.addresses c show eth0
-s --show-secrets查看 WiFi 密码等明文密钥nmcli -s c show TSK
-w 数字设置操作超时时间(秒)nmcli -w 10 c up eth0
-v打印版本nmcli -v
kickpi@kickpi:~$ nmcli -help Usage: nmcli [OPTIONS] OBJECT { COMMAND | help } OPTIONS -a, --ask ask for missing parameters -c, --colors auto|yes|no whether to use colors in output -e, --escape yes|no escape columns separators in values -f, --fields <field,...>|all|common specify fields to output -g, --get-values <field,...>|all|common shortcut for -m tabular -t -f -h, --help print this help -m, --mode tabular|multiline output mode -o, --overview overview mode -p, --pretty pretty output -s, --show-secrets allow displaying passwords -t, --terse terse output -v, --version show program version -w, --wait <seconds> set timeout waiting for finishing operations OBJECT g[eneral] NetworkManager's general status and operations n[etworking] overall networking control r[adio] NetworkManager radio switches c[onnection] NetworkManager's connections d[evice] devices managed by NetworkManager a[gent] NetworkManager secret agent or polkit agent m[onitor] monitor NetworkManager changes

1)c[onnection]连接配置(最常用,简写 c)

# 列出所有配置档案 nmcli c show # 查看单条配置详情 nmcli c show eth0 # 修改IP/网关/DNS nmcli c modify eth0 ipv4.method manual # 启用网卡配置,生效新IP nmcli c up eth0 # 断开网卡 nmcli c down eth0 # 删除无用配置 nmcli c delete netplan-eth0

2)d[evice]物理硬件网卡(简写 d)

# 查看所有网卡硬件状态 nmcli d status # 查看eth0硬件完整信息 nmcli d show eth0 # 关闭物理网卡 nmcli d disconnect eth0 # 重新扫描网卡 nmcli d reapply eth0

3)n[etworking]总网络开关(简写 n)

# 关闭所有网络(断网) nmcli n off # 开启所有网络 nmcli n on # 查看网络总开关状态 nmcli n connectivity
http://www.jsqmd.com/news/984868/

相关文章:

  • 【国产电脑python编译器配置】麒麟V10系统anaconda配置pycharm
  • 不只是降阶:用POD方法给你的CFD流场做一次‘体检’与‘瘦身’
  • Vue3自定义指令实战:从拖拽到权限按钮,3个真实项目案例手把手教学
  • AI技术落地商业化破局:明图科技以技术创新驱动数字产业实景发展
  • 云南大学考研辅导班正规机构,全维度榜单推荐 - 推荐评测师
  • STM32F4实战:5分钟搞定CANopen快速SDO通信,读取节点数据就这么简单
  • 2026求职季5款主流AI面试工具深度测评:从全真模拟到定向突破
  • 告别虚拟机:实战解析Windbg真机双机调试的3个关键点与性能对比
  • 弹窗交互:AlertDialog与CustomDialog的创建与关闭(11)
  • 【系列预告】AI应用开发实战课:26篇教程覆盖 Prompt、RAG、Agent 与工程化
  • 常州金坛区黄金回收行情,六大机构对比与避坑指南 - 专业黄金回收
  • 波形护拦板厂家哪家更适合我:五类工程需求对应厂家推荐及对比指南 - 品牌2026
  • 【提示词工程】提示词工程笔记:从核心思想到实战代码
  • 【华为OD机试真题 新系统】1019、文档特征提取 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)
  • 2026最新漳州市黄金回收价格一览表 避坑攻略与靠谱商家推荐 - 余生黄金回收
  • 从LINUX等平台高速连接Windows中的miniQMT_socket_server
  • Got timeout reading communication packets解决方法
  • 告别编译焦虑!Windows 10下用LLVM-MinGW和Ninja一键搞定OLLVM-14.x(附成品下载)
  • 别再截图了!用Altium Designer 23原生功能导出PCB高清丝印图,5分钟搞定SW贴图素材
  • 微信投票小程序怎么用丨图文视频投票制作全过程(海投票实时更新) - 微信投票小程序
  • 广州、佛山有技术实力的外贸GEO推广公司推荐。 - 热点速览
  • 别再死记硬背了!用一张图+对比表彻底搞懂Vue3自定义指令的生命周期
  • 通化黄金回收2026大盘价结算无套路攻略 - 润富黄金回收
  • Claude Code 超详细完整指南(手把手教学)
  • windows server RDP登录
  • AI小助手开发与应用(下):API迁移实践与多性格交互引擎
  • Redis 分布式锁进阶第一百二十七篇
  • 云南研学旅行包车公司排行:5家合规靠谱服务商盘点 - 奔跑123
  • 天津黄金回收店五大门店,耀辉优质:2026消费者避坑指南与正规品牌选择标准 - 奢侈品回收
  • 不只是混淆:手把手教你将OLLVM-14.x集成到Android Studio NDK,打造专属加固工具链