1.什么是IP ADDRS
IP 即Internet protocol ,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。
而ipv4,就是Internet protocol version 4
version是版本的意思,所以ipv4就是“网络之间互连的协议”的第4个版本,而这个协议,也是第一个被广泛使用,构成现今互联网技术的基础的协议。
而ip addrs 就是ip地址的意思
一个ip地址是由32个01组成,例如:
11111110.11111110.11111110.11111110 = 254.254.254.254
(二进制)11111110.11111110.11111110.11111110
^ ^ ^ ^
(十进制) 254 . 254 . 254 . 254
2.子网掩码
用来划分网络区域,
子网掩码非0的位对应的ip上的数字表示这个ip的网络位
子网掩码0位对应的数字是ip的主机位
网络位表示网络区域
主机位表示网络区域里的某台主机
ip地址分为3类 :a类地址,b类地址以及c类地址,如下表所示
类别 | ip地址范围 | 最大主机数 | 子网掩码 |
---|---|---|---|
c | 192.0.0.0~223.255.255.255 | 2(32-24)-2=254 | 255.255.255.0 |
b | 128.0.0.0~191.255.255.255 | 2(32-16)-2=65534 | 255.255.0.0 |
a | 0.0.0.0~127.255.255.255 | 2(32-8)-2=16777214 | 255.0.0.0 |
比如说,一个c类地址是指,在IP地址的四段号码中,前三段号码(也就是2进制中的前24位)为网络号码,剩下的一段号码(也就是2进制中的后8位)为本地计算机的号码。
因为c类地址中第一个字节的前三位固定为110,所以它的二进制的地址范围是:
110 00000.00000000.00000000.00000000 ~ 110 11111.11111111.11111111.11111111
^
前3位固定为110
换算为10进制为192.0.0.0 ~ 223.255.255.255
这就是为什么c类地址范围是192.0.0.0~223.255.255.255
而在c类所有的ip地址中,需要减掉子网号全为0和全为1的两个地址,也就是不包含第一个和最后一个地址,所以计算结果要减2.
而a类地址中的第一个字节的第一位固定为0,b类地址中的第一个字节的前两位固定为10,所以由此也可算出a类和b类地址的地址范围。
3.ip通信判定
网络位一致,主机位不一致的两个ip可以直接通讯
比如说以下三个ip中:
(1)172.25.254.1/24
(2)172.25.254.2/24
(3)172.25.0.1/16
以上3个ip中(1)和(2)就可以直接通讯,而(3)和(1),(2)都不能直接通讯
4.网络设定工具
命令 | 注释 |
---|---|
ping | 检测网络是否通畅 |
ifconfig | 查看或设定网络接口 |
ifconfig device ip/24 | 设定网卡配置 |
ifconfig device down | 设备关闭 |
ifconfig device up | 设备启动 |
ip addr | 检测网络接口 |
ip addr show | 检测网络接口 |
ip addr add ip/24 dev device | 在没有ip时设定ip |
(注意:device即网卡的名称;ifconfig为临时设定,重启网络服务后设定会失效)
例如:
查看当前ip为172.25.254.104
使用config命令更改ip为111.111.111.111
重启网络服务后ip又变回更改之前的ip
5.图形方式设定ip
1)
命令:nm-connection-editor
systemctl stop NetworkManager (关闭网络管理服务)
systemctl restart network (重启网络配置)
systemctl start NetworkManager (开启网络管理服务)
注意:
1.网络管理服务和系统的网络并没有关系,它是用来管理系统网络的
2.用图形设置更改网络时,更改需要重启网络服务,而删除再新建一个不需要重启网络服务
使用nm-connection-editor
命令打开图形界面,Add为添加,Edit为编辑,Delete为删除
设置网卡为eth0
设置Method为Manual,设置Addresses和Netmask,设置好后save
(注意:如果选的是Edit,save后需要输入命令systemctl restart network
使设置生效)
2)文字方式设定ip
命令:nmtui
文本界面添加网络
输入命令nmtui
,打开文字编辑界面
Add为添加,Edit为编辑,Delete为删除
IPv4 CONFIGURATION选择Manual,Addresses填要设定的ip,例如:172.25.254.104/24
填好后选择OK
(注意:如果选的是Edit,save后需要输入命令systemctl restart network
使设置生效)
6.命令方式设定ip
命令:nmcli
(NetworkManager必须开启)
(NetworkManager即动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态,同时也支持传统的 ifcfg 类型的配置文件。)
可以用命令行工具 nmcli
来控制 NetworkManager。
命令 | 注释 |
---|---|
nmcli device connect eth0 | 启用eth0网卡 |
nmcli device disconnect eth0 | 关闭eth0网卡 |
nmcli device show eth0 | 查看网卡信息 |
nmcli device status eth0 | 查看网卡服务 |
nmcli connection show | 显示所有活动连接 |
nmcli connection down westos | 关闭名为westos的网卡(可被自动激活) |
nmcli connection up westos | 打开网卡 |
nmcli connection delete westos | 删除网卡配置 |
nmcli connection add type ethernet con-name westos ifname eth0 ipv4 172.25.254.100/24 | 添加网卡配置 |
nmcli connection modify westos ipv4.method auto | 设置为动态ip |
nmcli connection modify westos ipov4.method manual | 设计为静态ip |
nmcli connection modify westos ipv4.addresses 172.25.254.200/24 | 设置ip地址 |
(注意:使用此命令时可以将connection简写为con,效果一样)
7.管理网络配置文件
网络配置目录:/etc/sysconfig/network-scripts/
文件名:ifcfg-xxxx
网络配置文件的名命规则
文件内容 | 注释 |
---|---|
DEVICE=XXX | 设备名称 |
BOOTPROTO=dhcp/none | 设备工作方式,动态/静态 |
ONBOOT=yes | 网络服务开启时自动激活网卡 |
IPADDR=172.25.254.104 | IP地址 |
PREFIX=24 | 子网掩码 |
NETMASK=255.255.255.0 | 子网掩码 |
NAME=xxx | 接口名称 |
配置好后输入systemctl restart network
重启网络服务使配置生效
示例:
静态配置:
动态配置:
8.网关设置管理
网关(GATEWAY):是一个局域网的关口地址,分隔局域网之间的关口,负责转发局域广播,内网、外网数据交换的必经之地,按照网络协议,一个局域网必须设置一个网关。网关的作用就是使两个网络位不同的ip能够连接。
路由器:是一个负责分配局域网主机IP地址,连接网内主机和外网的设备,没有设备,主机之间无法通信。
区别:路由器是硬件设备,网关是网络协议中的一个地址,网关设置之后存储在路由器中,就像主机有了网卡,需要给网卡分配一个IP地址一样。
例如:
先准备两台虚拟机
client端设置ip为1.1.1.104
server端配置两个网卡,ip分别为1.1.1.204和172.25.254.204
如何设置网关
1.在客户端:
在client端ping 172.25.254.250,显示ping不通
然后设置网关,使用vim /etc/sysconfig/network
(全局配置)或者vim /etc/sysconfig/network-scripts/ifcfg-eth0
命令(网卡配置),在其中写入GATEWAY=1.1.1.204
(server端ip)
然后输入命令systemctl restart network
重启网络服务
输入route -n
命令查看网关
2.在服务端
输入命令firewall-cmd --add-masquerade
(对防火墙的临时伪装,重启服务会失效)
输入命令sysctl -a | grep ip_forward
,如果下方显示net.ipv4.ip_forword=1,则可以通信,如果显示net.ipv4.ip_forword=0.则需要vim /etc/sysctl.conf
,在其中写入net.ipv4.ip_forword=1,更改完成后输入sysctl -p
使其生效。
3.在客户端
输入 ping 172.25.254.250,发现原本不在同一网段的ip可以ping通
9.DNS设置管理
DNS,即Domain Name System,是域名系统的意思,万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。
比如说,一台主机上没有设置DNS解析文件,那么这台主机在访问互联网是只能输入网址ip来登陆,这样会使用户访问互联网变的非常麻烦,如下图所示:
1)设置好主机,如下图
2)在虚拟机上设置网关为172.25.254.4
3)在虚拟机上显示不能输入网址来登陆网页
4)在主机上ping百度,查看百度ip
5)在虚拟机上输入百度的ip 220.181.112.244,可以登陆
6)但是当在虚拟机上点击百度里的链接时,发现不能进入网页
如果要访问其它网页,就只能输入例如220.181.112.244这样的网页ip来进行访问,这样会非常麻烦,这就需要用到DNS服务了,
本地解析文件: vim /etc/hosts
打开后在其中写入:
14.215.177.39 www.baidu.com
即改即生效,这时就可以直接输入www.baidu.com来访问百度页面,但是如果只写入了一个百度,就只能访问百度,不能点击百度网页上的其它链接来访问网页
专门做地址解析的服务器叫DNS服务器,在vim /etc/resolv.conf
文件中写入DNS服务器的ip,例如,陕西的DNS服务器ip为218.30.19.50
在文件中写入nameserver 218.30.19.50
,即可访问所有网页
10.设定解析优先级
vim /etc/nsswitch.conf
在该文件的第39行,可以设置本地解析优先或者服务器解析优先,哪个在前面哪个优先级高
在网卡配置文件中也可以写入DNS解析文件
在vim /etc/sysconfig/network-scripts/ifcfg-eth0
中,写入
DNS1=114.114.114.114
重启网络服务systemctl restart network
生效后会自动更改/etc/resolv.conf文件中的内容
(注意:在hcp动态ip下 重启网络会更改/etc/resolv.conf
中的DNS,在/etc/sysconfig/network-scripts/ifcfg-eth0
中加入PEERDNS=no
,即可)