网络的配置
什么是IP ADDRESS
internet protocol ADDRESS ##网络进程地址
ipv4——————>internet protocol version 4
2^32
ip是由32位的0和1组成
11111110.11111110.11111110.11111110 = 254.254.254.254
子网掩码
用来划分网络区域
子网掩码非0位上对应的ip上的数字表示这个ip的网络位
子网掩码0位对应的ip上的数字表示主机位 #二进制
网络位表示网络区域
主机位表示网络区域里某台主机
只有同一个网络区域的主机才能互相通讯
ip通信判定
网络位一致,主机位不一致的2个ip可以通讯
172.25.254.1/24 24=255.255.255.0
172.25.254.2/24
172.25.0.1/16
网络设定工具(临时更改)
ping
##检测网络是否通畅
ifconfig
##查看网络接口
ifconfig device ip/24
##设定网络接口
ifconfig device down
##关闭
ifconfig device up
##开启
ip addr
##检测或设定网络接口
ip addr show
#检测
ip addr ip/24 device
#设定
如果想要更改ip
ip addr flush eth0
#刷新网卡,将之前的设定刷掉
ip addr add ip/24 dev device
#添加新的设定
注意:device的名字是一个物理事实,看到什么名字只能用什么名字
图形方式设定ip
nm-connection-editor
使用nm-connection-editor
命令打开图形管理界面,这个界面是依赖于NetworkManager这个服务的
配置完后依次使用如下命令使改变生效:
systemctl stop NetworkManager
systemctl restart network
systemctl start NetworkManager
nmtui
命令方式设定网络
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 &&& ##关闭网卡
nmcli connection up &&& ##开启网卡
nmcli connection delete &&& ##删除网卡
nmcli connection add type ethernet con-name &&& ifname eth0 ip4 172.25.254.100/24 ##设定静态网
nmcli connection modify &&& ipv4.method auto ##将网络模式改为动态
nmcli connection modify &&& ipv4.method manual ##将网络模式(必须有地址)改为静态
nmcli connection modify &&& ipv4.addresses 172.25.254.200/24 ##为网络加上网络地址
网络配置文件
里面的所有文件都必须是ifcfg-开头,并且不能出现多余的文件,否则网络将会出现问题
我们新建一个配置文件
TYPE #网络类型(可以不写,默认是Ethernet以太网)
NAME #名字(可以不写)
DEVICE #设备
BOOTPEOTO #联网方式(dhcp表示动态,即系统分配ip)
ONBOOT #设定network服务启动时读取信息(如果写no那么配置是无效的)
如果不想要系统分配的ip,想要自己写的ip,就在BOOTPROTO后面写上none(表示静态网)
IPADDR #ip地址
NETMASK(PREFIX) #子网掩码(只能写一种,效果一样)
**如果想要多个地址,就加上数字(0、1、2…)
上述文件写完后重启network服务
systemctl restart network
然后查看ipip addr show
可以看到更改已经生效
网关
网关的含义是设立一个ip,如果单独对于网卡设立网关,那么这块网卡的所有数据请求都会发送到网关这个ip上,如果设立全局网关,那么这台电脑所有数据请求都会发送到这个网关的ip上
路由的概念
假设我的地址是1.1.1.1,但是我想要连接到172.25.254.200,这是不可能的。但是如果我有一种机器可以把我发送出去的数据请求变成172.25.254网域下,那么我就可以连通。路由就是这个作用
如何将一台主机设置成一个路由器
找到三台主机,一台设置成两张网卡,其余一张网卡。
一张网卡的主机分别设置成两个不同网络区域的ip(比如1.1.1.1和172.25.254.100)
两张网卡的主机分别设置为这两个网络区域的ip(比如1.1.1.100和172.25.254.200)
这样我们就有了一个路由的雏形,下面我们来配置数据
在1.1.1.1中vim /etc/sysconfig/network
,看到如下界面
在文件中写入GATEWAY=###,这样我们就添加了一个‘###’的全局网关
如果想要针对某一张网卡,则在/etc/sysconfig/network-scripts/ifcfg-&&&
在其中写入GATEWAY=###,这样我们就为&&&这块网卡添加了一个###的网关。
我们添加的网关需要与路由上的网关一个网域的
随后在路由端,
先使用sysctl -a | grep ip_forward
查看服务是否开启
如果显示为0,则表示服务未开启,同一主机里的两块网卡无法进行数据互通
在文件/etc/sysctl.conf中写下
随后使用命令sysctl -p
使配置生效
最后打开防火墙的地址伪装功能firewall-cmd --add-masquerade
(要求防火墙是开启的)
这样我们的路由就配置完成了,使用ping
命令来检测一下吧
可以看到ip地址为1.1.1.0的主机可以与172.25.23.250互通数据,路由配置成功
DNS
我们在上网时通常都是搜索域名就可以链接到目的网址,但是实际上的链接都是使用地址来进行链接的,那么我们的电脑是如何知道域名与地址之间的关联的?
使用的是地址解析——DNS
我们先ping一下百度首页
可以看到百度首页实际上的网址是183.232.231.172,但是我们只需要写上www.baidu.com电脑就可以自动识别并且链接到183.232.231.172
DNS分为两种,一种是本地解析,一种是网络解析
本地解析
文件存储在/etc/hosts
如果想要电脑自动识别baidu域名,就可以写上
这样电脑就能自动识别百度域名了,但是一个一个地写麻烦不说,我们也不知道所有的地址,这个时候就需要网络解析了
网络解析
文件存储在/etc/resolv.conf
在其中写上nameserver 114.114.114.114
这样的话,电脑就能够自动获得相应的域名解析
ping
但是ping命令开始运行就不停,除非ctrl+c强行停止,很麻烦。但是我们可以用下面的参数对ping命令进行控制
-c表示ping几次
-w表示等待几秒
时间和次数不论哪个先完成都会自动停止命令