

# 1.什么是IP
**IP地址是[IP协议](https://baike.baidu.com/item/IP/224599?fromtitle=IP%E5%8D%8F%E8%AE%AE&fromid=131947)提供的一种统一的[地址格式](https://baike.baidu.com/item/%E5%9C%B0%E5%9D%80%E6%A0%BC%E5%BC%8F/53569124)，它为互联网上的每一个网络和每一台[主机](https://baike.baidu.com/item/%E4%B8%BB%E6%9C%BA/455151/)分配一个[逻辑地址](https://baike.baidu.com/item/%E9%80%BB%E8%BE%91%E5%9C%B0%E5%9D%80/3283849)，以此来屏蔽[物理地址](https://baike.baidu.com/item/%E7%89%A9%E7%90%86%E5%9C%B0%E5%9D%80/2901583)的差异**



**<font color='red'>IP地址的作用</font>**
**网络上有许多的设备和主机，IP地址被用来标识网络上设备，以在两个设备之间实现数据的传输。**
**通信设备要基于目标地址进行路径选择**
**常见的是<font color='red'>ipv4</font>和<font color='red'>ipv6</font>**
**IPv4地址共32bit,用点分十进制表示，分为四段，每段8bit**
**<font color='red'>点分十进制：采用点将32位数字进行分割为4段，每段8位的二进制数，但二进制数不便于记忆，因些转换为10进制数显示，即点分十进制</font>**

**传统的TCP/IP协议基于[IPV4](https://baike.baidu.com/item/IPv4)属于第二代互联网技术，核心技术属于美国。它的最大问题是网络地址资源有限，从理论上讲，编址1600万个网络、40亿台主机。但采用A、B、C三类编址方式后，可用的网络地址和主机地址的数目大打折扣，以至IP地址已经枯竭。其中北美占有3/4，约==30亿==个，而人口最多的亚洲只有==不到4亿==个，中国截止2010年6月IPv4地址数量达到2.5亿，落后于4.2亿网民的需求。**
**ipv6 128bit  以冒号十六进制表示，可以兼容ipv4
inet6 fe80::5054:ff:fe00:a 64**

**IP地址分<font color='red'>网络部分</font>和<font color='red'>主机部分</font>**
**网络部分用来标识一个网络，主机部分唯一的标识这个网络中的其中一台主机**

**IP 地址分类**
**IP 地址分 5 类，常见的地址是 A、 B、 C 三类**
**<font color='red'>A 类地址</font>:范围从 0-127， 0 是保留的并且表示所有 IP 地址，而 127也是保留的地址，并且是用于测试回环地址用的。因此 A 类地址的可用的范围其实是从 1-126 之间。以子网掩码来进行区别： 255.0.0.0.
<font color='red'>B 类地址</font>：范围从 128-191，如 172.168.1.1，以子网掩码来进行区别： 255.255.0.0
<font color='red'>C 类地址</font>：范围从 192-223，以子网掩码来进行区别： 255.255.255.0
<font color='red'>D 类地址</font>：范围从 224-239，被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机，它标识共享同一协议的一组计算机。 
<font color='red'>E 类地址</font>：范围从 240-254，为将来使用保留**

**ABC 3 类中私有 IP 地址范围：**
**A： 10.0.0.0--10.255.255.255 /8
B: 172.16.0.0--172.31.255.255 /16
C: 192.168.0.0--192.168.255.255 /24**



**<font color='red'>127.0.0.1表示回环地址，进行测试使用，发送到127.0.0.1的数据或者从127.0.0.1返回的数据只会在本机进行传输, 而不进行外部网络传输;当我们可以ping通127.0.0.1的时候, 则说明本机的网卡以及tcp/ip协议被正确安装了
0.0.0.0的网络地址代表所有网络
255.255.255.255的网络地址代表全网的广播地址</font>**


---

---
# 2.划分子网掩码

**子网掩码只有一个作用，就是将某个IP地址划分成网络地址和主机地址两部分。
对于A类地址来说，默认的子网掩码是255.0.0.0；对于B类地址来说默认的子网掩码是255.255.0.0；对于C类地址来说默认的子网掩码是255.255.255.0。**
- **通过子网掩码，就可以判断两个IP在不在一个网段里**
- **子网掩码可以看出有多少位是网络号，有多少位是主机号**


---

---
# 3.通信类型
**1)、单播（点到点）
就是点到点的通讯，类似A-B的通信方式
2)、组播(多播)
也是一对多的方式，但是可以根据需要进行接收，如果不想接收可以进行过滤掉
3)、广播（广播域）
在一定的范围内，所有成员都会收到的信息，称为广播信息，并且每个成员都要收取，都要进行处理**


