刚装好CentOS,发现连不上公司内网?服务器重启后IP没了?别急,多半是网卡没配好。这类问题在日常运维、实验环境搭建甚至学生做网络课设时特别常见——网卡配置命令就是最直接的解决工具。
临时改IP:ifconfig(老但管用)
在旧版系统或快速测试时,ifconfig依然顺手。比如把ens33临时设成192.168.1.100/24:
sudo ifconfig ens33 192.168.1.100 netmask 255.255.255.0再加一条默认路由:
sudo route add default gw 192.168.1.1注意:这种改法重启就失效,适合调试用。
永久生效:nmcli(推荐给新手)
现代RHEL/CentOS 8+ 和 Fedora 默认用NetworkManager,nmcli命令直观好记。查当前连接名:
nmcli connection show修改ens33的IPv4地址为静态:
sudo nmcli connection modify "System ens33" ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify "System ens33" ipv4.gateway 192.168.1.1
sudo nmcli connection modify "System ens33" ipv4.dns "8.8.8.8,114.114.114.114"
sudo nmcli connection modify "System ens33" ipv4.method manual
sudo nmcli connection down "System ens33" && sudo nmcli connection up "System ens33"纯命令行派:ip命令(越来越主流)
ifconfig正在被ip取代。设IP、启网卡、加路由一气呵成:
sudo ip addr add 192.168.1.100/24 dev ens33
sudo ip link set ens33 up
sudo ip route add default via 192.168.1.1查看当前所有IP配置,比ifconfig更清爽:
ip addr show配置文件方式(适合生产环境)
CentOS/RHEL系通常编辑/etc/sysconfig/network-scripts/ifcfg-ens33:
DEVICE=ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114保存后重启网络服务:
sudo systemctl restart NetworkManagerUbuntu/Debian则改/etc/netplan/01-network-manager-all.yaml,语法稍不同,但思路一致:定义接口、地址、网关、DNS。
小技巧:快速确认网卡状态
配完别光看命令有没有报错,动手验证才踏实:
ping -c 3 192.168.1.1 # 测通网关
ping -c 3 www.baidu.com # 测DNS和外网
ip route show # 看路由表对不对
cat /proc/sys/net/ipv4/ip_forward # 查是否开启转发(做路由器时需要)配网卡不是背命令,而是理解“地址、掩码、网关、DNS”这四要素怎么在命令里落下来。多敲几次,自然就熟了。