【Linux网络】Linux网络配置

本文围绕Linux系统展开,介绍网络配置,包括查看网卡、路由、主机名等,重点讲解tcpdump抓包工具和多网卡绑定;阐述DHCP原理、报文类型、分配方式及实现;还说明了DNS作用、发展、域名解析过程,并进行正向解析和主从复制实验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你不会网络设置,就好比自己的拖鞋被硬控了,导致自己无法下床

目录

一、网络配置

1.1 主要配置网络的配置项

1.2 ifconfig——查看网卡配置

1.3 route——路由

1.4 hostname——主机名

1.5 ss——查看网络链接状态

1.6 scp——远程拷贝

1.7 tcpdump——抓包工具(重中之重,大特特特)

1.8 bond——多网卡绑定 

二、DHCP

2.1 DHCP的原理

2.2 DHCP的报文类型

2.3  DHCP的分配方式

2.4  DHCP的实现

三、DNS

3.1 DNS作用

3.2 DNS的发展

3.3 域名解析

 3.4 正向解析实验


一、网络配置

1.1 主要配置网络的配置项

  1. 主机名        (必须)
  2. 网卡:IP/netmask (必须)
  3. 路由:默认网关(必须)
  4. 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过程:

  1. 发现(Discovery):

    • 客户端通过发送一个DHCP发现(DISCOVER)广播消息到网络上,寻找可用的DHCP服务器。该消息是一个网络广播,目的地址为255.255.255.255,表示它是寻找网络上的任何DHCP服务器。
  2. 提供(Offer):

    • 网络上的DHCP服务器监听到这个DISCOVER消息后,会向客户端回复一个DHCP提供(OFFER)消息。如果网络上有多个DHCP服务器,客户端可能会收到多个OFFER。该OFFER消息包含了IP地址、网络掩码、IP租约时长以及该DHCP服务器的IP地址等信息。
  3. 请求(Request):

    • 在收到一个或多个DHCP服务器的OFFER后,客户端将选择一个OFFER(如果有多个选项的话,通常选择第一个收到的),然后向网络广播一个DHCP请求(REQUEST)消息,表明它接受哪个DHCP服务器的提供的配置。这个REQUEST消息还通知网络上的其他DHCP服务器客户端选定的服务器,让其他服务器知道其提供的IP地址可以分配给其他请求的客户端。
  4. 确认(Acknowledgement):

    • 当DHCP服务器接收到客户端的DHCP请求消息后,会发送一个DHCP确认(ACK)消息给客户端。这个ACK消息确认了IP地址的租约,并可能包括开始租期的时间和租期的时长,以及其他配置信息(比如默认网关、DNS服务器地址)。接收到ACK后,客户端配置接收到的IP地址和相关信息,并可以开始网络通信。

2.2 DHCP的报文类型

  1. DHCPDISCOVER(发现):

    • 客户端发送的第一个报文,用于在网络上广播寻找可用的DHCP服务器。
  2. DHCPOFFER(提供):

    • DHCP服务器对DHCPDISCOVER广播作出的响应,向客户端提供IP地址以及其它配置信息。如果网络上有多个DHCP服务器,客户端可能会收到多个DHCPOFFER。
  3. DHCPREQUEST(请求):

    • 客户端收到一个或多个DHCPOFFER后,选择一个并向网络上所有DHCP服务器广播此请求,确认接受一个特定的DHCPOFFER,并通知其它的DHCP服务器其它的提供将被拒绝。
  4. DHCPACK(确认):

    • DHCP服务器对DHCPREQUEST的回应,确认所分配的IP地址及配置信息,并且通知客户端租约的期限。
  5. DHCPNAK(否认):

    • 如果在处理DHCPREQUEST过程中出现错误,或者请求的IP地址不再有效或不可用,DHCP服务器会向客户端发送DHCPNAK报文,拒绝请求。
  6. DHCPRELEASE(释放):

    • 客户端在不再需要IP地址时发送DHCPRELEASE报文至DHCP服务器,以指示它正式释放分配的IP地址。
  7. DHCPDECLINE(拒绝):

    • 如果客户端判断所分配的IP地址已经在网络中被其他设备使用,它会发送DHCPDECLINE报文至DHCP服务器,以拒绝所提供的IP地址。
  8. 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 -y

rpm -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    #查看是哪个服务器解析的域名

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值