# CentOS昇腾服务器网络解决方案 ## 📋 问题概述 昇腾服务器部署过程中遇到无网络连接的情况,本文档提供多种网络解决方案,包括离线安装、网络配置和故障排除方法。 ## 🔧 网络问题诊断 ### 1. 检查网络状态 ```bash # 检查网络接口 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. 常见网络问题 #### 问题一:网络接口未启用 ```bash # 启用网络接口 sudo ip link set eth0 up # 或使用旧命令 sudo ifup eth0 # 检查接口状态 ip link show eth0 ``` #### 问题二:DHCP未获取到IP ```bash # 手动请求DHCP sudo dhclient eth0 # 检查获取到的IP ip addr show eth0 ``` #### 问题三:静态IP配置错误 ```bash # 查看当前配置 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(推荐) ```bash # 检查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. 传统网络配置文件方式 ```bash # 编辑网络配置文件 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 ```bash # 扫描WiFi网络 nmcli dev wifi list # 连接到WiFi sudo nmcli dev wifi connect "WiFi名称" password "密码" # 设置自动连接 sudo nmcli connection modify "WiFi名称" connection.autoconnect yes ``` #### 2. 配置文件方式 ```bash # 创建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网络共享 ```bash # 插入手机USB数据线 # 启用USB网络共享 # 检查新网络接口 ip addr show # 通常会出现usb0或rndis0接口 # 配置USB网络 sudo dhclient usb0 # 或 sudo dhclient rndis0 # 验证网络连接 ping 8.8.8.8 ``` #### 2. 蓝牙网络共享 ```bash # 启用蓝牙服务 sudo systemctl enable bluetooth sudo systemctl start bluetooth # 配置蓝牙网络 sudo hciconfig hci0 up # 使用蓝牙管理工具配置网络共享 ``` ## 📦 离线安装解决方案 ### 方案一:准备离线安装包 #### 1. 在有网络机器上下载依赖包 ```bash # 创建下载目录 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. 创建离线安装脚本 ```bash #!/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源 ```bash # 挂载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源 ```bash # 创建本地源目录 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. 网线连接检查 ```bash # 检查网卡状态 ethtool eth0 # 查看网卡信息 sudo mii-tool eth0 # 检查网线是否插好 dmesg | grep eth0 ``` ### 2. 驱动检查 ```bash # 查看已加载的网卡驱动 lsmod | grep -e "e1000" -e "r8169" -e "atl1" # 查看PCI设备 lspci | grep -i ethernet # 查看USB网络设备 lsusb | grep -i ethernet ``` ### 3. BIOS/UEFI设置 ```bash # 检查BIOS中的网络设置 # - 确保网卡未被禁用 # - 检查Wake-On-LAN设置 # - 确认PXE启动选项 ``` ## 🛠️ 网络故障排除 ### 1. 常见错误及解决方案 #### 错误一:Network is unreachable ```bash # 检查路由表 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 ```bash # 检查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 ```bash # 检查防火墙状态 sudo systemctl status firewalld # 临时关闭防火墙测试 sudo systemctl stop firewalld # 添加防火墙规则 sudo firewall-cmd --add-port=80/tcp --permanent sudo firewall-cmd --reload ``` ### 2. 高级网络诊断 ```bash # 使用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代理 ```bash # 设置环境变量 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代理配置 ```bash # 编辑YUM配置 sudo vi /etc/yum.conf # 添加代理配置: proxy=http://proxy-server:port proxy_username=username proxy_password=password ``` ### 3. APT代理配置 ```bash # 创建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"; ``` ## 📋 网络检查清单 ### 自动化检查脚本 ```bash #!/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 "=== 检查完成 ===" ``` ### 网络修复一键脚本 ```bash #!/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系列服务器