Linux下的网络环境部署及DHCP服务器的搭建

Linux下的网络环境部署

部署网络的意义:只有配置好网络才能上网,计算机有网络才有意义,使得网络达到效果。

一、有关IP

  • ip address = internet protocol address 官方叫做网络进程地址

  • ipv4 = internet protocol version 4

  • tcp/ip协议实际上是个协议簇

  • TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。

  • TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层

  • ip地址32位,由32个0和1组成

  • 11111111.11111111.11111111.11111111==254.254.254.254

  • 每个IP地址长32bit,,0和1均是1比特bit;0|1=1bit 比特

  • 8个bit是1个字节byte;8bit=byte 字节

  • 日常快递的发送有两个重要的信息:什么地方(是一个集合)+什么人,对应在网络中,是网络位+主机位

    扫描二维码关注公众号,回复: 9662024 查看本文章
  • 一个网络地址由网络位(区域).主机位(哪个主机)构成,一共32位(二进制)

  • 怎么定义网络位和主机位,使用到子网掩码!

  • 子网掩码中1的个数对应表示网络位数,剩下的位数表示该网络区域的主机个数(表示网络位的开启用1表示,网络位不开启用0表示)

  • 若子网掩码为:11111111.11111111.00000000.00000000==255.255.0.0
    表示网络区域为前十六位,也就是IP地址的网络位为前16位,后16位是主机位。

  • 若子网掩码是255.255.0.0
    那么主机位为:254.254.0.1–254.254.254.253(共2^16-2)
    主机位全0没意义,主机位全1表示广播地址

  • 可直接通信的条件:同一个网络区域(网络位相同)的不同主机。不在同一区域,需要借助工具才能通信。

  • 172.25.254.1/24=172.25.254.1/255.255.255.0
    172.25.254.1表示 这个网络区域的第1个主机
    此ip可以通信的地址:例如172.25.254.10(网段为172.25.254即可)

扩展:ipv4和ipv6的区别(IPv6和IPv4都属于“互联网协议”)

  • 地址空间不同,IPv4中规定IP地址长度为32,而IPv6中IP地址的长度为128。
  • 安全性不同,IPv6的安全性更高,在使用IPv6网络中,用户可以对网络层的数据进行加密并对IP报文进行校验,这极大地增强了网络安全。
  • 协议扩充不同,IPv6允许协议进行扩充而IPv4不允许
  • IPv6的地址空间更大。
    (1)IPv4中规定IP地址长度为32,即有2^32-1个地址。
    (2)IPv6中IP地址的长度为128,即有2^128-1个地址。
  • IPv6使用新的头部格式,简化和加速了路由选择过程,因为大多数的选项不需要由路由选择。

实验一:关于IP命令

ip addr show 或者ifconfig 查看IP地址
ping 检测网络是否畅通
ping -c1 172.25.254.10 只ping 一次(但网络不存在时,要等很久)
ping -w1 172.25.254.10 ping时设定等待时间(网路不存在时)

查看网络状况
在这里插入图片描述
ping 192.168.43.11
ping -c1 192.168.43.11

在这里插入图片描述
ping -c1 192.168.43.12
ping -w1 192.168.43.12
ping -w5 192.168.43.12

在这里插入图片描述
实验二:临时设定ip地址

< ifconfig方式>

修改网络IP地址: ifconfig ens33 192.168.43.111 netmask 225.255.255.0
ip addr show ens33

在这里插入图片描述
< ip addr方式>
man ip addr 查看ip addr的用法
(1) ip addr del dev ens33 192.168.43.111/24 删除ip
在这里插入图片描述
(2) ip addr add dev ens33 192.168.43.11/24 添加ip
在这里插入图片描述
(3)** ip addr更改ip 需要先添加后删除。**

实验三:永久设定ip地址

  • 命令方式更改ip
  • 图形方式更改ip
  • 文件方式更改Ip

< 3.文件更改IP>
静态网络
(1) vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入配置文件,配置文件内容如下:
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.43.10
NETMASK=255.255.255.0
NAME=westos
(2)重启网络
rhel7:systemctl restart network
rhel8:systemctl restart NetworkManager
nmcli connection down 老的连接
nmcli connection up 新的连接
在这里插入图片描述
dhcp
(1) vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入配置文件,配置文件内容如下:
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp
NAME=westos
(2)重启网络
rhel7:systemctl restart network
在这里插入图片描述

二、dhcp服务器的搭建

实验思路:
1 配置静态网络
2 把光盘塞入光驱
3 df 查看光驱挂载位置
4进入  cd /run/media/root/RHEL-8-0-0-BaseOS-x86_64/BaseOS/Packages/
5 安装dhcp-server
ls dhcp-*
 rpm -ivh  dhcp-server-4.3.6-30.el8.x86_64.rpm
6启动服务
systemctl status dhcpd
启动失败 是因为配置文件没有配置
需要配置文件
配置目录:cd /etc/dhcp/
ls 显示文件 其中 dhcpd.conf是配置文件
编写配置文件
vim dhcpd.conf  是空的
7 生成配置文件
 cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
