linux的网络配置

1.什么是IP ADDRESS

IP地址(Internet Protocol Address)被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。

inInternet Protocol Address     ##网络进程地址

ipv4   internet protocol version  4

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。 IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。

11111110.11111110.11111110.11111110=254.254.254.254

2.子网掩码

子网掩码(subnet mask)又叫网络掩码地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址主机地址两部分。

对于A类地址来说,默认的子网掩码是255.0.0.0;

对于B类地址来说默认的子网掩码是255.255.0.0;

对于C类地址来说默认的子网掩码是255.255.255.0。


子网掩码非0的位对应的数字表示这个ip的网络位
子网掩码0位对应的数字是ip的主机位
网络位表示网络区域
主机位表示网络区域里某台主机

3.ip通信判定

网络位一致,主机位不一致的2个IP可以直接通讯
172.25.254.77/24  24=255.255.255.0
172.25.254.100/24
172.25.0.1/16(在这里说一下,范围大的ip会ping上范围小的ip,但相反的情况不一定能ping成功。且范围大的网络不稳定)

linux的网络配置

4.网络设定工具

1.ping         ##检测网络是否通常
2.ifconfig    ##查看或设定网络接口
ifconfig    ##查看

linux的网络配置

ifconfig  网卡 ip netmask 子网掩码(可有可无)    ##临时设定ip
ifconfig   device down     ##关闭
ifconfig   device  up       ##开启                                        ( device就是网卡,例如eth0)

临时设定后覆盖原来的ip,会直接生效。若要使用原来的ip,需要重启网络

systemctl restart network

linux的网络配置

3.ip  addr              ##检测或设定网络接口
ip  addr  show    ##检测
ip  addr add ip/24    dev device  设定

例:给eth0添加一个ip为172.25.254.101/24

注意:device 的名字是一个物理事实,看到什么名字只能用什么名字

5.配置ip

1.图形界面

nm-connection-editor

例:配一个ip为172.25.254.200的网络

1)输入命令nm-connection-editor,选定原来的,然后点击delete

linux的网络配置

2)点击Add添加。这里将默认选择Ethernet,在点击Create

linux的网络配置linux的网络配置

3)在最上方填入名称,这里以eth0为例,再选择Device MAC Adress,

linux的网络配置

4)更改IPv4 Settings 信息,在Method 那项选择 Manual  再点击下方Add

填入相应信息,网关(gateway)可以不填,但需要在那里点一下,然后选择最后的保存即可。

linux的网络配置

linux的网络配置linux的网络配置

5)检测:出现此情况就说名成功了

linux的网络配置

2.文本化图形配置ip

nmtui

例:设置一个ip为172.25.254.110

1)输入命令   nmtui,选择 Edit a connection(此处可用“tab,上,下进行选择”),按下回车,将原来的ip删掉,再选择Add进行添加。选择默认的enternet,在选择create

linux的网络配置
linux的网络配置linux的网络配置

2)填入profile name :westos(我以westos为例),device:eth0。在ipv4处,将后面的automatic回车后,选择manual

linux的网络配置

3)选择ipv4 后的show,填入相应的内容,如果不上网,geteway可以不填,完后选择最下方ok,推出即可

linux的网络配置
linux的网络配置

4)测试 ping 172025.254.110

linux的网络配置

3.命令方式设定网络

若要用此方法配置需要先搭建好实验环境,如下操作:

systemctl stop NetworkManager
systemctl restart network
systemctl start NetworkManager

 

nmcli  若要启用此服务, ##NetworkManger 必须开启(上边的命令)
nmcli  device  connect  eth0         ##启用eth0网卡
nmcli  device  disconnect  eth0    ##关闭eth0网卡

linux的网络配置
nmcli  device  show   eth0 (if-name)   ##查看网卡信息
nmcli  device  status  eth0    ##查看网卡服务接口信息

linux的网络配置

nmcli connection delete westos                             #删除westos链接
nmcli connection down  westos (con-name)                            #关闭指定链接
nmcli connection up westos                                   #开启指定链接

nmcli connection show                            #显示所有网络链接

linux的网络配置

nmcli connection modify "westos" ipv4.addresses newip/24        #改变wetos的ip  (这里,我将ip改为了172.25.254.200)

linux的网络配置
nmcli connection modify "westos" ipv4.method <auto|manual> #改变westos的工作方式为动态或者静态

