1.什么是网络地址IP ADDRESS
ip address =internet protocol address 网络进程地址
ipv4=internet protocol version 4
一个网络地址由网络位,主机位构成,一共32位(二进制)
采用子网掩码标示网络位和主机位,子网掩码其实是不存在的,一共32位
以太网:以太网其实是一种控制机制
当一台主机向另外一台逐渐发送数据的时候,先检测目的主机传送数据的线缆是否空闲
如果空闲继续发送,如果忙碌,则等待一会儿继续检测是否空闲,空闲了就发送数据
主机间传输方式为等待式传输数据(不能互不相让)
2.子网掩码
用来划分网络区域
子网掩码非0位对应的id上的数字表示这个ip的网络位
子网掩码0位对应的数字是ip的主机位
网络位表示网络区域
主机位表示网络区域里的某台主机
主机位全1表示广播地址
3.ip通信判定
网络位一致,主机位不一致的2个ip可以直接通讯
172.25.254.1/24 24=255.255.255.0
172.25.254.2/24
172.25.0.1/16
4.网络设定工具
ping ##检测网络是否通畅
ifconfig ##查看或设定网络接口
ifconfig device ip/24 ##临时设定ip地址
ifconfig device down ###关闭临时设定的ip地址
ifconfig device up ###开启临时设定的ip地址
5.图形方式设定
1.nm-connection-editor
systemctl stop NetworkManager ###关闭网络服务
systemctl start NetworkManager ###开启网络
systemctl resart NetworkManager ###重启网络
2.nmtui
- ip addr 检测或设定网络接口
- ip addr show 检测
- ip addr add ip
- ip addr 检测或设定网络接口
ip addr add 1.1.1.100 /24 dev eth0 临时设定ip
ip addr flush eth0(刷空之前所有ip)
6.命令方式设置网络ip
nmcli命令前提是NetworkManager必须开启
nmcli NetworkManager必须开启
nmcli device connect eth0 启用eth0网卡
nmcli device disconnect eth0 关闭eth0网卡
nmcli device show eth0 查看网卡信息
nmcli device status eth0 查看网卡服务接口信息
nmcli connection down westos 去掉链接名字为westos的网络
##用nm-connection-editor 改名称为westos
nmcli connection show 查看网络
nmcli connection up westos 开启链接名字为westos的网络
nmcli connection delete westos 删除链接名字为westos的网络
nmcli connection add type ethernet con-name westos ifname eth0 ip4 172.25.254.100/24 添加ip网络
添加网络 类型 链接名字 网卡名字 网络类型 ip号(24表示网络位数) 对应nm- connection-editor来写。
实验环境:用只有一个网卡的desktop虚拟机,先删掉原来的ip
链接名字可以随便写(westos) ,设备名字有什么写什么(eth0) 链接westos只能有一个,如果有多个就会出现错误 一个链接只能被一个设备所识别,再添加就不能识别 如果命令打错,链接依然会生成,不会报错,应该先删掉 ,
实验前删除原来的ip
-
先配置动态,转为静态会被阻止 静态改称动态:没有阻拦, 动态改成静态:前提是必须设置过ip
-
将ip网络转换为动态的:nmcli connection modify westos ipv4.method auto 将ip网 络转为动态的
-
从动态转换为静态ip: (先设置静态ip,再将动态改为静态)
-
nmcli connection modify westos ipv4.addresses 172.25.72.100/24添加静态ip
-
nmcli connection modify westos ipv4.method manual 将ip网络转为静态的
管理网络配置文件
网络配置目录 /etc/sysconfig/network-scripts/
网络配置文件的名命规则 ifcfg-xxxx (比如:ifcfg-eth0)
内容:
DEVICE=xxx 设备名称
BOOTPROTO=dhcp|static|none 设备工作方式
ONBOOT=yes 网络服务开启时自动激活网卡
IPADDR= IP地址
PREFIX=24 子网掩码
NETMASK=255.255.255.0 子网掩码
NAME= 接口名称(可有可无)
网络配置文件里面至少要写 DEVICE (网卡名称)ONBOOT(启动时的激活状态) BOOTPROTO(静态还是动态)
(1)动态设定ip(dhcp网络设定)
步骤一:vim /etc/sysconfig/network-scripts/ifcfg-eth0
步骤二:在网络配置文件里面写入虚拟机的安装信息
步骤三:重启网络 systemctl restart network 重启网络才会生效
步骤四:查看
(2)静态设置ip(manual网络设定)
步骤一:vim /etc/sysconfig/network-scripts/ifcfg-eth0
步骤二:在网络配置文件里面写入虚拟机的安装信息
步骤三:重启网络 systemctl restart network
步骤四:查看
(3)一块网卡上配置多个ip(和上面的静态设置的一样)
步骤一:vim /etc/sysconfig/network-scripts/ifcfg-eth0
步骤二:在网络配置文件里面写入虚拟机的安装信息
DEVICE=eth0 网卡名称
ONBOOT=yes 网络服务启动时自动激活
IPADDR0=172.25.254.111 第一个ip地址
NETMASK0=255.255.255.0 第一个ip地址对应的子网掩码
BOOTPROTO=none 设置为静态分配
NAME=westos 网络名称为westos
IPADDR1=1.1.1.111 第二个ip地址
PREFIX1=24 第二个ip地址对应的子网掩码
注意:数字必须相对应的一致
步骤三:重启网络 systemctl restart network
步骤四:查看
lo回环接口
回环接口相当于人的神经----127.0.0.1-----localhost
ping localhost
路由器"的作用:
由于不在同一网段的两个ip地址不能通信 但现实是2的32次方有限,因此ip地址有限,不可能每个人分一个ip地址, 我们现在想让不同网段的主机进行通信 ,用1.1.1.236主机连接 172.25.254.36主机必须在中间加一个双网卡主机 ,该主机具备内核路由功能和地址伪装功能,这个中间的主机就叫做路由器 route ,因此搭建路由器,可以实现两个不同网段的主机通信 。
网关:
网关是路由器上和1.1.1.236主机处在同一个网段的ip地址,在此的实验中,网关当然就是1.1.1.136
怎样实现不同网段的主机进行通信
步骤一:首先需要搭建实验环境
在真机的shell里面打开两台虚拟机的desktop和server。
步骤二:
我们需要给server主机配置两块网卡,给desktop主机配置一块网卡。给server主机配置网卡:
注意:以上操作是在server主机中进行,因为这里server主机充当“路由器”的角色。
现在给desktop配置ip:(在desktop中进行ping操作,我们可以看到,当我们配置好ip之后ping 172.25.72.150没有成功,这时这个现象是很正常的,因为我们没有将server主机的路由功能未开启。)
步骤三:开启server主机的路由功能(在server主机中进行操作)
(1)输入sysctl -a | grep ip_forward
看本台主机的路由功能是否开启 : 0关闭 , 1开启(必须开启)
开启后,检查防火墙的状态是否打开,如果未打开,先将防火墙打开。(打开防火墙,是为了开启伪装地址功能):
(1)查看火墙的一系列状态 firewall-cmd --list-all
(2)并将masquerade 由no改为yes,firewall-cmd --add-masquerade(这是暂时修改,如果要永久开启防火墙的伪装功能可以输入firewall-cmd --permanent --add-masquerade)
开启server主机的伪装功能,必须在server主机的防火墙里面设置,开启它的masquerade伪装功能,将no改为yes。伪装功能从才能生效。
步骤四:在具有一块网卡的客户端(desktop主机)设置
(1)用route -n 查看网关 全为0
(2)vim /etc/sysconfig/network ,添加网关GATEWAY=1.1.1.150
添加网关后,继续ping,我们可以看到,ping成功了
ping 成功后,我们ssh远程登录我们ping成功的ip,此时我们查看w -i,可以看到地址伪装成功了
如何让虚拟机上网
在真机上连接上网络的情况下(ping www.baidu.com 可以成功则真机连上网)
知道了路由和网关以后,就可以通过搭建路由器和设置网关使虚拟机通过真机上网了
原理和上面的一样
虚拟机desktop只有一个ip,真机有两个ip
步骤一:将自己的真机当作路由器
在真机上有两个网关,一个是自己的内网,一个是与外界相连的网络,我们需要将我们的虚拟机的网关跟内网的ip一样,查看真机的ip,同时将真机上设置路由和伪装功能开启,实现路由器作用。
命令:(1)先看防火墙是否是开启状态,systemctl status firewalld如未开启,必须将其开启,
(2)在真机的shell输入sysctl -a | grep ip_forward查看路由功能是否为1,
(3)在真机的shell输入firewall-cmd --list-all查看masquerade:由no改为yes(firewall-cmd --add-masquerade这个命令只是暂时将其改为yes,伪装地址功能开启)
步骤二:将自己的虚拟机的网关设置的和内网一样。
命令:(1)改掉自己的ip的网络位和自己的网关,cd /etc/sysconfig/network-scripts/
vim ifcfg-eth0(在修改时,如果加数字,全部都加数字)
vim /etc/sysconfig/network(gateway)
(2)重启系统systemctl restart network
(3)查看网关和ip是否修改成功
步骤三:测试
在真机上ping www.baidu.com(域名)
在虚拟机上ping 百度的ip地址,如果可以ping成功后则虚拟机连网成功。
步骤四:排错
###当我们虚拟机ping不通真机时,网关没有问题(原因:真机网络可能重启过),所以我们在真机上重新配置一次。
在真机的shell输入virt-manager,选择“灯泡”,将真实的物理网卡硬件enp0s25的virtio先remove,然后添加一个新的virtio,finish。
或者查看cd /etc/sysconfig/network-scripts/中间是否与有多于文件,不能有多于文件(在我们连接wifi后,系统可能会自动产生多余文件,需要将其删除。)(什么时候查看文件的多余,当配置时,如果NIC出现问题)
###在真机网络重启后,需要重新检查路由和伪装功能是否完好,这个也是当我们可以在真机上ping同网络,虚拟机ping通真机的ip,却ping不通网络时的问题。(desktop虚拟机上不了网1、查网关,2、ping网关,3、查真机,4、查路由和伪装功能)
###当我们真机ping不通网络时,查看网关时,如果自己所需的网关前面有多余的网关时,需要将多余网关删除,route del dafault
地址解析:
(1)本地解析:
步骤一:vim /etc/hosts(本地的解析文件)
步骤二:在本地解析文件当中写入百度的域名解析
步骤三:此时直接在desktop虚拟机中ping百度,就可以ping通
步骤四:检验直接在desktop虚拟机的浏览器中输入百度网址是否可以直接打开百度
dns服务
在desktop虚拟机中打开域名解析文件vim /etc/resolv.conf 直接写(DNS的指向文件)nameserver 114.114.114.114 电信地址
本地解析和dns服务的区别:
本地解析是虚拟机自己给自己说明要访问的网址对应的ip地址,才能在访问的时候被解析,但必须一个一个写入,解析一个才能用一个。
dns服务,用来将域名和ip一一对应起来,该服务器是专门用来做域名解析的服务器
不是服务器自己直接解析,而是找回答问题的人,提供一个解析的主机 ,一般由运营商直接做好,dns服务器直接找运营商即可。
在本地解析和dns服务解析时存在优先级,那么我们如何查看更改优先级?
步骤一:设置本地解析
步骤二:设置dns服务解析
步骤三:查看两种解析的优先级 vim /etc/nsswitch.conf 在第39行查看,先看到本地解析比dns解析优先级高(files dns) ,ping一下我们可以看到内网优先(看ip)(这个是自己写的)改变优先级(两个位置交换),再ping一下,可以看到外网优先(看ip)这个是dns服务器给我们的。
dhcp服务搭建
(1)什么是DHCP协议?
动态主机设置协议(Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作
主要有两个用途:用于内部网或网络服务供应商自动分配IP地址;给用户用于内部网管理员作为对所有计算机作中央管理的手段
DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动 ,当DHCP服务器收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。
DHCP具有以下功能:
保证任何IP地址在同一时刻只能由一台DHCP客户机所使用
DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)
DHCP服务器应当向现有的BOOTP客户端提供服务
(2)什么是DHCP服务器?
DHCP服务器指的是由服务器控制一段IP地址范围,客户端登录服务器时就可以自动获得服务器分配的IP地址和子网掩码
简单的说,DHCP服务器就是可以为其它主机动态分配网络的服务器
说明:一般虚拟机没有DHCP动态分配的功能,只能静态分配
实验目的:
想把真实主机变成一个DHCP服务器,然后给其他主机动态分配ip地址
之前虚拟机的ip都是静态分配的,现在想动态分配
在真实主机里面设置DHCP动态分配网络给其他主机的功能
步骤一:先在主机上下载dhcp
hostnamectl查看自己主机版本
下载:
wget http://172.25.254.250/rhel7.3/x86_64/dvd/Packages/dhcp-4.2.5-47.el7.x86_64.rpm
wget http://172.25.254.250/rhel7.0/x86_64/dvd/Packages/dhcp-4.2.5-27.el7.x86_64.rpm
根据版本不同选择安装。
rpm -ivh dhcp-4.2.5-47.el7.x86_64.rpm 选择安装,(必须在超户下)
rpm -e dhcp 是卸载删除
dhcp系统搭建
把desktop主机变成一个dhcp服务器,动态分配
步骤一:
在真机下面cd /etc/dhcp/
ls 查看下面的文件
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf(给配置文件里面放东西)
再次vim /dhcpd.conf(编辑里面内容,27、28行、35行之后的删除,改域名westos.com /改服务dns 为114.114.114.114 /改网络位172.25.254.0 /改子网掩码255.255.255.0 /改动态范围 /改网关改成和自己主机ip一致)
systemctl restart dhcpd(重启网络)
systemctl status dhcpd查看dhcp服务状态
步骤二:
在desktop下,
vim /etc/sysconfig/network-scripts/ifcfg-eth0(将BOOTPROTO改成dhcp)
重启网络systemctl restart network
vim /etc/sysconfig/network(将网关注释掉或者删掉)
删掉日志> /var/log/messages
重启网络systemctl restart network
步骤三:
在desktop主机上进行测试,查看ip,看真实主机是否作为一个dhcp服务器给desktop主机动态分配ip,(动态分配的ip是在自己在前面所给的ip动态范围之内)。
cat /var/log/messages,具有dns域名解析功能
查看网关route -n,是否和自己的主机ip一样。