9.7 KiB
9.7 KiB
CentOS昇腾服务器网络解决方案
📋 问题概述
昇腾服务器部署过程中遇到无网络连接的情况,本文档提供多种网络解决方案,包括离线安装、网络配置和故障排除方法。
🔧 网络问题诊断
1. 检查网络状态
# 检查网络接口
ip addr show
# 或使用旧命令
ifconfig -a
# 检查路由表
ip route show
# 或使用旧命令
route -n
# 检查DNS解析
nslookup baidu.com
# 或使用
dig baidu.com
# 检查防火墙状态
systemctl status firewalld
iptables -L
# 检查网络管理服务
systemctl status NetworkManager
systemctl status network
2. 常见网络问题
问题一:网络接口未启用
# 启用网络接口
sudo ip link set eth0 up
# 或使用旧命令
sudo ifup eth0
# 检查接口状态
ip link show eth0
问题二:DHCP未获取到IP
# 手动请求DHCP
sudo dhclient eth0
# 检查获取到的IP
ip addr show eth0
问题三:静态IP配置错误
# 查看当前配置
cat /etc/sysconfig/network-scripts/ifcfg-eth0
# 临时配置IP
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1
🌐 网络配置解决方案
方案一:配置有线网络
1. 使用NetworkManager(推荐)
# 检查NetworkManager状态
systemctl status NetworkManager
# 启动NetworkManager
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager
# 查看可用连接
nmcli connection show
# 创建新的有线连接
sudo nmcli connection add type ethernet ifname eth0 con-name "Wired-Connection"
sudo nmcli connection modify "Wired-Connection" ipv4.method auto
sudo nmcli connection up "Wired-Connection"
# 或配置静态IP
sudo nmcli connection modify "Wired-Connection" ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8,114.114.114.114"
2. 传统网络配置文件方式
# 编辑网络配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 配置内容:
BOOTPROTO=static # 或 dhcp
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
# 重启网络服务
sudo systemctl restart network
# 或
sudo service network restart
方案二:配置无线网络
1. 使用nmcli配置WiFi
# 扫描WiFi网络
nmcli dev wifi list
# 连接到WiFi
sudo nmcli dev wifi connect "WiFi名称" password "密码"
# 设置自动连接
sudo nmcli connection modify "WiFi名称" connection.autoconnect yes
2. 配置文件方式
# 创建WiFi配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-wlan0
# 配置内容:
ESSID="WiFi名称"
MODE=Managed
KEY_MGMT=WPA-PSK
TYPE=Wireless
BOOTPROTO=dhcp
DEFROUTE=yes
ONBOOT=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
# 添加密码到配置文件
wpa_passphrase "WiFi名称" "密码" >> /etc/wpa_supplicant/wpa_supplicant.conf
# 启用无线接口
sudo ifup wlan0
方案三:手机热点共享
1. USB网络共享
# 插入手机USB数据线
# 启用USB网络共享
# 检查新网络接口
ip addr show
# 通常会出现usb0或rndis0接口
# 配置USB网络
sudo dhclient usb0
# 或
sudo dhclient rndis0
# 验证网络连接
ping 8.8.8.8
2. 蓝牙网络共享
# 启用蓝牙服务
sudo systemctl enable bluetooth
sudo systemctl start bluetooth
# 配置蓝牙网络
sudo hciconfig hci0 up
# 使用蓝牙管理工具配置网络共享
📦 离线安装解决方案
方案一:准备离线安装包
1. 在有网络机器上下载依赖包
# 创建下载目录
mkdir aimonitor_offline
cd aimonitor_offline
# 下载Python包
pip download -r /path/to/AIMonitor/requirements.txt \
-d packages/ \
--platform linux_x86_64 \
--only-binary=:all:
# 下载系统依赖包(Ubuntu示例)
apt download python3-dev python3-pip gcc g++ make cmake
apt download libglib2.0-0 libsm6 libxext6 libxrender-dev
# 下载昇腾驱动和工具包
wget https://ascend-repo.huawei.com/Atlas%20200I%20DK/Ascend-hdk-23.0.0-run.tar
wget https://ascend-repo.huawei.com/CANN%205.0.2/Ascend-cann-toolkit-5.0.2.run
2. 创建离线安装脚本
#!/bin/bash
# offline_install.sh
echo "=== AI监控系统离线安装 ==="
# 安装系统依赖
echo "安装系统依赖..."
sudo rpm -ivh *.rpm 2>/dev/null || sudo dpkg -i *.deb 2>/dev/null
# 安装Python包
echo "安装Python依赖..."
pip install packages/*.whl --no-index --find-links=packages/
# 安装昇腾驱动
echo "安装昇腾驱动..."
sudo bash Ascend-hdk-*.run --silent
# 安装CANN工具包
echo "安装CANN工具包..."
sudo bash Ascend-cann-toolkit-*.run --silent
echo "安装完成!"
方案二:使用本地源
1. 创建本地YUM源
# 挂载CentOS ISO
sudo mount /dev/cdrom /mnt
# 创建本地源配置
sudo vi /etc/yum.repos.d/local.repo
# 配置内容:
[local]
name=Local Repository
baseurl=file:///mnt
enabled=1
gpgcheck=0
# 更新YUM缓存
sudo yum clean all
sudo yum makecache
2. 创建本地APT源
# 创建本地源目录
sudo mkdir -p /opt/local-repo
# 复制deb包到本地源目录
sudo cp *.deb /opt/local-repo/
# 创建包索引
cd /opt/local-repo
sudo dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
# 配置APT源
echo "deb [trusted=yes] file:///opt/local-repo ./" > /tmp/local.list
sudo cp /tmp/local.list /etc/apt/sources.list.d/local.list
# 更新APT缓存
sudo apt-get update
🔌 物理连接检查
1. 网线连接检查
# 检查网卡状态
ethtool eth0
# 查看网卡信息
sudo mii-tool eth0
# 检查网线是否插好
dmesg | grep eth0
2. 驱动检查
# 查看已加载的网卡驱动
lsmod | grep -e "e1000" -e "r8169" -e "atl1"
# 查看PCI设备
lspci | grep -i ethernet
# 查看USB网络设备
lsusb | grep -i ethernet
3. BIOS/UEFI设置
# 检查BIOS中的网络设置
# - 确保网卡未被禁用
# - 检查Wake-On-LAN设置
# - 确认PXE启动选项
🛠️ 网络故障排除
1. 常见错误及解决方案
错误一:Network is unreachable
# 检查路由表
ip route show
# 添加默认路由
sudo ip route add default via 192.168.1.1
# 检查网关连通性
ping -c 4 192.168.1.1
错误二:Name or service not known
# 检查DNS配置
cat /etc/resolv.conf
# 手动配置DNS
sudo vi /etc/resolv.conf
# 添加DNS服务器:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 114.114.114.114
# 重启网络服务
sudo systemctl restart NetworkManager
错误三:Connection refused
# 检查防火墙状态
sudo systemctl status firewalld
# 临时关闭防火墙测试
sudo systemctl stop firewalld
# 添加防火墙规则
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --reload
2. 高级网络诊断
# 使用netstat检查端口
sudo netstat -tulpn
# 使用ss命令(现代替代netstat)
sudo ss -tulpn
# 检查网络连通性
traceroute 8.8.8.8
mtr 8.8.8.8
# 检查DNS解析
dig +trace google.com
🌍 代理配置方案
1. HTTP/HTTPS代理
# 设置环境变量
export http_proxy="http://proxy-server:port"
export https_proxy="http://proxy-server:port"
export no_proxy="localhost,127.0.0.1,192.168.1.0/24"
# 永久配置
echo 'export http_proxy="http://proxy-server:port"' >> ~/.bashrc
echo 'export https_proxy="http://proxy-server:port"' >> ~/.bashrc
2. YUM代理配置
# 编辑YUM配置
sudo vi /etc/yum.conf
# 添加代理配置:
proxy=http://proxy-server:port
proxy_username=username
proxy_password=password
3. APT代理配置
# 创建APT代理配置
sudo vi /etc/apt/apt.conf
# 添加代理配置:
Acquire::http::proxy "http://proxy-server:port";
Acquire::https::proxy "http://proxy-server:port";
Acquire::ftp::proxy "http://proxy-server:port";
📋 网络检查清单
自动化检查脚本
#!/bin/bash
# network_check.sh
echo "=== 网络状态检查 ==="
# 1. 检查网络接口
echo "1. 网络接口状态:"
ip addr show | grep -E "^[0-9]+:"
# 2. 检查路由表
echo "2. 路由表:"
ip route show
# 3. 检查DNS
echo "3. DNS配置:"
cat /etc/resolv.conf
# 4. 检查外网连通性
echo "4. 外网连通性:"
if ping -c 3 8.8.8.8 >/dev/null 2>&1; then
echo " ✓ 外网连通正常"
else
echo " ✗ 外网不通"
fi
# 5. 检查DNS解析
echo "5. DNS解析:"
if nslookup baidu.com >/dev/null 2>&1; then
echo " ✓ DNS解析正常"
else
echo " ✗ DNS解析失败"
fi
# 6. 检查防火墙
echo "6. 防火墙状态:"
systemctl is-active firewalld
echo "=== 检查完成 ==="
网络修复一键脚本
#!/bin/bash
# fix_network.sh
echo "=== 网络修复脚本 ==="
# 重置网络配置
sudo systemctl stop NetworkManager
sudo systemctl stop network
# 重置网络接口
sudo ip link set eth0 down
sudo ip link set eth0 up
# 清除旧的IP配置
sudo ip addr flush dev eth0
# 重新获取DHCP
sudo dhclient eth0
# 重启网络服务
sudo systemctl start NetworkManager
# 测试网络
if ping -c 3 8.8.8.8 >/dev/null 2>&1; then
echo "✓ 网络修复成功"
else
echo "✗ 网络修复失败,请手动配置"
fi
🎯 推荐解决方案
立即可用方案
- 使用USB手机热点:最简单快速的网络解决方案
- 静态IP配置:如果知道网络参数,直接配置
- 离线安装包:准备完整离线安装包
长期解决方案
- 配置有线网络:稳定可靠的生产环境方案
- 设置网络代理:企业环境的标准方案
- 部署本地源:内网环境的最佳实践
文档版本: v1.0
适用系统: CentOS 7/8, Ubuntu 18.04/20.04
硬件平台: 昇腾Atlas系列服务器