Linux无图形桌面环境下,网络配置与管理需通过命令行工具完成,常见于服务器运维、开发环境部署等场景,本文将详细介绍有线/无线网络连接、静态IP配置、代理设置、连通性测试及故障排查等核心操作,帮助用户高效实现无图形界面的网络管理。
有线网络配置
查看网卡状态
使用ip
命令(现代Linux发行版推荐,已替代传统ifconfig
)查看网卡信息:
ip a # 显示所有网卡及其IP地址、子网掩码等
若需查看网卡是否启用(如ens33
为常见网卡名):
ip link show ens33 # "UP"表示已启用,"DOWN"表示未启用
启用/禁用网卡
若网卡处于DOWN
状态,可通过以下命令启用:
sudo ip link set ens33 up
禁用网卡则将up
改为down
。
通过DHCP获取IP地址
若网络环境支持动态IP分配,使用dhclient
(传统工具)或NetworkManager
(现代发行版默认)获取IP:
- 传统方式:
sudo dhclient ens33 # 向DHCP服务器申请IP ip a show ens33 # 查看是否获取到IP(如inet 192.168.1.100/24)
- NetworkManager方式(推荐):
nmcli device status # 查看设备状态,确认"连接性"为"已连接" nmcli connection up "Wired connection 1" # 若连接名不同,需替换为实际名称
配置静态IP地址
若需固定IP(如服务器场景),使用nmcli
命令配置:
# 定义连接名(如"Wired connection 1")并设置静态IP sudo nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.100/24 # IP地址及子网掩码 ipv4.gateway 192.168.1.1 # 网关地址 ipv4.dns 8.8.8.8,114.114.114.114 # DNS服务器(多个用逗号分隔) # 激活配置 sudo nmcli connection up "Wired connection 1"
无线网络配置
无图形环境下连接WiFi需依赖iw
、wpa_supplicant
及NetworkManager
工具,步骤如下:
查看无线网卡
iwconfig # 查看无线网卡(如wlan0) ip a | grep wlan0 # 确认网卡是否存在
扫描可用WiFi
sudo iwlist wlan0 scan | grep ESSID # 列出附近WiFi的SSID(网络名称)
连接WiFi(推荐NetworkManager)
# 连接已知WiFi(需替换SSID和密码) sudo nmcli device wifi connect "Your_SSID" password "Your_Password" # 若为WPA3/WPA2加密网络,可指定协议(通常自动识别) sudo nmcli device wifi connect "Your_SSID" wifi-sec.key-mgmt WPA-PSK password "Your_Password"
手动配置无线网络(无NetworkManager时)
若系统未启用NetworkManager,需通过wpa_supplicant
配置:
- 创建无线配置文件:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf ``` 如下(替换SSID和密码): ```conf network={ ssid="Your_SSID" psk="Your_Password" key_mgmt=WPA-PSK # 根据加密协议选择(WPA-PSK/WPA-EAP等) }
- 启动无线连接:
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B # 后台运行 sudo dhclient wlan0 # 获取IP地址
网络连通性测试
测试本地网络连通性
ping -c 4 192.168.1.1 # 向网关发送4个数据包,测试本地网络是否可达 ping -c 3 www.baidu.com # 测试与外部网络的连通性(需先配置DNS)
跟踪路由路径
traceroute -I www.baidu.com # 使用ICMP协议跟踪路由(-I避免被防火墙拦截) mtr www.baidu.com # 持续测试,显示各节点延迟和丢包率(需安装mtr包)
测试网页访问与数据传输
curl -I www.baidu.com # 获取网页HTTP头信息,判断服务是否响应 wget -qO- www.baidu.com # 下载网页内容(-q静默,-O-输出到终端)
代理配置
若需通过代理服务器上网(如企业内网环境),需配置环境变量或工具代理:
全局环境变量配置(临时生效)
export http_proxy="http://proxy.example.com:8080" # HTTP代理 export https_proxy="https://proxy.example.com:8080" # HTTPS代理 export no_proxy="localhost,127.0.0.1,192.168.1.0/24" # 排除不需要代理的地址
写入~/.bashrc
或/etc/profile
可永久生效。
工具级代理配置
- curl/wget:
curl -x proxy.example.com:8080 www.baidu.com wget -e use_proxy=yes -e http_proxy=proxy.example.com:8080 www.baidu.com
- APT包管理器(Debian/Ubuntu):
创建/etc/apt/apt.conf.d/01proxy
Acquire::http::Proxy "http://proxy.example.com:8080"; Acquire::https::Proxy "https://proxy.example.com:8080";
- YUM/DNF包管理器(CentOS/RHEL):
在/etc/yum.conf
中添加:proxy=http://proxy.example.com:8080 proxy_username=用户名 # 若需认证 proxy_password=密码
常见故障排查
无法获取IP地址
- 检查网卡状态:
ip link show
确认网卡是否为UP
状态。 - 检查DHCP服务:
systemctl status dhclient
或systemctl status NetworkManager
,确保服务运行。 - 手动释放/重获取IP:
sudo dhclient -r ens33 # 释放当前IP sudo dhclient ens33 # 重新获取
能获取IP但无法上网
- 检查DNS配置:
cat /etc/resolv.conf
查看nameserver
是否正确,临时测试可改为公共DNS(如8.8.8
)。 - 检查网关:
ip route
查看默认路由(default via 192.168.1.1
),确保网关地址正确。 - 检查防火墙:
sudo systemctl stop firewalld
(临时关闭)或添加允许规则,确认防火墙未拦截流量。
无线连接失败
- 确认驱动:
lspci | grep -i network
查看网卡型号,安装对应驱动(如Realtek网卡需安装rtl8821ce
驱动)。 - 检查密码/SSID:确保WiFi名称和密码正确,避免隐藏SSID未指定
hidden
参数。
常用网络命令及用途
命令 | 用途 | 示例 |
---|---|---|
ip a |
查看所有网卡及IP信息 | ip a show ens33 |
nmcli connection |
管理NetworkManager连接 | nmcli connection up "eth0" |
iwlist scan |
扫描附近无线网络 | iwlist wlan0 scan | grep ESSID |
ping |
测试网络连通性 | ping -c 4 8.8.8.8 |
curl -I |
获取HTTP响应头 | curl -I www.baidu.com |
traceroute |
跟踪路由路径 | traceroute -I www.baidu.com |
相关问答FAQs
问题1:使用nmcli连接无线网络时提示“设备未就绪(device not ready)”怎么办?
解答:可能原因及解决方法如下:
- 无线网卡未启用:执行
sudo ip link set wlan0 up
启用网卡。 - NetworkManager未管理网卡:执行
sudo nmcli device set wlan0 managed yes
,将网卡交由NetworkManager管理。 - 驱动问题:通过
lspci | grep -i network
查看网卡型号,安装对应驱动(如Intel网卡安装iwlwifi
驱动,Realtek网卡安装rtl88xxau
驱动)。 - 硬件冲突:检查是否开启飞行模式(部分笔记本可通过
rfkill list
查看,sudo rfkill unblock wifi
解锁)。
问题2:如何在无图形环境下为Linux系统配置永久代理?
解答:根据代理使用范围,可通过以下方式配置:
- 用户级永久代理:在
~/.bashrc
或~/.bash_profile
中添加环境变量:echo 'export http_proxy="http://proxy.example.com:8080"' >> ~/.bashrc echo 'export https_proxy="https://proxy.example.com:8080"' >> ~/.bashrc source ~/.bashrc
- 系统级永久代理:在
/etc/environment
中添加(所有用户生效):echo "http_proxy="http://proxy.example.com:8080"" | sudo tee -a /etc/environment echo "https_proxy="https://proxy.example.com:8080"" | sudo tee -a /etc/environment
- 应用级代理(如Git、Docker):
- Git:
git config --global http.proxy http://proxy.example.com:8080
- Docker:创建
/etc/docker/daemon.json
{ "proxies": { "http-proxy": "http://proxy.example.com:8080", "https-proxy": "https://proxy.example.com:8080" } }
重启Docker服务:
sudo systemctl restart docker
。
- Git:
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/17549.html