nmcli connection add type ethernet con-name westos ifname eth0 autoconnect yes    #添加dhcp网络
nmcli connection add type ethernet con-name westos ifname eth0 ip4 ip/24                        #添加静态网络

4.ifconfig临时设定

ifconfig  网卡 ip netmask 子网掩码(可有可无)    ##临时设定ip

6.管理网络配置文件

网络配置目录--------/etc/sysconfig/network-scripts/


网络配置文件命名规则
ifcfg-xxxx
DEVICE=xxx     ##设备名称
BOOTPROTO=dhcp|static|none
ONBOOT=yes    ##网络服务开启时自动**网卡
IPADDR=xxx       ##IP地址
PREFIX=24        ##子网掩码
NETMASK=255.255.255.0  ##子网掩码(PREFIX=NETMASK)
NAME=xxx      ##接口名称

示例:静态网络设定文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0     /进去后文件是空的,需要编写相应的配置文件。

linux的网络配置

这里我以配置一个静态网络为例

##ifcfg-xxxx

执行命令:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes    
IPADDR=172.25.254.130    
PREFIX=24    
NAME=wen

linux的网络配置

完事需要重启network
systenctl restart network,这时重新查看就发现已经成了自己设置的样子。

linux的网络配置

7.lo回环接口

回环接口———相当于—————人的神经

回环接口是些逻辑的接口,即虚拟的软件接口,它们并不是真正的路由器接口。在ospf路由协议中配置使用回环接口是为了确保在ospf进程中总有一个**的接口,回环接口可以用于ospf的配置和诊断
127.0.0.1

linux的网络配置

8.网关

大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway) 就是一个网络连接到另一个网络的“关口”。也就是网络关卡

网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连 。

【说明:由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用都是路由来接入网络,因此通常指的网关就是路由器的IP!】

OSI中,网关有两种:一种是面向连接的网关,一种是无连接的网关。当两个子网之间有一定距离时,往往将一个网关分成两半,中间用一条链路连接起来,我们称之为半网关。

按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。

那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络A向网络B转发数据包的过程。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之 间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的 服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

在和 Novell NetWare 网络交互操作的上下文中,网关在 Windows 网络中使用的服务器信息块 (SMB) 协议以及NetWare网络使用的 NetWare 核心协议 (NCP) 之间起着桥梁的作用。网关也被称为 IP路由器。

1.把真实主机变成路由器    (虚拟机能够上网)

在真实主机内,执行以下命令
systemctl stop libvirtd.service
systemctl restart firewalld.service
 systemctl start libvirtd.service
#firewall-cmd --list   (执行此命令时发现伪装功能并为开启)
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
firewall-cmd --list-all

[[email protected] ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: br0 enp2s0 wlp3s0
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: yes    <地址伪装功能开启,真实主机变成路由器>
  forward-ports:
  sourceports:
  icmp-blocks:
  rich rules:

2.设定虚拟机网关

1)在想上网的虚拟机中,执行 vim /etc/sysconfig/network     ##全局网关,针对所有没有设定网关的网卡生效

写入配置文件 :GATEWAY=172.25.254.77

linux的网络配置

重启网络:systemctl restart network,  再 route -n  这时会发现网关已经添加了。

linux的网络配置

linux的网络配置

2)vim /etc/sysconfig/network-scripts/ifcfg-eth0  添加配置文件            ##此种方式只针对某个网关。

GATEWAY0=172.25.254.77  ##当网卡中设定的IP有多个时,指定对于那个IP生效
GATEWAY1=172.25.254.77   ##当网卡中设定IP只有一个网卡时,
systemctl restart network

linux的网络配置

3.虚拟机网卡有问题时需要重置

1)真机中 virt-manager

2)选择像灯泡的东西,将原来的网卡删除,

linux的网络配置

linux的网络配置

3)添加新的网卡,在左边的那一栏选择Network, 将Device model 选项改为virtio集完成了网卡的重置。

linux的网络配置
linux的网络配置

linux的网络配置

4)内核不支持虚拟机与真机通信时

在虚拟机中,执行sysctl -a | grep ip_forwad,若出现=0,再执行vim /etc/sysctl.conf,加入配置文件net.ipv4.ip_forward = 1,用命令sysctl  -a 查看是否更改成功。

linux的网络配置

linux的网络配置

9.DNS服务

