一、背景
公司新来一台服务器,系统已经装好了,操作系统为CentOS,具体版本不太清楚。但是插上网线后,不能联网,通过初步分析,应该是网卡配置的问题。
1.1 首先查看了下操作系统的版本
代码语言:javascript复制# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
1.2 查看本机ip地址,然后运行ifconfig
,结果报错
代码语言:javascript复制# ifconfig
-bash: ifconfig: command not found
我们知道,ifconfig
命令用于配置GNU/Linux系统的网络接口。它显示网络接口卡的详细信息,包括IP地址,MAC地址,以及网络接口卡状态之类。但是在CentOS 7最小化系统中,该命令已经过时了,而且在最小化版本的RHEL 7以及它的克隆版本CentOS 7,Oracle Linux 7和Scientific Linux 7中也找不到该命令。我们可以通过ip addr
令来查看网卡详情。
1.3 通过ip addr
查看ip地址
代码语言:javascript复制1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 52:54:00:3a:5f:30 brd ff:ff:ff:ff:ff:ff
inet 172.21.0.15/20 brd 172.21.15.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe3a:5f30/64 scope link
valid_lft forever preferred_lft forever
结果发现:网卡eth0的ip地址是172.21.0.15,和目前公司的的网络断(公司的网段是192.168.x.x)是不一致的。接下来我们查看下网卡eth0的配置。
**注意:**有的情况下是网卡是没有配置ip地址的。
1.4 查看网卡eth0的配置
**注意:**每个服务器的网卡名称是不一样的,根据自己实际情况进行查看。比如我们通过上述命令ip addr
可以得知,网卡名为eth0
cat /etc/sysconfig/network-scripts/ifcfg-eth0
代码语言:javascript复制# Created by cloud-init on instance boot automatically, do not edit.
#
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
DEVICE=eth0
ONBOOT=yes
IPADDR=172.21.0.15
NETMASK=255.255.240.0
GATEWAY=172.21.0.1
USERCTL=no
HWADDR=52:54:00:3a:5f:30
PERSISTENT_DHCLIENT=yes
NM_CONTROLLED=no
注意:
代码语言:javascript复制BOOTPROTO=static 静态IP
BOOTPROTO=dhcp 动态IP
BOOTPROTO=none 无(不指定)
结果发现:配置里面设置了静态的ip地址。
我们要解决的问题:当我们的网卡没有配置ip地址或者需要修改网卡的配置,如何处理呢?
接下来我们通过下面的几种方式说明下如何配置ip地址。
二、手动配置CentOS的ip地址
2.1 方式一:动态获取ip地址
2.1.1 修改网卡配置文件
代码语言:javascript复制vi /etc/sysconfig/network-scripts/ifcfg-eth0
#动态获取IP地址需要修改两处地方即可
bootproto=dhcp
onboot=yes
2.1.2 修改后,重启一下网络服务即可
代码语言:javascript复制 systemctl restart network
2.1.3 重启后,验证下
通过ip addr
命令查看下ip地址,且可以上网(ping www.baidu.com
)
ip addr
ping www.baidu.com
2.2 方式二:设置静态ip地址
2.2.1 修改网卡配置文件
设置静态IP地址与动态iIP差不多,也是要修改网卡配置文件。
代码语言:javascript复制vi /etc/sysconfig/network-scripts/ifcfg-eth0
#设置静态ip地址
bootproto=static
onboot=yes
#然后再设置下ip地址、子网掩码、网关、dns服务器
IPADDR=192.168.3.164
NETMASK=255.255.255.0
GATEWAY=192.168.3.253
DNS1=114.114.114.114
DNS2=14.114.115.115
2.2.2 修改后,重启一下网络服务即可
代码语言:javascript复制 systemctl restart network
2.2.3 重启后,验证下
通过ip addr
命令查看下ip地址,且可以上网(ping www.baidu.com
)
ip addr
ping www.baidu.com
三、通过ifconfig设置ip地址
注意:前提是需要联网,能够安装提供ifconfig工具命令的安装包
3.1 查看那个包提供ifconfig命令
代码语言:javascript复制# yum provides ifconfig
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/filelists_db | 12 MB 00:00:00
extras/7/x86_64/filelists_db | 259 kB 00:00:00
updates/7/x86_64/filelists_db | 1.7 kB 00:00:00
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo : base
Matched from:
Filename : /sbin/ifconfig
net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools
Repo : @base
Matched from:
Filename : /sbin/ifconfig
可以看到ifconfig
命令依赖net-tools
安装包。接下来我们安装下这个包。
3.2 安装net-tools
代码语言:javascript复制# yum install net-tools
3.3 ifconfig命令测试
代码语言:javascript复制# ifconfig
3.4 配置ip地址
代码语言:javascript复制#给eth0网卡配置IP地址,并加上子掩码
# ifconfig eth0 192.168.3.18 netmask 255.255.255.0
四、知识扩展
ifconfig命令用法:https://www.joshua317.com/article/226
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/233