1.什么是IP地址?
IP地址又称互联网地址,不同的互联网可能存在不同的物理地址,IP地址在网络层实现了网络地址的统一,为全网的每一个网络和每一台主机都分配了一个IP地址,使得互联网在网络层的地址具有全局的唯一性和一致性。IP地址标识了一个主机所属网络的位置,IP地址是网络层进行网络寻址和路由选择的依据。
由于TCP/IP互联网是一个逻辑网络,IP网络的数据传输最终还是要在物理网络上传输,而数据在物理网络上传输使用的仍然是物理地址。因此,TCP/IP网络使用IP地址的同时,仍然还要使用数据链路层的物理地址,即MAC地址。这样一来网络上的每一台设备就同时存在两套地址,即IP地址和MAC地址,网络使用地址解析协议完成对这两个地址的映射和解析。
IP地址和MAC地址具有这样的差别:即IP地址是逻辑地址、软件地址、三层地址,MAC地址是物理地址、硬件地址、二层地址。
IP地址用32位二进制数来表达,习惯上,我们将每8位组成一个段,32位共4段,如地址11000000.10101000.01111010.00000001。显然,地址用二进制表示不容易记忆和书写,所以IP地址一般用十进制书写,以上IP地址用十进制书写时为192.168.122.1。
TCP/IP网络中的寻址采用的是层次寻址的方式,即网络寻址时,先找到主机所在的网络,再从该网络找到对应的主机。所以IP地址被分为网络地址与主机地址两个部分表示,网络地址描述了互联网中的不同网络,主机地址描述了同一个网络内部的不同主机。TCP/IP网络的寻址是通过IP地址中的网络地址找到目标主机所在的网络,再通过IP地址中的主机地址找到目标主机。
什么样的两个ip可以通信?
网络位相同,主机位不同的两个ip是可以直接通信的
2.关于ip的命令
ping | 检测网络是否通畅 |
---|---|
ping -c 1 | 只ping一次 |
ping -w 1 | 等待一秒 |
ping -c1 -w1 ip | ping一次等待一秒 |
ifconfig | 查看或设定网络接口 |
ifconfig device ip netmask | 设定 |
ifconfig device down | 关闭 |
ifconfig device up | 开启 |
ip addr show | 查看所有网络接口 |
ip addr add ip/24 dev device | 添加ip |
ip addr del ip/24 dev device | 删除ip |
ip addr flush ens33 | 刷新(设定如果没有生效,可以刷新一下) |
注意:
ifconfig和ip addr方式的网络设定是临时设定的,临时好处在于即改即生效,速度快,但不能永久保存
ping一个无效地址,只等待2秒便退出(不设置的话,会等待很长时间)
ifconfig方式临时设定IP地址
ip addr add 方式添加IP地址(临时设定,重启网络,只会显示永久设定的网络IP)
ip addr del 删除上边添加的IP地址
3.更改ip的方式
(1)图形方式:
a)nm-connection-editor
这个方式之前在进程章节已经做过,这里不再赘述
b)nmtui
(2) 命令方式:
systemctl start NetworkManager(必须开启)
nmcli device show ens33 | 显示当前指定的设备信息 |
---|---|
nmcli device show | 显示系统中所有设备的情况 |
nmcli device status | 查看设备到底让哪一个连接口使用着 |
nmcli device disconnect ens33 | 删除ens33网卡设备上的ip |
nmcli device connect ens33 | ens33网卡设备被激活,IP出现 |
nmcli connection show | 查看连接 |
nmcli connection delete “连接名称” | 删除这个连接 |
nmcli connection down 连接名 | 关闭连接 |
nmcli connection up 连接名 | 开启连接 |
nmcli connection add | 添加连接(manual、dhcp) |
nmcli connection modify | 更改ip,完成后必须要重启连接才能生效 |
nmcli device show ens33 显示当前指定的设备信息
nmcli device status 查看设备到底让哪一个连接口使用着
nmcli device disconnect ens33 删除ens33网卡设备上的ip
nmcli device connect ens33 ens33网卡设备被激活,IP出现
nmcli connection show 查看设备上的连接情况
nmcli connection down 连接名 关闭连接;
nmcli connection up 连接名 开启连接
nmcli connection delete “连接名称” 删除这个连接
添加dhcp网络
添加静态网络(manual)
当你指定完之后,ifcfg-westos文件也会自动建立,当你删掉这个网络时,ifcfg-westos文件也就没有了
静态网络更改为dhcp网络:nmcli connection modify westos ipv4.method auto
dhcp网络更改为静态网络,首先要去设定ip,再去更改网络工作模式:
nmcli connection modify westos ipv4.addresses 192.168.1.88/24
nmcli connection modify westos ipv4.method manual
注意:
<文件方式>
配置目录:/etc/sysconfig/network-scripts/
配置文件:ifcfg-任意名称
dhcp:
vim /etc/sysconfig/network-scripts/ifcfg-westos
DEVICE=ens33 ##网卡名称
ONBOOT=yes ##网络服务启动网卡激活
BOOTPROTO=dhcp ##网卡工作模式为dhcp
NAME=westos ##连接名称为westos
静态网络:
vim /etc/sysconfig/network-scripts/ifcfg-westos
DEVICE=ens33 ##网卡名称
ONBOOT=yes ##网络服务启动网卡激活
BOOTPROTO=none|static ##网卡工作模式为dhcp
NAME=westos ##连接名称为westos
IPADDR=172.25.254.222 ##IP地址
NETMASK=255.255.255.0 ##子网掩码
重启网络:
在rhel7:systemctl restart network
在rhel8中:
systemctl restart NetworkManager
nmcli connection down 老的连接
nmcli connection up 新的连接
4.dhcp服务器的搭建
实验环境:
两台主机:rhel8、rhel7
实验步骤:
在rhel8主机中搭建dhcp服务器
第一步:配置静态网络
vim /etc/sysconfig/network-scripts/ifcfg-westos
DEVICE=ens160
ONBOOT=yes
BOOTPROTO=none
NAME=westos
IPADDR=192.168.1.19
NETMASK=255.255.255.0
第二步:把镜像文件接入光驱
第三步:df查看光驱挂载位置并安装dhcp
安装dhcp:rpm -ivh dhcp-server-4.3.6-30.el8.x86_64.rpm
我这个是之前已经安装过的,所以它显示的是已安装
刚安装后,dhcpd服务配置文件未设定,服务是关闭的
第四步:配置dhcp文件
第五步:重启dhcp服务,服务开启
第六步:测试
rhel7中配置dhcp网络看是否可以获得ip
配置dhcp网络
重启网络,获得ip:192.168.1.100
5.路由器及网关
现在的网络不单单是只有直连的网络可以通信的,如果不是直连的网络,也是可以通信的。网络位不一致的两台主机之间不能直接通信,可以搭建一个同时拥有这两台主机网络位的网卡的路由器,使得两者可以相互通信
把一个不可以到达目的地的地址转换成可以到达目的地地址的这台主机叫做路由器。路由器上有两块网卡,网卡1、网卡2同时接到了内核上,内核具备内核路由功能,这个路由功能是可以让接到同一个内核上的两个不同网段的网卡之间直接通信。
路由器上和客户主机处在同一个网段的ip叫做客户主机的网关。网关的目的是把你想要到达目的地的数据包扔到路由器里,让它给你做网络地址转换(nat),最后变成你的目的地可以识别的地址,然后到达目的地。
(1)网关设定方式
命令方式:<临时>
ip route add default via 172.25.254.100 ##添加默认网关
ip route del default via 172.25.254.100 ##删除默认网关
文件方式:<永久>
方式1 修改系统全局网关
vim /etc/sysconfig/network
GATEWAY=172.25.254.100
在rhel8中
systemctl restart NetworkManager
nmcli connection down 链接名称
nmcli connection up 链接名称
在rhel7中
systemctl stop NetworkManager
systemctl restart network
systemctl start NetworkManager
方式2.修改网卡设定网关
vim /etc/sysconfig/network-scripts/ifcfg-westos
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.10
NETMASK=255.255.255.0
GATEWAY=172.25.254.11 ##网关 在rhel7中
systemctl stop NetworkManager
systemctl restart network
在rhel8中
systemctl restart NetworkManager
nmcli connection down 链接名称
nmcli connection up 链接名称
(2)设定rhel8双网卡主机开启路由器功能实验:
a. 在rhel8中添加一块网卡使rhel8主机变成双网卡主机
b. 设定rhel8主机的两块网卡地址为:
网卡1:192.168.0.19(和windows主机处在统一个网段)
网卡2:172.25.254.11(和rhel7主机处在统一个网段)
c. 在rhel8中打开内核路由功能,在rhel8中打开地址伪装功能(转换策略)
d. 测试:
在rhel7中设定ip:172.25.254.10
添加本机网关为172.25.254.11
ping 192.168.1.105
测试能否和windows主机通信
6.dns的定义及设定
dns: 负责作域名转换成ip这个工作的主机叫做dns服务器(地址解析)
vim /etc/resolv.conf ##dns服务器指向文件(临时)
nameserver 114.114.114.114 ##114.114.114.114 为电信dns服务器
ping www.baidu.com -----> /etc/resolv.conf ---->114.114.114.114 ---->
www.baidu.com = 39.156.66.18
vim /etc/hosts ##叫做本地解析文件
39.156.66.18 www.baidu.com
vim /etc/sysconfig/network-scripts/ifcfg-ens33 ##dns的永久设定
DNS1=114.114.114.114
重启网络服务
实验步骤:
1.设定主机ip和windows在一个网段,设定主机网关和windows相同
2.在windows中ping www.baiud.com 查看百度ip
3.在linux中ping 百度ip可以,ping www.baidu.com(域名) 不可以
4.编辑/etc/hosts本地解析文件(不能对外提供,不叫做服务)
39.156.66.18 www.baidu.com
ping www.baidu.com 可以,ping www.qq.com 不可以
5.编辑/etc/resolv.conf网络dns的指向文件
nameserver 114.114.114.114
ping www.qq.com 可以
6.vim /etc/sysconfig/network-scripts/ifcfg-ens33 dns的永久设定
DNS1=114.114.114.114
重启网络服务
7.网桥设定
a.删除原有的物理网卡链接
nmcli connection delete ens33
b.编辑桥接接口的真实物理网卡的配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0 ##真实的物理网卡和虚拟机所使用的网卡都使用的是桥接接口
c.编辑指定的br0配置文件
vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.10
NETMASK=255.255.255.0
TYPE=Bridge ##接口是一个桥接,不是一个真实的物理网卡
重启网络
d.bridge link show
可以看到ens33上开启了一个br0接口,ens33接口为master br0工作