CentOS 7 设定IP

本文详细介绍了在 CentOS7 最小安装模式下,若出现 ifconfig 命令找不到的问题,通过检查 PATH 环境变量、确认网卡配置以及使用 ip 命令替代 ifconfig 进行网络配置的方法,并最终成功实现网络连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[url]http://simonhu.blog.51cto.com/196416/1588971[/url]

今天在一台PC上安装了CentOS 7,当时选择了最小安装模式,安装完成后马上用ifconfig查看本机的ip地址(局域网已经有DHCP),发现报错,提示ifconfig命令没找到。

# ifconfig

-bash: ifconfig: command not found

首先,习惯性的输入echo $PATH(查看当前PATH环境变量,跟DOS的path命令一样的功能,注意Linux系统中的命令是区分大小写的),显示结果如下:

# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

从上面显示结果看,放置系统管理程序的路径/usr/sbin已存在,就是放外部命令的路径。直接用ls查看/usr/sbin/目录,也没看到ifconfig,怎么回事?

# ls /usr/sbin/

我还是不死心,再用find命令也没找到ifconfig?

# find / -name "ifconfig"

此时心里有底了,应该是用某个命令代替了ifconfig了。上百度一查,果不其然,已经用ip命令代替ifconfig命令了。下面列出ip命令常用参数。

ip [选项] 操作对象{link|addr|route...}

# ip link show # 显示网络接口信息
# ip link set eth0 upi # 开启网卡
# ip link set eth0 down # 关闭网卡
# ip link set eth0 promisc on # 开启网卡的混合模式
# ip link set eth0 promisc offi # 关闭网卡的混个模式
# ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
# ip link set eth0 mtu 1400 # 设置网卡最大传输单元
# ip addr show # 显示网卡IP信息
# ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
# ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址

# ip route list # 查看路由信息
# ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
# ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254
# ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关
# ip route del default # 删除默认路由

输入ip addr命令后,发现enp2s0网卡(这个enp2s0是我这里的网卡)没有ip地址。

# ip addr

既然没有ip地址,那直接去/etc/sysconfig/network-scripts目录中看一下的网卡ip信息的配置文件名吧。

# ls /etc/sysconfig/network-scripts/
ifcfg-enp2s0 ifdown-eth ifdown-post ifdown-Team ifup-aliases ifup-ipv6 ifup-post ifup-Team init.ipv6-global
ifcfg-lo ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-isdn ifup-ppp ifup-TeamPort network-functions
ifdown ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-plip ifup-routes ifup-tunnel network-functions-ipv6
ifdown-bnep ifdown-isdn ifdown-sit ifup ifup-ippp ifup-plusb ifup-sit ifup-wireless
#

从结果看,之前保存网卡ip信息的配置文件名也由以前的ifcfg-eth0变成了ifcfg-enp2s0,好吧,既然你给他命这么个名,那我就先用着。先cat一下ifcfg-enp2s0
# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0
HWADDR=00:E0:69:01:6A:96
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp2s0
UUID=5b0a7d76-1602-4e19-aee6-29f57618ca01
ONBOOT=no

从上面的配置中有看到虽然BOOTPROTO=dhcp,但是ONBOOT=no,这里用vi将ONBOOT=no改成ONBOOT=yes,然后重启CentOS。

# shutdown -r

重启完成后输入帐号和密码进入命令提示操作符继续用ip addr查看网卡信息。结果如下:
# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:e0:69:01:6a:96 brd ff:ff:ff:ff:ff:ff
inet 172.8.1.200/24 brd 172.8.1.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet6 fe80::2e0:69ff:fe01:6a96/64 scope link
valid_lft forever preferred_lft forever

#
=========================================[size=medium][color=red]以上配置成功连接网络[/color][/size]

从上面结果看到,通过DHCP分配到的ip地址是172.8.1.200,虽然是测试机,但为了便于今后的远程连接,我们还是给这台机配置一个固定ip吧。

用vi打开ifcfg-enp2s0,输入以下参数,再用#将BOOTPROTO=dhcp注释。
IPADDR0=172.8.1.211
PREFIX0=24
GATEWAY0=172.8.1.1
DNS1=172.8.1.1

完整参数如下,好了,网络配通了。明天继续其它功能测试。
# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0
HWADDR=00:E0:69:01:6A:96
TYPE=Ethernet
#BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp2s0
UUID=5b0a7d76-1602-4e19-aee6-29f57618ca01
ONBOOT=yes
IPADDR0=172.8.1.211
PREFIX0=24
GATEWAY0=172.8.1.1
DNS1=172.8.1.1

#
-----------------------------
[color=red]注意:IPADDR,PREFIX,GATEWAY的后面是数字0, 不是字母O. DNS后面是数字1.[/color]


当联上互联网后,我们可以用yum install net-tools安装net-tools组件,将ifconfig命令找回来。

#yum install net-tools
### 设置 CentOS 7 静态 IP 地址 为了确保网络服务稳定运行并避免因动态分配而导致的 IP 地址变更问题,可以通过以下方法在 CentOS 7 中设置静态 IP 地址。 #### 修改网络接口配置文件 编辑对应的网络接口配置文件 `/etc/sysconfig/network-scripts/ifcfg-<interface>`。通常情况下,虚拟机中的网络接口名称可能是 `ens33` 或其他类似的命名方式。以下是具体的参数说明: - **BOOTPROTO**: 设定为 `static` 表示使用静态 IP 地址[^3]。 - **ONBOOT**: 设定为 `yes` 确保系统启动时激活该网络接口。 - **IPADDR**: 填写所需的静态 IP 地址。 - **NETMASK**: 子网掩码应与当前网络环境匹配[^2]。 - **GATEWAY**: 默认网关地址需与 NAT 模式的配置保持一致。 - **DNS1/DNS2**: 可选字段用于指定首选和备用 DNS 服务器地址。 下面是一个完整的配置实例: ```bash TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=ens33 UUID=<your_interface_uuid> DEVICE=ens33 ONBOOT=yes IPADDR=192.168.0.100 PREFIX=24 GATEWAY=192.168.0.1 DNS1=8.8.8.8 DNS2=8.8.4.4 ``` 完成上述修改后保存退出,并重启网络服务使更改生效: ```bash systemctl restart network ``` 或者对于支持 NetworkManager 的场景也可以尝试重载其服务来应用新的设定: ```bash nmcli connection reload ``` 最后验证新配置是否成功加载以及连通性测试正常即可[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值