文件内容就存在了
 扩展  显示行号追加
第7行:域名设定
8行:dns
27 28 行需要删除
36行一下内容全部删除
32行网段  设定网段192.168.43.0  255.255.255.0
33 地址池  分配地址范围
34行网关   网关
所有的字段都要有分号
8 重启服务启动成功systemctl start dhcpd
9 测试:
7中配置dhcp网络 看能不能或得网络
7中:
删除网卡 ens33 就是改成dhcp服务
重启网络服务 restart network
ifconfig 看获得的范围是不是在设定内100-200
10.查看硬件地址验证实验结果

在这里插入图片描述
在这里插入图片描述

三、网关

  • 路由器上和客户主机处于同一个网段的ip叫做客户机主机的网关(核心词汇:路由器上的)
  • a主机:192.168.0.11 b主机:172.25.254.11
    ab 直接网线连接,是不可能直接通信的 因为不在一个网络区域。引入路由器 既能和a沟通,也能和b沟通
  • 网关:控制谁的数据包可以扔进来,可以扔进来的数据包,可以对他进行转换!
    路由器和主机处于同一个网络的网段叫做网关

图解路由器在这里插入图片描述

  • 若a主机有数据包要发送,因为主机a的地址是192.168.0.11,所以他的数据包的包头是192开头的。
  • 此数据包想发送到主机b,网线直接通信失败。引入路由器。
  • 将主机a和b接在同一个内核上,该内核具有内核路由功能,借助这个功能,192.168.0.1和172.25.254.1可以实现通信
  • 数据包可以传递到红色的网卡上,但包头仍然是192
  • 为了让它能和172.25.254.11通信,外层包裹了一层172.25.254.1(包裹了网卡地址),ab主机之间便可以完成通信

实验一:不同网段的主机实现通信

实验思路:
1 实验环境设置为:rhel7是路由器,实现真机和rhel8之间的通信
2在rhel7中设置:
第一步:添加两个网卡,一个可以实现和真机通信,一个实现和rhel8通信
(1)添加网卡,注意事项:桥接模式。添加后可以ifconfig查看
(2)文件设置静态ip 
(3)重启网路
第一步完成后,rhel7既能和真机通信以及和rhel8通信
第二步:rhel7开启路由功能
(1)查看路由功能是否开启sysctl -a |grep ip_forward
(2)可以看到net.ipv4.ip_forwadrd=0表示内核路由功能未开启
(3)开启路由功能,编辑文件vim /etc/sysctl.conf并写入net.ipv4.ip_forwadrd=0
(4)sysctl -p 开启。开启后设定更改立即生效
(5)查看路由功能是否开启sysctl -a |grep ip_forward
第三步:rhel7中打开地址伪装功能
(1)打开火墙
(2)查看命令 其中默认值为no (地址伪装功能未开启)
(3)执行命令(伪装功能打开) 
(4)重启
完成上述三个步骤rhel7双网卡主机开启路由器功能
第四步:测试
(1)rhel8中设定ip:172.25.254.10
(2)ping 192.168.0.3 测试能否和真实主机通信。测试结果为不能,因为没有添加网关。
(3)添加本机网关ip route add default via 172.25.254.100。(表示意思是有数据从这个网卡进出)
(4)查询网关是否存在route -n 
(5)ping 主机 可以通信(实现了不同网络区域的主机之间的通信)

实验过程
第一步:设定rhel7主机两块网卡地址:
192.168.43.100 (和windows处在同一个网段)
172.25.254.100 (和rhel8处在同一个网段)
添加网卡步骤:最下方小光盘右键—选择设置—点击添加—选择网络适配器----网络连接方式选择:桥接NAT
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此时rhel7可以和真机和rhel8通信
rhel8 IP为:172.25.254.10
在这里插入图片描述
在这里插入图片描述
第二步:rhel7中打开路由功能
(1)sysctl -a | grep ip_forward 查看内核路由功能是否开启
(2)net.ipv4.ip_forward = 0 表示内核路由功能没有开启
(3)开启内核路由功能
vim /etc/sysctl.conf 进入配置文件(配置文件中原不存在内容)
配置文件中写入:net.ipv4.ip_forward = 1
(4)sysctl -p 设定更改立即生效

在这里插入图片描述
第三步:rhel7中打开地址伪装功能
(1)systemctl start firewalld.service 开启防火墙
(2) firewall-cmd --list-all 查看伪装功能是否开启
若显示masquerade=0,则表示没有开启
(3)firewall-cmd --permanent --add-masquerade添加地址伪装功能
(4)firewall-cmd --reload 重启服务

在这里插入图片描述
第四步:rhel8中添加网关
(1)ip route add default via 172.25.254.100 添加本机网关
(2)route -n 查询网关
(3)ping 主机 进行验证

在这里插入图片描述
实验二、网关的设定方式
<临时方式>
ip route add default via 172.25.254.100
ip route del default via 172.25.254.100