---

---
# 4.什么是网关
**网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连，是最复杂的网络互连设备，仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似，不同的是互连层。网关既可以用于广域网互连，也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言，甚至体系结构完全不同的两种系统之间，网关是一个翻译器。与网桥只是简单地传达信息不同，网关对收到的信息要重新打包，以适应目的系统的需求。同时，网关也可以提供过滤和安全功能。**


---

---
# 5.网卡的命名规则
**==CENTOS6== 的网卡命名方式：它会根据情况有所改变而非唯一且固定，在 CENTOS6 之前，网络接口使用连续号码
命名： eth0、 eth1 等,当增加或删除网卡时，名称可能会发生变化**

**==CENTOS7==采用 dmidecode 采集命名方案，以此来得到主板信息；它可以实现网卡名字永久唯一化（ dmidecode
这个命令可以采集有关硬件方面的信息）
对网络设备的命名方式：**
**1）如果 Firmware（ 固件） 或 BIOS 为主板上集成的设备提供的索引信息可用，且可预测则根据此索引进行命名，例如:
ifcfg-ens33
2） 如果 Firmware（ 固件） 或 BIOS 为 PCI-E 扩展槽所提供的索引信息可用，且可预测，则根据此索引进行命名，例
命名，例如:ifcfg-enp33
3）如果硬件接口的物理位置信息可用，则根据此信息进行命名，例如 enp2s0，上述均不可用时，则使用传统命名机制。**

**扩展：**
**在 CENTOS7 中， en 表示： ethernet 以太网，就是咱们现在使用的局域网
enX(X 常见有下面 3 种类型) ：
o：主板板载网卡，集成设备的设备索引号。 如果
p：独立网卡， PCI 网卡
s：热插拔网卡， usb 之类，扩展槽的索引号
nnn (数字)表示： MAC 地址+主板信息计算得出唯一的序列**



---