DNS 是计算机域名系 统 (Domain Name System 或Domain Name Service) 的,缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域 名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式: 主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上域名与IP地址之间是一对一(或者多对一)的,也可采用 DNS轮循实现一对多,域名虽然便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完 成,DNS就是进行域名解析的服务器。DNS 命名用于 Internet等 TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP.

domain name server ==域名解析服务    ##解析就是把域名变成IP

1)在虚拟机中,
vim /etc/hosts        ##本地解析文件
ip   +  域名   ##自己知道的
例:这里我知道www.baidu.com 的ip为220.181.57.216

220.181.57.216   www.baidu.com

 2)vim /etc/resolv.conf    ##DNS的指向文件
nameserver 114.114.114.114    ##当需要某个域名的IP地址时去问114.114.114.114

linux的网络配置

vim /etc/sysconfig/network-scripts/ifcfg-xxxx(eth0)
添加   DNS1=114.114.114.114          ##网卡内设置,永久性设置

linux的网络配置

 

注意:
当网络工作模式为dhcp时
系统会自动获取ip网关DNS
那么/etc/resolv.conf 会被获得到的信息修改
如果不需要获得DNS信息
在网卡配置内加入
PREEDNS=no

10.设定dns解析的优先级

默认情况下/etc/hosts 中的 优先于 /etc/resolv.conf,但这个优先级不是一成不变的,可以更改下列配置文件中的39行内容的顺序实现更改优先级。

vim /etc/nsswitch.conf
 38 #hosts:     db files nisplus nis dns
 39 hosts:      files dns                   ##files代表本地解析文件,dns代表dns服务器,那个在前面那个优先

11.dhcp服务

做实验前要将两台虚拟机重置

1)环境配置

在服务器中设置(静态网):vim /etc/sysconfig/network-scripts/ifcfg-eth0

linux的网络配置
重启网络:  systemctl restart network
配置内部文件: vim /etc/yum.repos.d/rhel_dvd.repo,如下图

linux的网络配置

yum clean all

ping 172.25.254.150

执行 yum repolist list命令时,可能会出现报错


[[email protected] ~]# ^C
[[email protected] ~]# yum repolist list
Loaded plugins: langpacks
Existing lock /var/run/yum.pid: another copy is running as pid 2156.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: PackageKit
    Memory : 101 M RSS (503 MB VSZ)
    Started: Thu Jul 26 21:03:32 2018 - 25:47 ago
    State  :“”“ Sleeping, pid: 2156”“”   ###若出现这种情况,需要用kill -9 2156 命令
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: PackageKit
    Memory : 101 M RSS (503 MB VSZ)
    Started: Thu Jul 26 21:03:32 2018 - 25:49 ago
    State  : Sleeping, pid: 2156

yum repolist list不报错时,

yum repolist

出现下图情况时,说明环境已配好

linux的网络配置
  

   

2)软件安装

yum install dhcp -y
vim /etc/dhcp/dhcpd.conf   

linux的网络配置 

可以看到配置文件中有#see /usr/share/doc/dhcp*/dhcpd.conf.example
我们需要将其复制到自己的文件下,cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

这时再查看配置文件  vim /etc/dhcp/dhcpd.conf,我们发现如下图样子,说明软件已安装成功

linux的网络配置


3)更改配置文件

vim /etc/dhcp/dhcpd.conf   作如下操作

35行以后删除  
27,28行删除
7行   域名                                      #7 option domain-name "wen.org";(可以自己设置名字)
8行   dns                                        #8 option domain-name-servers 114.114.114.114;

10行  默认租约                             #10 default-lease-time 600;
11行  最长租约                             #11 max-lease-time 7200;

30行  子网设定                             #subnet 172.25.254.0 netmask 255.255.255.0 {
31行  ip地址池                              #31   range 172.25.254.40 172.25.254.100;
32行  客户主机能获得的网关     #32  option routers 172.25.254.30;

linux的网络配置

退出保存后重启dhcpd
systemctl restart dhcpd

关闭火墙
systemctl stop firewalld.service


4)测试

在网络工作模式是dhcp的主机中重启网络可以看到ip,gateway,dns

linux的网络配置

在服务端:通过mac地址查看将ip分给谁  『mac 线路仲裁(全球唯一)』
cat /var/lib/dhcpd/dhcpd.leases

linux的网络配置

在网络工作模式是dhcp的主机中

cat /var/log/messages      可以通过日志查看从哪里获得的地址