在这里插入图片描述
<永久方式>

  • 1修改系统全局网关
  • 2修改网卡设定网关

1修改系统全局网关
(1) 修改配置文件vim /etc/sysconfig/network
配置文件中本来没有内容,写入要添加的网关:
GATEWAY=172.25.254.100
(2)重启网络systemctl restart NetworkManager
(3)nmcli connection show 查询网关
(4)nmcli connection down westos (westos为连接名字)关掉此连接
(5)nmcli connection up westos 打开此连接
(6)route -n 可看到有了网关

在这里插入图片描述

2修改网卡设定网关
(1)修改配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens160

写入内容:
DEVICE=ens160
ONBOOT=yes
BOOTPROTO=none
NAME=westos
IPADDR=172.25.254.10
NETMASK=255.255.255.0
GATEWAY=172.25.254.100
(2)重启网络systemctl restart NetworkManager
(3)nmcli connection show 查询网关
(4)nmcli connection down westos (westos为连接名字)关掉此连接
(5)nmcli connection up westos 打开此连接
(6)route -n 可看到有了网关
在这里插入图片描述

四、dns地址解析

  • 我们上网时,例如去百度,是输入域名(www.baidu.com),而不是ip地址
  • 因为网络喜欢数字对数字敏感,而我们人对名称更敏感和方便
  • 网络中真正通信的是ip
  • 负责将域名转换ip这个工作的主机叫做dns服务器(地址解析)
  • 把地址转换成IP叫DNS
  • 地址解析分为:本地解析和问别人(eg.114.114.114.144电信dns服务器)
    实验思路:
1 设定主机ip和window在一个网段
2 设定主机网关和windows网关相同
3 在win 中 ping百度 查看百度ip
4 在linux中ping www.baidu.com可以
5在linux中ping www.baidu.com不可以
6 编写/etc/hosts 内容信息为:
183.232.231.172  www.baidu.com
ping  www.baidu.com 可以
ping  www.qq.com不可以
7vim /etc/resolv.conf  追加内容:
nameserver 114.114.114.144   (其中114.114.114.114为电信dns服务器)
ping www.qq.com 可以

实验过程
第一步:设定主机ip和window在一个网段+设定主机网关和windows网关相同.(可以ping通百度IP,但ping不同域名)
(1)vim ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=none
NAME=westos
IPADDR=192.168.43.10
NETMASK=255.255.255.0
GATEWAY=192.168.43.1
(2)rhel7重启网络
systemctl stop NetworkManager
systemctl restart network

route -n
在这里插入图片描述

在这里插入图片描述

(2) 2.1修改配置文件 vim /etc/hosts 可以 ping www.baidu.com单不能ping www.qq.com。2.2修改配置文件 vim /etc/resolv.conf 可以ping www.qq.com。(两个配置文件内容如下)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

五、网桥的设定

  • 网桥:网络桥接
  • 网络桥接的功能:两端连接虚拟机和真实主机的物理网卡,使得虚拟机和真实主机处于一个平行的网络当中,虚拟机便可以通过控制bro接口来控制物理网卡,是数据直接通信。
  • 通过路由器使得两个网段可以相互通信,此实验使用rhel7充当路由器,真机和rhel8分别代表192和172这两个网段

网桥图解:
1.在linux 系统中,有网卡和内核
2.内核中会开启程序,例如虚拟机
3 虚拟机上同样有网卡和内核
4.虚拟机要上网,需要通过虚拟机的网卡,虚拟机的网卡是虚拟的,是用程序写出来的,数据通往网卡出去必须是通过真实的网卡才能出去
5 虚拟机的内核不能控制真实主机的网卡,需要借助真机内核,并发送到网卡中去!
6 从图中可以看出,但是虚拟机的网络和真机的网络是断开的,不能通信的。所有的通信必须依赖内核,因此内核负载会很庞大。(不可逾越的鸿沟)
7 因此物理机的网卡使用权通过内核共享出来,真实物理内核上开启一个接口,此接口是桥接br0,相当于一个桥,两端连接虚拟机和真实主机的物理网卡,使得虚拟机和真实主机处于一个平行的网络当中,虚拟机便可以通过控制bro接口来控制物理网卡,是数据直接通信。(桥接的功能)

如何打开桥接接口:
举例rhel7中实验过程

1.原始物理网卡连接删除
2 网卡配置文件 
DEVICE=ens160
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
  真机物理网卡和虚拟机网卡都使用桥接接口,添加桥接接口
3.修改桥接接口配置文件br0
   信息(地址为虚拟机配置地址192.168.43.10)
  DEVICE=westos
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.10
NETMASK=255.255.255.0
TYPE=Bridge
4 重启服网络务
5 bridge link show 桥接接口出现

在这里插入图片描述

发布了11 篇原创文章 · 获赞 3 · 访问量 527

猜你喜欢

转载自blog.csdn.net/baidu_40389082/article/details/104330256