---
# 6.查看当前linux网络节点名

    [root@exercise1 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:51:bc:aa brd ff:ff:ff:ff:ff:ff
        inet 192.168.119.149/24 brd 192.168.119.255 scope global dynamic ens33
           valid_lft 1261sec preferred_lft 1261sec
        inet6 fe80::d223:f0d0:c686:786f/64 scope link 
           valid_lft forever preferred_lft forever
    [root@exercise1 ~]# 


​    
​    
​    
    [root@exercise1 ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.119.149  netmask 255.255.255.0  broadcast 192.168.119.255
            inet6 fe80::d223:f0d0:c686:786f  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:51:bc:aa  txqueuelen 1000  (Ethernet)
            RX packets 14610  bytes 15802742 (15.0 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 4865  bytes 754903 (737.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 708  bytes 39884 (38.9 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 708  bytes 39884 (38.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    [root@exercise1 ~]# 
**<font color='red'>ip a 等同于 ifconfig</font>**
**<font color='red'>检查网卡设备是否连接正常</font>**
    
    [root@exercise1 ~]# mii-tool ens33
    ens33: negotiated 1000baseT-FD flow-control, link ok
    [root@exercise1 ~]# 


---

---
# 7.ifconfig 命令使用方法
**注意：下面操作使用 root 用户<font color='red'>（动态修改）</font>**

**命令： ifconfig**
**作用：用来配置网络或显示当前网络接口的状态**

    [root@exercise1 ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
            inet 192.168.1.63 netmask 255.255.255.0 broadcast 192.168.1.255
            inet6 fe80::c09d:975d:89cd:fd3f prefixlen 64 scopeid 0x20<link>
            ether 00:0c:29:02:83:db txqueuelen 1000 (Ethernet)
            RX packets 3255 bytes 4458479 (4.2 MiB)
            RX errors 0 dropped 26 overruns 0 frame 0
            TX packets 1130 bytes 81645 (79.7 KiB)
            TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
**上面信息大概说明：**
**第一行： 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;up-->网卡开启状态
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BROADCAST-->支持广播
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUNNING-->网线处理连接状态
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MULTICAST-->支持组播
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mtu 1500-->（ Maximum Transmission Unit）最大传输单元大小为 1500 字节**
**第二行：该网卡的 IP 地址，子网掩码，广播地址**
**第三行： IPV6 的配置信息**
**第四行：网卡的MAC地址&nbsp;&nbsp;&nbsp;ether&nbsp;&nbsp;表示连接类型为以太网&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;txqueuelen 1000 ==> 传输队列的 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;长度**
**第五六行：网卡接收数据包的统计信息和接收错误的统计信息**
**第七八行：网卡发送数据包的统计信息和发送错误的统计信息**

---

---
# 8.如何去启停服务
**==Centos7:==**
**重新加载配置文件：systemctl reload XXX服务**
**启动一个服务：systemctl start firewalld**
**关闭一个服务：systemctl stop firewalld**
**重启一个服务：systemctl restart firewalld**
**显示一个服务的状态：systemctl status firewalld**
**在开机时启用一个服务：systemctl enable firewalld**
**在开机时禁用一个服务：systemctl disable firewalld**
**查看服务是否开机启动：systemctl is-enabled firewalld**
**查看已启动的服务列表：systemctl list-unit-files|grep enabled**



**==Centos6:==**
**启动一个服务：service network start**
**关闭一个服务：service network stop**
**重启一个服务：service network restart**
**显示一个服务的状态：service network status**

---

---
# 9.临时修改 IP 地址
**<font color='red'>方法 1：临时修改网卡 IP 地址</font>**
**ifconfig 网卡名称 IP 地址 ---直接修改网卡的 IP 地址，重启失效**

    [root@exercise1 ~]# ifconfig ens33
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.119.149  netmask 255.255.255.0  broadcast 192.168.119.255
            inet6 fe80::d223:f0d0:c686:786f  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:51:bc:aa  txqueuelen 1000  (Ethernet)
            RX packets 14781  bytes 15817492 (15.0 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 5004  bytes 767211 (749.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    [root@exercise1 ~]# ifconfig ens33 192.168.1.130 netmask 255.255.255.0
**<font color='red'>说明：修改后当前终端会终断，需要重新使用新的 IP 地址进行连接</font>**
![ifconfig.png](https://s2.loli.net/2022/02/07/Pk8pxqoFhBERr1l.png)

    [root@exercise1 ~]# systemctl restart network   #重启网卡
    [root@exercise1 ~]# ifconfig ens33
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.119.149  netmask 255.255.255.0  broadcast 192.168.119.255
            inet6 fe80::d223:f0d0:c686:786f  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:51:bc:aa  txqueuelen 1000  (Ethernet)
            RX packets 14781  bytes 15817492 (15.0 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 5004  bytes 767211 (749.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

**<font color='red'>方法 2： 添加多个临时 IP 地址</font>**
**<font color='red'>ifconfig 网卡名称:0 第一个 IP 地址 （ netmask 子网掩码） ---增加一个 IP</font>**
**<font color='red'>ifconfig 网卡名称:1 第二个 IP 地址 （ netmask 子网掩码） ---增加一个 IP</font>**

    [root@exercise1 ~]# ifconfig ens33:0 192.168.1.140 netmask 255.255.255.0 up
    (up:启动，down:关闭)


​    
​    
    [root@exercise1 ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.119.149  netmask 255.255.255.0  broadcast 192.168.119.255
            inet6 fe80::d223:f0d0:c686:786f  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:51:bc:aa  txqueuelen 1000  (Ethernet)
            RX packets 189  bytes 18392 (17.9 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 145  bytes 16275 (15.8 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.140  netmask 255.255.255.0  broadcast 192.168.1.255
            ether 00:0c:29:51:bc:aa  txqueuelen 1000  (Ethernet)
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 48  bytes 3584 (3.5 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 48  bytes 3584 (3.5 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    [root@exercise1 ~]# 

**<font color='red'>删除临时 IP</font>**

    [root@exercise1 ~]# ifconfig ens33:0 del 192.168.1.140


​    
​    
    [root@exercise1 ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.119.149  netmask 255.255.255.0  broadcast 192.168.119.255
            inet6 fe80::d223:f0d0:c686:786f  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:51:bc:aa  txqueuelen 1000  (Ethernet)
            RX packets 280  bytes 25980 (25.3 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 201  bytes 23025 (22.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 50  bytes 3694 (3.6 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 50  bytes 3694 (3.6 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    [root@exercise1 ~]# 


---
**<font color='red'>互动：如何永久添加多个IP地址?</font>**
**往<font color='red'>/etc/sysconfig/network-scripts/ifcfg-ens33</font>配置文件里添加以下内容：**
**IPADDR1=192.168.1.140
PREFIX1=24
IPADDR2=192.168.1.150
PREFIX2=24**
**重启网络服务:**

    [root@exercise1 ~]# systemctl restart network
    [root@exercise1 ~]# ip a show ens33


---

---
# 10.网络相关配置文件

**[root@exercise1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#网卡配置文件名后缀与网卡节点名一致(方便查找)**
    
    
    
**[root@exercise1 ~]# vim /etc/resolv.conf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#配置DNS和搜索域(<font color='red'>也可直接在网卡配置文件中指定DNS</font>)**
    
    
    
**[root@exercise1 ~]# vim /etc/hosts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#主机A记录(<font color='red'>当访问域名时默认首先找本机A记录 如果A记录中没有再查询DNS</font>)**
    
    
    
**[root@exercise1 ~]# vim /etc/hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#设置主机名**

---

---
# 11.NeworkManager 概述与如何修改网卡配置文件
**NeworkManager 服务是管理和监控网络设置的守护进程， CENTOS7 更加注重使用 NetworkManager 服务来实现
网络的配置和管理， 7.0 以前是通过 network 服务管理网络，以后的版本，所有网络管理和设置统一由
NetworkManager 服务来维护。它是一个动态的，事件驱动的网络管理服务。**

    [root@exercise1 ~]# systemctl status NetworkManager   #查看 networkmanager 服务是是否启动
    ● NetworkManager.service - Network Manager
       Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
       Active: active (running) since 一 2022-02-07 13:58:13 CST; 14min ago
         Docs: man:NetworkManager(8)
     Main PID: 568 (NetworkManager)
       CGroup: /system.slice/NetworkManager.service
               ├─568 /usr/sbin/NetworkManager --no-daemon
               └─692 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens33.pid -lf /var/l...
    
    2月 07 14:10:41 exercise1 dhclient[692]: DHCPREQUEST on ens33 to 192.168.119.254 port 67 (xid=0x5d7aadfb)
    2月 07 14:10:41 exercise1 dhclient[692]: DHCPACK from 192.168.119.254 (xid=0x5d7aadfb)
    2月 07 14:10:41 exercise1 NetworkManager[568]: <info>  [1644214241.1633] dhcp4 (ens33):   address 192.168.119.149
    2月 07 14:10:41 exercise1 NetworkManager[568]: <info>  [1644214241.1636] dhcp4 (ens33):   plen 24 (255.255.255.0)
    2月 07 14:10:41 exercise1 NetworkManager[568]: <info>  [1644214241.1636] dhcp4 (ens33):   gateway 192.168.119.2
    2月 07 14:10:41 exercise1 NetworkManager[568]: <info>  [1644214241.1636] dhcp4 (ens33):   lease time 1800
    2月 07 14:10:41 exercise1 NetworkManager[568]: <info>  [1644214241.1636] dhcp4 (ens33):   nameserver '192.1...9.2'
    2月 07 14:10:41 exercise1 NetworkManager[568]: <info>  [1644214241.1636] dhcp4 (ens33):   domain name 'loca...ain'
    2月 07 14:10:41 exercise1 NetworkManager[568]: <info>  [1644214241.1636] dhcp4 (ens33): state changed bound...ound
    2月 07 14:10:41 exercise1 dhclient[692]: bound to 192.168.119.149 -- renewal in 858 seconds.
    Hint: Some lines were ellipsized, use -l to show in full.
    [root@exercise1 ~]# 
**永久修改网卡地址：**

**<font color='red'>方法 1</font>：使用 nmtui 文本框方式修改 IP(<font color='red'>需要启动NetworkManager服务</font>)**

    [root@exercise1 ~]# nmtui
    添加 IP 地址
    注：把光标移到编辑连接，点“确定”，进行修改，然后保存。
**重启网卡服务生效：**

    [root@exercise1 ~]# systemctl restart network   ---重启服务

**<font color='red'>方法 2：通过修改网卡配置文件改 IP 地址</font>**

    [root@exercise1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
**TYPE=Ethernet
<font color='red'>BOOTPROTO=none #等号后面写： dhcp表示动态获取 IP 地址， static表示静态 IP，none表示不指定，默认静态</font>。
DEFROUTE=yes
<font color='red'>NAME=ens33 #网卡名</font>
UUID=50eff37c-72b4-407a-a3ee-9ef8ca746b95
<font color='red'>DEVICE=ens33
ONBOOT=yes
DNS1=8.8.8.8
DNS2=192.168.1.1
NETMASK=255.255.255.0
IPADDR=192.168.1.222
PREFIX=24
GATEWAY=192.168.1.2</font>**



**参数说明：**
**DEVICE：此配置文件应用到的设备
HWADDR：对应的设备的 MAC 地址
DEFROUTE:是否可以成为路由
BOOTPROTO：激活此设备时使用的地址配置协议，常用的 dhcp, static, none,bootp
NM_CONTROLLED： NM 是 NetworkManager 的简写，此网卡是否接受 NM 控制；建议 CentOS6 为“no”
ONBOOT：在系统引导时是否激活此设备
TYPE：接口类型；常见有的 Ethernet, Bridge
UUID：设备的唯一标识
IPADDR：指明 IP 地址
NETMASK：子网掩码
GATEWAY: 默认网关
DNS1：第一个 DNS 服务器指向
DNS2：第二个 DNS 服务器指向
USERCTL：普通用户是否可控制此设备
IPV4_FAILURE_FATAL 如果为 yes，则 ipv4 配置失败禁用设备,默认是no 
HDWADDR=00:50:56:37:48:df   指定硬件地址(<font color='red'>与UUID有其一即可</font>   <font color='blue'>ip addr查看mac地址</font>)**


---

---
# 12.配置resolv.conf文件

    [root@exercise1 ~]# cat /etc/resolv.conf 
    # Generated by NetworkManager
    search localdomain
    nameserver 192.168.119.2
    [root@exercise1 ~]# 

**参数说明**
**search&nbsp;&nbsp;&nbsp;&nbsp;它的多个参数指明域名查询顺序。当要查询没有域名的主机，主机将在由search声明的域 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;中分别查找。**

**nameserver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;表明DNS服务器的IP地址。可以有很多行的nameserver，每一个带一个IP &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;地址。在查询时就按nameserver在本文件中的顺序进行，且只有当第一个 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nameserver没有反应时才查询下面的nameserver**



**系统后默认网络由NetworkManager管理, 而==NetworkManager== 或 ==network== 实现网络重启时会修改 ==/etc/resolv.conf==文件**

**<font color='red'>解决方案 1:<NetworkManager管理时></font>**

    [root@exercise1 ~]# vim /etc/NetworkManager/NetworkManager.conf 
    [main]
        plugins=ifcfg-rh
        dns=none     ---增加该语句，对DNS不修改,但是 网卡配置文件中的DNS将无效
**重启服务无生效:systemctl restart NetworkManager**

**<font color='red'>解决方案 2:<network管理时></font>**
**在网卡配置文件中加入以下语句，<font color='blue'>同样修改后不可在网卡配置文件中指定DNS服务地址,指定无效</font>**
**<font color='red'>NM_CONTROLLED=no
    PEERDNS=NO</font>**

**<font color='red'>注意：网卡配置文件优先级比/etc/resolv.conf高</font>**

---

---
# 13.设置主机名

**临时设置：**

    [root@exercise1 ~]# hostname base

**永久设置：**

    [root@exercise1 ~]# vim /etc/hostname   #往文件里添加主机名



# 14.NetworkManager配置命令

在RHEL7中默认使用NetworkManager 守护进程来监控和管理网络设置。nmcli是命令行的管理NetworkManager的工具，会自动把配置写到/etc/sysconfig/network-scripts/目录下面。



1.查看网卡绑定信息
[root@teach ~]# nmcli connection  show 
NAME    UUID                                  TYPE                             DEVICE 
ens33   e1e92a60-31d9-4209-81b3-b00f32be2eee  802-3-ethernet  ens33 
nmcli connection  show = nmcli con show

2.查看网卡连接情况
[root@teach network-scripts]# nmcli d
设备   类型      状态    CONNECTION
ens33  ethernet  连接的  ens33
lo     loopback  未管理  --

2.创建新连接ens33-static，IP自动通过手动获取
con add — 添加新的连接
con-name -连接名
type – 设备类型
ifname – 接口名
autoconnect yes — 允许开机自动启动
gw4 192.168.88.2 –自己的网关
ipv4.dns 114.114.114.114  
[root@teach network-scripts]# nmcli con add con-name ens33-static ifname ens33 autoconnect yes type ethernet  ip4 192.168.1.150/16 gw4 192.168.1.2 
成功添加的连接 'ens33-static'（bb448ef2-d20a-48bb-911c-a06b746d1eb9）。
[root@teach network-scripts]# nmcli con show
名称             UUID                                                          类型                  设备
ens33          054e83e4-cd51-4f09-af1e-372119ae65e5      802-3-ethernet    ens33
ens33-static  bb448ef2-d20a-48bb-911c-a06b746d1eb9     802-3-ethernet    --
[root@teach network-scripts]# nmcli con up ens33-static
[root@teach network-scripts]#ping [www.baidu.com](http://www.baidu.com)

3.查看ens33-static IP
[root@teach network-scripts]#ifconfig

4.再次查看网卡连接情况
[root@teach network-scripts]# nmcli d
设备   类型      状态    CONNECTION
ens33  ethernet  连接的  ens33-static
lo     loopback  未管理  --

4.创建新连接ens33-dhcp，IP自动通过自动获取
[root@rhel7 ~]# nmcli con add con-name ens33-dhcp type ethernet ifname ens33 autoconnect no


5.取消ens33-static当前连接
[root@teach network-scripts]#nmcli con down ens33-static

6.启动ens33-dhcp链接
[root@teach network-scripts]#nmcli con up ens33-dhcp

删除ens33-static
[root@teach network-scripts]#nmcli con del ens33-static

7.修改现存的会话

1）、关闭会话ens33-static的自动连接（autoconnect）。

[root@teach network-scripts]# nmcli con modify  ens33-static connection.autoconnect no

2）、修改会话ens33-static的DNS服务器地址

[root@teach network-scripts]# nmcli con modify  ens33-static ipv4.dns 8.8.8.8

3）、有一些配置参数，是可以添加和删除的，比如使用+ 或 - 号在参数前面。比如添加第二个DNS服务器地址

[root@teach network-scripts]# nmcli con modify  ens33-static +ipv4.dns 8.8.4.4

4）、更换静态IP地址和默认网关。 

[root@teach network-scripts]# nmcli con modify ens33-static ipv4.addresses 192.168.0.120/24 ipv4.gateway 192.168.0.1

5）、添加第二个ip

[root@teach network-scripts]# nmcli con modify ens33-static  +ipv4.addresses 192.168.0.130/24 



 注意：nmcli con modify 修改的配置，会自动保存成配置文件，并且重启后依然有效，但是如果配置更改了，你需要从新激活一下，使新配置生效。

[root@teach network-scripts]# nmcli con up ens33-static





# 15.如何修改网卡名

注意：新手在修改网卡时可能存在误操作，建议vmware建立快照再进行相关改动


在RHEL/centos7中接口名称自动基于固件、拓扑结构和位置信息来确定，因此新的接口名称难以阅读，使用起来较为不便，因此我们将当前的网卡名ens33称改为熟悉的eth0

[root@teach network-scripts]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.105  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:fe34:a9b4  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:34:a9:b4  txqueuelen 1000  (Ethernet)
        RX packets 286  bytes 27700 (27.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 217  bytes 27756 (27.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

**1.首先将网卡配置文件名称重命名为eth0** <如果不期望更改会话名NAME=eth0无需改配置文件名 >
[root@mail network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@mail network-scripts]# cp ifcfg-ens33  ifcfg-eth0

**2.其次编辑修改后的网卡文件：vi  ifcfg-eth0 将NAME参数改为与网卡文件相同的名称：NAME=eth0**
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=e826347f-e428-4a7d-abbe-9e2bd4194a60
**DEVICE=eth0**
NAME=eth0
**HWADDR=00:0c:29:cd:b5:4d** 如果改名启动失败报链接错误 指定正确MAC地址  最好建议书写udev规则文件(rhel7的做法)
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

**3.接下来禁用网卡命名规则。此功能通过/etc/default/grub文件来控制，要禁用此次功能，在文件中加入"net.ifnames=0  biosdevname=0"即可**

```
RUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0  biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
```


4**.执行grub2-mkconfig  -o  /boot/grub2/grub.cfg命令生成更新grub配置参数**

[root@teach network-scripts]# grub2-mkconfig -o /boot/grub2/grub.cfg 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-d207c1569a794f2a836f878daa2f4e09
Found initrd image: /boot/initramfs-0-rescue-d207c1569a794f2a836f878daa2f4e09.img
done

5**.添加udev网卡规则**(rhel7的做法)
  在/etc/udev/rules.d目录中创建一个网卡规则70-persistent-net.rules文件。在文件中写入以下参数：

```
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="需要修改名称的网卡MAC地址",ATTR｛type｝=="1" ,KERNEL=="eth*",NAME="eth0"

```



**6.重启系统验证成功**





































































































</font>