VMware中CentOS7 配置网卡

[rock@localhost ~]$ ifconfig
ens33: flags=4163  mtu 1500
        inet 192.168.31.128  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fe80::8c52:ab51:67e0:64a4  prefixlen 64  scopeid 0x20
        ether 00:0c:29:a3:07:1d  txqueuelen 1000  (Ethernet)
        RX packets 56563  bytes 67798314 (64.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21247  bytes 3563043 (3.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 64  bytes 5568 (5.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 64  bytes 5568 (5.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[rock@localhost ~]$ 

[root@localhost~]# ip addr


通过 ip 命令加参数 addr 则是查看当前网卡的配置信息, 从下图中可以看出, 当前系统的 ens33 网卡并没有 ipv4 及 ipv6, 没有 ip地址 则只能说明一个问题,
当前linux系统是没有办法上网的, lo 这块网卡每一个系统中都会有, 这个称之为 回环网卡

[rock@localhost ~]$ ip addr
1: lo: 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: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:a3:07:1d brd ff:ff:ff:ff:ff:ff
    inet 192.168.31.128/24 brd 192.168.31.255 scope global noprefixroute dynamic ens33
       valid_lft 1196sec preferred_lft 1196sec
    inet6 fe80::8c52:ab51:67e0:64a4/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[rock@localhost ~]$ 


当前系统只能通过 ping 命令 ping 通 回环网卡 也就是 127.0.0.1 这个 ip地址

[root@localhost ~]# ping 127.0.0.1


CentOS7默认网卡配置信息

CentOS7默认网卡设备文件存放于

/etc/sysconfig/network-scripts/

目录下, 有于CentOS的发行及系统升级或许可能会存在网卡设备名称与之前版本不一致的情况, 这也很容易理解, 网卡设备名称在linux系统中它只是一个标志,
它并不能说明什么问题, 关键是这个设备文件的配置参数, 我当前CentOS7的网卡设备名称是

ifcfg-ens33


[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33

通过 cat 查看CentOS7最小化安装默认网卡设备配置信息, 如下:

TYPE=Ethernet                                # 网卡类型:为以太网
PROXY_METHOD=none                            # 代理方式:关闭状态
BROWSER_ONLY=no                              # 只是浏览器:否
BOOTPROTO=dhcp                               # 网卡的引导协议:DHCP[中文名称: 动态主机配置协议]
DEFROUTE=yes                                 # 默认路由:是, 不明白的可以百度关键词 `默认路由`
IPV4_FAILURE_FATAL=no                        # 是不开启IPV4致命错误检测:否
IPV6INIT=yes                                 # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
IPV6_AUTOCONF=yes                            # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
IPV6_DEFROUTE=yes                            # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
IPV6_FAILURE_FATAL=no                        # 是不开启IPV6致命错误检测:否
IPV6_ADDR_GEN_MODE=stable-privacy            # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]
NAME=ens33                                   # 网卡物理设备名称
UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698    # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用
DEVICE=ens33                                 # 网卡设备名称, 必须和 `NAME` 值一样
ONBOOT=no                                    # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes`


CentOS7配置网卡为静态IP

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

使用 vi 文本编辑器打开网卡设备文件, 修改具体配置项为以下内容:

BOOTPROTO=static

设置网卡引导协议为 静态

ONBOOT=yes

设置网卡启动方式为 开机启动 并且可以通过系统服务管理器 systemctl 控制网卡

IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

上面是最主要的3个配置项[IP/子网掩码/网关], 配置完成这些参数先保存退出, 按 esc 进入到 命令模式,
按住 shift + : 输入 :, 接着再输入 wq, w 是 保存, q 就是告退喽, w 就是 write, 那么 q 就是 quit

[root@localhost ~]# systemctl restart network

重启网卡, 说明一点, 在 CentOS7 下已全面使用 systemctl 作为服务管理器, 它用来替代 service 和 chkconfig,
现在 RadHat、Ubuntu、fedora 等主流的 linux 发行版本都以全面支持 systemctl 服务管理器, 这可是一个好事情!皆大欢喜


获取设置具体IP/子网掩码/网关地址说明

inet 192.168.1.100

就是局域网IP地址啦!Mac是 192.168.1.100 那么上面的 CentOS 就不能是这个地址了, 记住了哈, IP是唯一的, 就像你的身份证ID一样, 每个人只有一个,

netmask 0xffffff00

这个是子网掩码, 它是用16进制表示的, 这可能与我们常常使用的Windows有些不一样, 并且还略显怪异, 我们都知道, IP地址是用 32 位表示的, 分为 4 段, 每段 8 位,
这 8 位呢!是 0 或 1 二进制组合来表示的, 那么转化为 10 进制, 它每段的取值就是 0-255 所示每段最小是 0 最大是 255, 这种表示方法在Windows上就是使用的 10 进制,
在 Mac 下如果存在最小 0 或 最大 255 它就会转化为 16 进制, 如果说当前的子网掩码是 255.255.255.0, 这是Windows下的 10 进制表示,
那到了 Mac 下 Mac 系统的研发工程师觉得老板发薪资了, 也不能闲着的时候没事干, 非得将 10 进制转换成 16 进制就成了我们现在看到的这个样子了 0xffffff00,
你就可劲转吧, 我们又不是转不回来, 小样, 哈哈, 博主是猴子请来的...

broadcast 192.168.1.255

这个呢是 广播地址, 主要的网络设备有 路由器、防火墙, 具有三层交换功能的网络交换机及以 通过软件开启了路由功能的主机, 这个地址呢!
可能会与IP不是一个网段, 这个要看局域网网络设备多少, 公司内部一般是不会跟IP地址网段一样, 还是那句话, 具体情况具体分析, 你可别较真哈, 
像我在家里上网肯定就是一台无线路由器就搞定的事情, 那么这个 广播地址, 肯定是跟IP地址在一个网段, 最大 10 进制值表示这个 广播地址 也就是 192.168.1.255, 
网卡中设置的是网关地址, 那么这个IP网段的第一个就是网关地址, 也就是 192.168.1.1 这个地址


配置以上网卡信息后当前网卡状态

[root@localhost ~]# ip addr

可以看到 ens33 这块网卡, IP/网关, 还有ipv6这个现阶段还暂时用不到, 甭操心! 但是你会发现你看不到 子网掩码 设置具体值, 这个安装上 net-tools 工具包, 
就可以通过 ifconfig 来查看网卡配置信息了, 来接着往下看

到目前为止, 上面配置的网卡信息也只能是在内网里得瑟, 上不了网, 为什么这么说呢, 要不你试试看, 因为还有一个知识点要说, 先来试试看是不是像我说的那样, 
下面做一个测试就一目了然了


PING内网其它主机

[root@localhost ~]# ping 192.168.1.100

这个 ping 的是我的Mac, 可以 ping 通, 没有任何问题!


PING外网其它主机

[root@localhost ~]# ping baidu.com

这个 ping 的是位于西二旗的在 百度, 出现 未知域名或服务!shit!


允许网卡访问外网主机

为什么上不去网呢?这是因为当前 CentOS 还解析不了输入的 baidu.com 这个字符串, 我知道它是百度的域名, 你也知道, 但它就是不知道这是百度域名, 
它解析 baidu.com 域名到底是对应哪一IP地址, 那好了, 去Mac下 ping 一下 baidu.com 这个域名, 给它加到 CentOS 系统的 hosts 文件这事也就靠谱了

从结果上来看百度的IP地址就是 220.181.57.217 这个IP了, 没错就是它!


编辑 /etc/hosts 文件

打开 /etc/hosts 文件

[root@localhost ~]# vi /etc/hosts

以下呢!是初始化安装 CentOS7 后默认的 hosts 文件具体内容

输入以下IP与域名的对应记录, 保存退出

220.181.57.217 baidu.com www.baidu.com

现在再去 ping 百度的域名 baidu.com 肯定没有问题!

[root@localhost ~]# ping baidu.com

那好, 你去 ping 一下 淘宝 的域名呗!好啊!

[root@localhost ~]# ping taobao.com


配置网卡设备文件添加DNS域名解析服务器地址
添加DNS域名解析服务器地址, 就是让 CentOS7 在使用 ping 命令时, 一看给的是一个字串符而非IP地址, 就通过 域名解析服务器 查找对应的IP地址, 
然后通过IP去 ping 对应的主机这事也就妥妥的了, 简单的说明这个问题它就是这样, 要想知道它具体都干什么事情了, 你还得去研究一下 网络参考模型 以及 协议 这些事!


Windows获取DNS服务器地址
那你可能会说了, 我去哪找 域名解析服务器 地址呢?这个很简单, 如果你是windows用户你可以通过在 cmd 命令行下输入:

C:\Windows\System32> ipconfig /all

无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Realtek 8811CU Wireless LAN 802.11ac USB NIC
   物理地址. . . . . . . . . . . . . : 30-B4-9E-FE-D9-30
   DHCP 已启用 . . . . . . . . . . . : 是
   自动配置已启用. . . . . . . . . . : 是
   本地链接 IPv6 地址. . . . . . . . : fe80::f8b2:ab4f:fb78:7295%10(首选)
   IPv4 地址 . . . . . . . . . . . . : 192.168.1.9(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   获得租约的时间  . . . . . . . . . : 2019年5月16日 19:39:14
   租约过期的时间  . . . . . . . . . : 2019年5月19日 20:14:19
   默认网关. . . . . . . . . . . . . : 192.168.1.1
   DHCP 服务器 . . . . . . . . . . . : 192.168.1.1
   DHCPv6 IAID . . . . . . . . . . . : 405845150
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-20-8C-5C-4F-FC-AA-14-03-EC-36
   DNS 服务器  . . . . . . . . . . . : 192.168.1.1
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用


Mac用户获取DNS服务器地址
如果你是Mac用户则可以通过, 界面的形式获取DNS服务器地址, 因为在终端下是显示不出来的, 如果你有办法可以在终端下显示出来请不要吝啬给我留言好了,谢谢!
系统偏好设置->网络->高级->DNS


修改网卡设备配置文件

添加DNS服务器地址到网卡设备配置文件, 添加结果如下所示

vi /etc/sysconfig/network-scripts/ifcfg-ens33

DNS1=127.207.160.106
DNS2=219.239.26.42

保存退出, 重启网卡设备

[root@localhost ~]# systemctl restart network

现在你再去 ping 淘宝的域名 taobao.com 就是OK!

[root@localhost ~]# ping taobao.com


最终网卡设备配置详情表
[root@localhost rock]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
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
NAME=ens33
UUID=f63366f7-1dbf-4725-9d3b-db654bd9c78b
ONBOOT=yes

IPADDR=192.168.31.128   # 与VMnet8所在的网段一致
NETMASK=255.255.255.0
GATEWAY=192.168.31.2    # NAT设置中的网关
DNS1=192.168.1.1

PREFIX=24
IPV6_PRIVACY=no

安装辅助工具包

安装 wget 下载工具

[root@locahost ~] yum install -y wget

-y 参数是遇到询问时一侓同意

wget 安装完成后你就可以通过它下载你想下载的内容了, 比如你要下载一账MM图片, 就可以这么做:

找到想要下载的MM图片资源

右键复制图片地址

下载资源下本地
[root@locahost ~]# wget -O duanfamm.jpg -c 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1510489141277&di=10bdf080b2d210fa55b5874f84dab96a&imgtype=0&src=http%3A%2F%2Fp3.wmpic.me%2Farticle%2F2016%2F06%2F29%2F1467184706_GzGPwLch.jpg'

在上图的 terminal 中可以看到图片下载成功并重命名, 关于更多 wget 用法的详情请参考: wget使用详情

参数说明:
-O 下载到指定目录
-c 断点续传


安装 net-tools 工具包

net-tools 工具包, 包含以下命令:arp, hostname, ifconfig, ipmaddr, iptunnel, mii-tool, nameif, netstat, plipconfig, rarp, route und slattach. 
关于 net-tools 更多的详情信息请参考: net-tools详情

当然了话又话说回来,如果你也不知道使用的工具命令在哪个包下, 可以通过下面的方式去获得包名, 通过包名去安装, 就可以使用你想要使用的工具命令了, 
就好比说你现在要使用 ipconfig 这个命令

[root@localhost ~]# ifconfig

可能会得到这么一个结果:

command not found

那么你可能使用通过 yum 软件包管理工具进行安装:

[root@localhost ~]# yum install -y ifconfig

很不幸你会得到这么一个结果:

没有可用的 ifconfig 包, 那这个时候你就要通过:

yum whatprovides package_name

来查找包名了, 如现在要查找 ifconfig 这个命令, 具体包含在哪个包里就可以这么做:

[root@localhost ~]# yum whatprovides ifconfig


你可能会看到这样的结果, 你觉得我在逗你玩呢?我可没有那功夫哈! 原因是CentOS在 yum 源在国内使用非常不稳定, 建议更新为国内的 yum 源, 比如 阿里 或是 网易


更新 yum 源

更新 CentOS7 默认 yum 源, 需要以下几个步骤:

备份当前系统默认 yum 源配置文件

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

查看当前 CentOS7 版本号

[root@localhost ~]# cat /etc/centos-release


到阿里云开源镜像站找到对应的 yum 源版本,详情参考: 阿里yum源 网易yum源

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清除所有yum源缓存文件

[root@localhost ~]# yum clean all

生成yum源缓存

[root@localhost ~]# yum makecache

现在的话你就可以通过:

[root@localhost ~]# yum whatprovides ifconfig

找到是 net-tools 这个包啦!

[root@localhost ~]# yum install -y net-tools


使用 ifconfig 查看网卡配置信息

[root@localhost ~]# ifconfig


从上图可以看出:

ip: 192.168.1.111
子网掩码: 255.255.255.0
广播地址:192.168.1.255
网关地址:192.168.1.1 [这个没有显示出来]

你记住一点就好了, 如果是一台路由, 那么 192.168.1.2 ~ 192.168.1.254 是可用的, 剩下的呢, 192.168.1.1 就是网关地址, 192.168.1.255 就是广播地址, 
在网卡配置时, 广播地址是你不用配置的, 你要配置的是网关地址/IP/子网掩码, 就酱!


参考 https://segmentfault.com/a/1190000011954814

你可能感兴趣的:(CentOS7)