本文為joshua317原創文章,轉載請注明:轉載自joshua317博客 https://www.joshua317.com/article/233
一、背景
公司新來一台服務器,系統已經裝好了,操作系統為CentOS,具體版本不太清楚。但是插上網線后,不能聯網,通過初步分析,應該是網卡配置的問題。
1.1 首先查看了下操作系統的版本
# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
1.2 查看本機ip地址,然后運行ifconfig
,結果報錯
# 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地址
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
# 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
注意:
BOOTPROTO=static 靜態IP
BOOTPROTO=dhcp 動態IP
BOOTPROTO=none 無(不指定)
結果發現:配置里面設置了靜態的ip地址。
我們要解決的問題:當我們的網卡沒有配置ip地址或者需要修改網卡的配置,如何處理呢?
接下來我們通過下面的幾種方式說明下如何配置ip地址。
二、手動配置CentOS的ip地址
2.1 方式一:動態獲取ip地址
2.1.1 修改網卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
#動態獲取IP地址需要修改兩處地方即可
bootproto=dhcp
onboot=yes
2.1.2 修改后,重啟一下網絡服務即可
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差不多,也是要修改網卡配置文件。
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 修改后,重啟一下網絡服務即可
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命令
# 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
# yum install net-tools
3.3 ifconfig命令測試
# ifconfig
3.4 配置ip地址
#給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