如果你不会网络设置,就好比自己的拖鞋被硬控了,导致自己无法下床
目录
一、网络配置
1.1 主要配置网络的配置项
- 主机名 (必须)
- 网卡:IP/netmask (必须)
- 路由:默认网关(必须)
- DNS服务器(必须) 主DNS服务器 次DNS服务器 第三个DNS服务器
文件类型 | 文件位置 | 文件作用 |
---|---|---|
主机名 | /etc/hostname 第一行 | 永久修改主机名 |
网卡 | /etc/sysconfig/network-scripts/ifcfg-* | 修改ip地址、dns、网关、获取方式等;多网卡bond |
DNS | /etc/resolv.conf | 记录dns服务器地址,若为空则无法解析域名 |
路由 | /etc/sysconfig/network-scripts/route-* | 永久配置静态路由 |
1.2 ifconfig——查看网卡配置
ifconfig #显示所有开启的网卡配置
ifconfig -a #显示所有网卡,包括为开启的网卡
ifconfig 网卡名 down #关闭网卡
ip link set 网卡名 down #关闭网卡
ifconfig 网卡名 up #开启网卡
临时修改网卡IP
ifconfig 网卡名 修改后的IP/掩码
ifconfig 网卡名:0 IP/掩码 #设置临时虚拟网卡
ifconfig 网卡名 0 #取消网卡设置
以上介绍了临时修改网卡的方式,下面如何介绍永久修改网卡:
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vim /etc/sysconfig/network-scripts/ifcfg-ens36
#地址获取方式 动态dhcp 静态static、none
BOOTPROTO=dhcp -> static
#描述
NAME=ens36
#必须和ifconfig命令中的网卡名一致
DEVICE=ens36
#开机是否启动
ONBOOT=yes
#IP地址
IPADDR=
#子网掩码 NETMASK=255.255.255.0 或 PREFIX=24
NETMASK=
#网关
GATEWAY=
#DNS
DNS1=
DNS2=
1.3 route——路由
route -n 除了可以查看路由表以外,还可以用于查看网关
route -n #查看路由表
route del default #删除默认路由 一般不用 了解即可
route add default gw 网关 #添加默认路由 一般不用 了解即可
临时添加路由
route add -net 网段 gw 网关 #临时添加静态路由,用于连其他的网段
route add -net 10.0.0.0/8 gw 192.168.91.1
route del -net 网段 #删除静态路由
route del -net 10.0.0.0/8
Centos7永久添加路由
方法一:
vim /etc/sysconfig/network-scripts/route-ens33
网段 via 网关
:wq
systemctl restart network
方法二:
vim /etc/sysconfig/static-routes
any net 网段 gw 网关
:wq
systemctl restart network
1.4 hostname——主机名
hostname #查看主机名
hostname 主机名 #临时修改主机名
#永久修改主机名
方法一:
vim /etc/hostname
填写主机名到第一行
:wq
reboot
方法二:
hostnamectl set-hostname 名字 #永久修改主机名 **考试**
su
1.5 ss——查看网络链接状态
ss #查看网络链接状态 共11种
netstat #查看网络链接状态,老版本,建议使用ss
ss选项:
-n 数字格式
-a 显示所有状态
-t 只显示TCP
-p 显示进程号
常用:ss -natp
ss和netstat区别:
ss速度快,netstat速度慢,netstat遍历所有进程;
1.6 scp——远程拷贝
通式:
1.拷贝到远端:
scp 指定拷贝文件的路径 远端IP:指定存放位置
2.从远端拷贝:
scp 远端IP:拷贝文件的路径 指定本地存放位置
!!注意!!
远端IP一定要与本地主机IP处于同一网段,否则都无法连通和谈传输
1.7 tcpdump——抓包工具(重中之重,大特特特)
命令通式:
tcpdump 选项 proto dir type
协议 数据的方向 抓取的包类型
proto(协议):
1. tcp udp icmp
2. ip ipv6
3. arp
dir(方向):
1. src ip地址 #只抓源地址为自定义ip的包
2. dst ip地址 #只抓目的地址为自定义ip的包
3. src ip地址 and dst ip地址 ##抓src 到 dst之间的包
type(类型)
1. host 主机
2. net 网段
3. port 端口
4. port range 端口范围
tcpdump的常见选项:
-i 指定网卡接口
-w 将数据包另存为指定文件
-r 读取存储的数据包文件
-n 域名以及主机名数字化,直接显示IP
-nn 直接显示IP以及端口号
-s 指定数据包的大小
输出格式解析:
tcpdump -i ens33
19:29:51.573802 表示时分毫秒
IP 表示协议 网络协议IP
b0rNth1sWa7-.ssh 表示主机名、协议 主机名b0rNth1sWa7- 协议:ssh
> 192.160.254.1.50455 表示发送方IP+端口号 >表示数据流向
seq号、ack号、win就是告诉对方自己能接受多大的数据、length表示捕获的数据包的字节数
实例演示
前提说明:使用2主机 192.168.254.20 ping 1主机192.168.254.10
tcpdump -i ens33 host 192.168.254.10
tcpdump -i ens33 dst 192.168.254.20
tcpdump -i ens33 src 192.168.254.10
tcpdump -i ens33 src net 192.168.254.20/24 接收源IP来自该网段的数据包tcpdump -i ens33 dst net 192.168.254.20/24 接收目的IP属于该网段的数据包
tcpdump -i ens33 src port 80 or port 22 接收源端口来自80或22的数据包tcpdump -i ens33 dst port 80 or port 22 接收目的端口来自80或22的数据包
tcpdump -i ens33 src portrange 80-8080 接收源端口来自80到8080的数据包
tcpdump -i ens33 dst portrange 80-8080 接收目的端口来自80到8080的数据包
tcpdump -i ens33 icmp
tcpdump -i ens33 -c 10 -nn -w /mnt/test.cap icmp将协议为icmp的10个数据包转存到/mnt下并且起名为test.cap
tcpdump -r /mnt/test.cap
用于查看转存的数据包文件
tcpdump -i ens33 -nn icmp and src host 192.168.254.20 and dst host 192.168.254.10接收网卡为ens33 协议为icmp 并且源IP地址为192.168.254.20并且目的IP为192.168.254.10的数据包
1.8 bond——多网卡绑定
bonding工作模式:
一共分为mod0 ~ mod6
常见的工作模式:
-
mod=0 ,即:(balance-rr) Round-robin policy(轮询)聚合口数据报文按包轮询从物理接口转发。负载均衡—所有链路处于负载均衡状态,轮询方式往每条链路发送报文这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。性能问题—一个连接或者会话的数据包如果从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。Bond0在大压力的网络传输下,性能增长的并不是很理想。需要交换机进行端口绑定。
-
mod=1,即: (active-backup) Active-backup policy(主-备份策略)只有Active状态的物理接口才转发数据报文。容错能力—只有一个slave是激活的(active)。也就是说同一时刻只有一个网卡处于工作状态,其他的slave都处于备份状态,只有在当前激活的slave故障后才有可能会变为激活的(active)。无负载均衡—此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。
实际操作
配置bond
cd /etc/sysconfig/network-scripts
vim ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.254.22
NETMASK=255.255.255.0 或 PREFIX=24
GATEWAY=192.168.254.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#mode=1 表示选择主备策略模式
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
#fail_over_mac=1" 永远使用活着的 网卡的mac地址
:wq
配置网卡1
vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
配置网卡2
vim ifcfg-ens36
NAME=ens36
DEVICE=ens36
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
查看bond0状态:
cat /proc/net/bonding/bond0
删除bond0:
ifconfig bond0 down
rmmod bonding
删除/etc/sysconfig/network-scripts/ifcfg-bond0中的配置
二、DHCP
2.1 DHCP的原理
DHCP的原理可以通过以下四个基本步骤来描述,这个过程也被称为DORA过程:
发现(Discovery):
- 客户端通过发送一个DHCP发现(DISCOVER)广播消息到网络上,寻找可用的DHCP服务器。该消息是一个网络广播,目的地址为255.255.255.255,表示它是寻找网络上的任何DHCP服务器。
提供(Offer):
- 网络上的DHCP服务器监听到这个DISCOVER消息后,会向客户端回复一个DHCP提供(OFFER)消息。如果网络上有多个DHCP服务器,客户端可能会收到多个OFFER。该OFFER消息包含了IP地址、网络掩码、IP租约时长以及该DHCP服务器的IP地址等信息。
请求(Request):
- 在收到一个或多个DHCP服务器的OFFER后,客户端将选择一个OFFER(如果有多个选项的话,通常选择第一个收到的),然后向网络广播一个DHCP请求(REQUEST)消息,表明它接受哪个DHCP服务器的提供的配置。这个REQUEST消息还通知网络上的其他DHCP服务器客户端选定的服务器,让其他服务器知道其提供的IP地址可以分配给其他请求的客户端。
确认(Acknowledgement):
- 当DHCP服务器接收到客户端的DHCP请求消息后,会发送一个DHCP确认(ACK)消息给客户端。这个ACK消息确认了IP地址的租约,并可能包括开始租期的时间和租期的时长,以及其他配置信息(比如默认网关、DNS服务器地址)。接收到ACK后,客户端配置接收到的IP地址和相关信息,并可以开始网络通信。
2.2 DHCP的报文类型
DHCPDISCOVER(发现):
- 客户端发送的第一个报文,用于在网络上广播寻找可用的DHCP服务器。
DHCPOFFER(提供):
- DHCP服务器对DHCPDISCOVER广播作出的响应,向客户端提供IP地址以及其它配置信息。如果网络上有多个DHCP服务器,客户端可能会收到多个DHCPOFFER。
DHCPREQUEST(请求):
- 客户端收到一个或多个DHCPOFFER后,选择一个并向网络上所有DHCP服务器广播此请求,确认接受一个特定的DHCPOFFER,并通知其它的DHCP服务器其它的提供将被拒绝。
DHCPACK(确认):
- DHCP服务器对DHCPREQUEST的回应,确认所分配的IP地址及配置信息,并且通知客户端租约的期限。
DHCPNAK(否认):
- 如果在处理DHCPREQUEST过程中出现错误,或者请求的IP地址不再有效或不可用,DHCP服务器会向客户端发送DHCPNAK报文,拒绝请求。
DHCPRELEASE(释放):
- 客户端在不再需要IP地址时发送DHCPRELEASE报文至DHCP服务器,以指示它正式释放分配的IP地址。
DHCPDECLINE(拒绝):
- 如果客户端判断所分配的IP地址已经在网络中被其他设备使用,它会发送DHCPDECLINE报文至DHCP服务器,以拒绝所提供的IP地址。
DHCPINFORM(信息请求):
- 客户端如果已经有了IP地址(比如通过静态配置)但仍需其他网络配置信息,可以发送DHCPINFORM报文向DHCP服务器请求这些信息。服务器通常回复一个DHCPACK报文,其中包含请求的配置信息,但不包含IP地址。
2.3 DHCP的分配方式
-
自动分配:分配到一个IP后永久使用
-
手动分配:由DHCP服务器管理员专门指定IP
-
动态分配:使用完后释放该IP,供其他客户机器使用
2.4 DHCP的实现
#首先,想使用软件,先下载软件
yum install -y dhcp
rpm -qc dhcp #查看配置文件位置
cat /etc/dhcp/dhcpd.conf #提示信息如何查看配置案例
dhcp的程序名为dhcpd
想要启动dhcp,需要为dhcp地址池添加地址,否则启动不生效
vim /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
查看dhcp的配置文件以及如何配置
开启程序时,发现无法正常开启
需要有地址池,才可以开启,配置地址池
全局配置:
局部配置: 局部配置优先于全局配置
保存后再次开启
打开网卡设置,将获取方式改为dhcp,重启网络服务即可
给单机分配固定的IP地址
同样打开配置文件/etc/dhcp/dhcpd.conf
保存后,即可
单机中(windows),打开cmd命令,输入ifconfig /all即可看到网卡的mac地址,
ifconfig /release释放所有匹配的连接,ifconfig /renew更新所有适配器
三、DNS
3.1 DNS作用
将域名转为IP地址
3.2 DNS的发展
分散式:使用文件记录
集中式:使用单台服务器集中解析
分布式:每台服务器只负责一部分域名解析任务
3.3 域名解析
域名的组成:
举例:www.baidu.com.
根域名 .代表根域 大家都有所以就省略了 主机+根域
一级域 .com 主机+1级域+根域
二级域 .baidu 主机+2级域+1级域+根域
主机名 www
解析域名的过程:
1.先查看本机/etc/hosts,如果有就递归查询,直接访问,没有就迭代查询
2.访问自己设置的DNS服务器,如果有就反馈
3.解析,直接去问根,根只能解析主机+根域,无法解析多级,则透露信息去找1级域...
以此类推,最后有一台权威服务器会告知具体的ip地址,反馈给用户
解析类型
递归:一次询问就有结果
迭代:需要多次询
dns tcp 53 用于主从复制
dns udp 53 用于解析
3.4 正向解析实验
先安装软件
yum install bind bind-utils -yrpm -ql bind #查看路径列表
装完之后,该软件会自动生成一个用户与组,名为named
rpm -q --scripts bind #可以查看到脚本,生成了一个named用户
cat /etc/resolv.conf #查看本地dns客户端的域名解析服务器
注意:
此软件名为bind,
而程序名为named
rpm -qc bind #查看配置文件路径配置文件:
/etc/named.conf #主配置文件
/etc/named.rfc1912.zones #区域配置 想解析的域名需在此文件中指明
/var/named/* #数据库配置文件 指明了域名与IP地址的一一对应关系
改DNS指向
让PC1作为域名解析服务器
其他机器需要指向PC1,同时自己也要指向自己,这样就可以解析外网vim /etc/named.conf
vim /etc/named.rfc1912.zones
vim /var/named/*
其内如如下:
第一个@表示named.rfc1912.zones中的域名
IN表示网络协议
SOA规定了属性与设置
第二个@改为完整域名 如master.cxk.com.或master
rname.invalid. 表示邮箱(可改可不改)
0 ;serial 版本 用于给从服务器判断是否需要重新下载新版数据库文件
1D ;refresh 刷新时间 从服务器多久拉取一次
1H ;retry 再试时间 拉取失败多久再试一次
1W ;expire 过期时间 如果一直拉取失败,多久后结束拉取
3H ;minimum 缓存时间 如果有人访问未知解析地址,则缓存时间内还有人查询则直接返回找不到NS @ NS指明服务器类型 如
NS master
NS slave
slave A 192.168.254.12
master A 192.168.254.10
www A 192.168.254.11
ftp CNAME www.cxk.com.A记录,代表正想解析,将A记录前的域名解析成A记录后的IP地址
注意,A记录前的域名,要么写主机名,要么写完整的域名www.kgc.com.,完整的域名一定要带最后的根域CNAME记录,表示别名,将ftp.cxk.com设为www.cxk.com的别名
:wq 保存退出
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将DNS改为本机IP
systemctl restart network #重启网络
named-checkzone 域名 /var/named/写的配置文件名 #用于检查该文件格式
rndc reload #重新加载named服务
host www.cxk.com #检查是否成功解析
3.5 主从复制实验
主服务器配置
1)先关闭防火墙
systemctl stop firewalld.service setenforce 0
2)编辑主配置文件和域名文件
vim /etc/named.conf
vim /etc/named.rfc1912.zones
3)编写数据库文件cd /var/named #切换至数据库文件存放路径 cp -p named.localhost lyp.zone #复制模板文件为与之对应的数据库文件 vim lyp.zone #配置数据库文件
4)更改网络配置vim /etc/sysconfig/network-scripts/ifcfg-ens33 #更改网卡配置 systemctl restart network #更改完成之后,重启网络服务
5)测试配置成果systemctl start named #开启域名解析服务 host www.lyp.com #查看解析是否成功
从服务器配置
1)安装bind、bind-utils软件,编写主配置文件以及域名配置文件yum install -y bind bind-utils #安装软件 rpm -qc bind #查看配置文件 vim /etc/named.conf #编写主配置文件 vim /etc/named.rfc1912.zones #编写域名配置文件
2)开启named服务,检测数据库文件,以及主从复制结果ll /var/named/slaves #查看是否自动生成数据库文件 dig @192.168.254.10 www.lyp.com #解析域名
3)关闭主服务器的named服务,再检测是否可以通过从服务器正常解析systemctl stop named #关闭服务 host www.lyp.com #解析域名 dig www.lyp.com #查看是哪个服务器解析的域名