首先通过DHCP自动获取或静态配置IP、子网掩码、网关和DNS来实现CentOS命令行上网,推荐优先使用DHCP;若需固定IP,则手动编辑ifcfg-文件或用nmcli命令配置静态网络参数,并确保ONBOOT=yes或autoconnect=yes以实现持久化;配置后通过ip a、ip route、ping和cat /etc/resolv.conf等命令检查接口状态、路由、连通性与DNS;常见问题包括IP冲突、网关错误、DNS解析失败、接口未激活及防火墙拦截,需逐步排查;最终通过systemctl restart NetworkManager使配置生效,确保重启后网络仍可用。

在CentOS的命令窗口让机器连接到互联网,核心其实就是正确配置好你的网络接口(比如网卡)的IP地址、子网掩码、默认网关以及DNS服务器信息,然后确保这个接口是激活状态。这听起来有点像在黑暗中摸索,但只要思路清晰,几条命令就能搞定。无论是通过DHCP自动获取,还是手动指定静态IP,目的都是让数据包能找到出去的路,也能找到回来的家。
让CentOS命令行上网,通常有两种主流思路:动态获取(DHCP)和静态配置。我个人更倾向于先尝试DHCP,因为省心,如果不行再考虑静态。
1. DHCP动态获取(最常用且推荐)
这是最简单的方式,如果你的网络环境有DHCP服务器(比如家用路由器),CentOS会自动分配IP地址。
识别网络接口: 首先,你需要知道你的网卡叫什么。通常是
eth0
ens33
enp0s3
ip a # 或者 nmcli device show
从输出中找到那个状态是
DISCONNECTED
UNAVAILABLE
ens33
激活DHCP配置: NetworkManager是CentOS 7/8/9默认的网络管理工具,用它来操作非常方便。
nmcli device connect ens33 # 或者,如果你知道连接的名称(通常是`ens33`或`Wired connection 1`) nmcli connection up "ens33"
如果你的网络接口已经有配置文件(比如
/etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT=yes
BOOTPROTO=dhcp
sudo systemctl restart NetworkManager
或者更传统一点,直接使用
ifup
ifcfg-ens33
sudo ifup ens33
验证连接:
ip a # 检查IP地址是否已分配 ping -c 4 baidu.com # 测试是否能解析域名并访问外部网络
2. 静态IP配置
当DHCP不可用,或者你需要为服务器指定固定IP时,就需要手动配置。这通常涉及到编辑网络接口的配置文件。
编辑网络配置文件: 找到你的网卡配置文件,通常在
/etc/sysconfig/network-scripts/
ifcfg-你的网卡名
ifcfg-ens33
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
文件内容大致会像这样,你需要根据你的网络环境进行修改或添加:
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" # 改为static或none DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 这个UUID不要改 DEVICE="ens33" ONBOOT="yes" # 确保开机自启动 IPADDR="192.168.1.100" # 你的静态IP地址 NETMASK="255.255.255.0" # 子网掩码 GATEWAY="192.168.1.1" # 默认网关 DNS1="8.8.8.8" # 首选DNS服务器 DNS2="114.114.114.114" # 备用DNS服务器
保存并退出
vi
Esc
:wq
重启网络服务或激活接口:
sudo systemctl restart NetworkManager # 或者 sudo ifdown ens33 && sudo ifup ens33
验证连接: 同样使用
ip a
ping baidu.com
3. 添加/修改DNS服务器
如果IP配置正确但无法访问域名(比如
ping 8.8.8.8
ping baidu.com
/etc/resolv.conf
nameserver
sudo vi /etc/resolv.conf
文件内容示例如下:
# Generated by NetworkManager nameserver 8.8.8.8 nameserver 114.114.114.114
注意:
/etc/resolv.conf
ifcfg-ens33
DNS1
DNS2
nmcli
说实话,这块儿经常让人头疼,问题五花八门。我见过最常见的就是IP地址、子网掩码、网关配错,或者干脆是网卡名不对。
ip a
169.254.x.x
ip route
default via ...
ping 8.8.8.8
ping baidu.com
/etc/resolv.conf
ifcfg-
DNS1
DNS2
ONBOOT=no
ifup
nmcli connection up
firewalld
sudo firewall-cmd --list-all
遇到这些问题,我的经验是先检查最基础的配置,一步步排除。别着急,耐心点总能找到原因。
检查网络状态和排查故障,就像医生看病,得有套路。我通常会从宏观到微观,从最可能的地方开始。
查看IP地址和接口状态:
ip a
这个命令能显示所有网络接口的IP地址、MAC地址以及接口状态(
UP
DOWN
DOWN
169.254.x.x
检查路由表:
ip route
确保有一条
default via [你的网关IP]
测试网络连通性(ping):
ping -c 4 8.8.8.8 # 测试到DNS服务器的连通性 ping -c 4 baidu.com # 测试域名解析和外部连通性
如果能ping通
8.8.8.8
baidu.com
8.8.8.8
查看DNS配置:
cat /etc/resolv.conf
确认
nameserver
检查网络服务状态:
sudo systemctl status NetworkManager # 或者 network
确保NetworkManager服务正在运行。如果服务挂了,网络配置自然也就不生效了。
查看防火墙规则:
sudo firewall-cmd --list-all # 或者 iptables -L -n
检查是否有规则阻止了出站连接。一般来说,默认配置不会阻止出站,但如果你自定义过规则,就得留意了。
查看系统日志:
journalctl -xe | grep -i network
系统日志是排查问题的宝库。搜索
network
使用nmcli
nmcli
nmcli device status nmcli connection show nmcli device show ens33 # 查看特定接口的详细信息
这些命令能提供比
ip a
排查故障时,一步步来,每一步都验证一下,这样才能快速定位问题。
持久化网络配置,就是让你的设置在系统重启后依然有效。没人希望每次开机都重新配一遍网络,那简直是噩梦。在CentOS里,实现持久化主要有两种方式:编辑
ifcfg-
nmcli
1. 通过编辑/etc/sysconfig/network-scripts/ifcfg-
这是CentOS及RHEL系Linux发行版最经典、最直接的持久化方式。
找到正确的配置文件:
ls /etc/sysconfig/network-scripts/ifcfg-*
找到你想要配置的网卡对应的文件,比如
ifcfg-ens33
编辑文件内容:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
确保以下几个关键参数设置正确:
ONBOOT="yes"
no
BOOTPROTO="dhcp"
BOOTPROTO="static"
BOOTPROTO="dhcp"
BOOTPROTO="static"
IPADDR="你的IP"
NETMASK="你的子网掩码"
GATEWAY="你的网关IP"
DNS1="首选DNS"
DNS2="备用DNS"
DEVICE="ens33"
NAME="ens33"
IPV6INIT="yes"
yes
保存并重启网络服务: 保存文件后,需要重启NetworkManager服务才能让新的配置生效。
sudo systemctl restart NetworkManager
或者如果你想更“暴力”一点,直接重启系统也行,但通常没必要。
2. 使用nmcli
NetworkManager是CentOS 7/8/9默认的网络管理工具,
nmcli
nmcli
对于DHCP配置: 如果你的网卡已经有一个连接,你可以修改它为DHCP。
nmcli connection modify ens33 ipv4.method auto nmcli connection modify ens33 ipv6.method auto # 如果需要IPv6 nmcli connection up ens33 # 激活连接
如果还没有连接,可以创建一个:
nmcli connection add type ethernet ifname ens33 con-name "My_DHCP_Connection" ipv4.method auto nmcli connection up "My_DHCP_Connection"
对于静态IP配置: 同样,可以修改现有连接或创建新连接。
# 修改现有连接
nmcli connection modify ens33 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"
nmcli connection up ens33
# 或者创建新连接
nmcli connection add type ethernet ifname ens33 con-name "My_Static_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" \
    autoconnect yes # 设置开机自动连接
nmcli connection up "My_Static_Connection"autoconnect yes
我个人觉得,对于新系统或者需要快速配置的场景,
nmcli
ifcfg-
以上就是CentOS命令窗口怎么上网_CentOS命令行网络连接方法教程的详细内容,更多请关注php中文网其它相关文章!
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号