Files
AItst/AIMonitor/centos_network_solutions.md
2026-02-08 14:33:45 +08:00

9.7 KiB
Raw Permalink Blame History

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

🎯 推荐解决方案

立即可用方案

  1. 使用USB手机热点:最简单快速的网络解决方案
  2. 静态IP配置:如果知道网络参数,直接配置
  3. 离线安装包:准备完整离线安装包

长期解决方案

  1. 配置有线网络:稳定可靠的生产环境方案
  2. 设置网络代理:企业环境的标准方案
  3. 部署本地源:内网环境的最佳实践

文档版本: v1.0
适用系统: CentOS 7/8, Ubuntu 18.04/20.04
硬件平台: 昇腾Atlas系列服务器