目录
一、网络配置命令
1.ifconfig——IP地址
1.1ifconfig的基础用法
1.1.1ifconfig命令详解
1.2常用格式
1.3修改网卡名称
1.3.1临时修改
1.3.2永久修改
1.4临时修改网卡
1.4.1设置虚拟网卡
1.4.2延伸——ethtool
1.5永久修改网卡
1.6实验 —— 双网卡配置
1.6.1添加新的网卡
1.6.2将ens33的配置文件拷给ens36
1.6.3进入ens36进行配置文件修改
1.6.4测试
2.ip
2.1ip link——数据链路层
2.2ip address——网络层
2.3ip路由
3.hostname——主机名
3.1临时性修改主机名
3.2永久性修改主机名
4.route——查看路由表条目
4.1如何查看路由
4.2添加/删除路由
4.3永久添加路由——重点!!!!
5.ss/netstat——网络连接状态
5.1ss与netstat最主要的区别
6.ping——测试网络连通性
7.traceroute——路由追踪
8.nslookup——域名解析
8.1延伸——dig
8.2怎么验证DNS服务器是否可以解析域名
8.3域名解析文件
8.3.1hosts文件和DNS服务器的比较
8.4查看服务器上的域名是否生效
9.scp——远程同步
10.bond——网卡聚合(多网卡)
10.1bond的作用
10.2Bonding聚合链路工作模式
10.2.1网卡聚合实验一(通过手写配置文件操作)
添加网卡
切换到配置文件目录下
进入bood0进行配置
修改ens33网卡配置
修改ens36配置
重启网卡
测试
11.tcpdump——数据抓包
11.1格式
11.2选项及说明
11.3演示
11.3.1tcpdump -D 查看网卡
11.3.2tcpdump -i ens33 指定查看ens33 网卡
11.3.3tcpdump host 192.168.241.11 -i ens33
11.3.4tcpdump src host hostname——监听特定来源的包
11.3.5tcpdump dst host hostname——监听特定地址的包
11.3.6延伸
二、DHCP
1.主机获取网络配置可以通过两种方式
2.UDP协议,C/S模式,dhcp server: 67/udp,dhcpv4 client :68/udp, dhcpv6 client: 546/udp 主要用途
3.DHCP一次完整的过程
3.1重新登录
3.2更新租约
4.DHCP报文类型
5.实验操作——DHCP分配地址
5.1首先安装DHCP软件
5.2切换目录并拷贝配置文件信息
5.3修改配置文件
5.4验证
5.4.1验证方法一 使用Windows验证
5.4.2验证方法二 —— 使用Linux系统验证
6.实验二 ——分配固定地址
6.1修改配置文件为Windows系统配置固定地址
将Linux主机接入到网络,需要配置网络相关设置
一般包括如下内容:
来源于net-tools包
在不带任何选项和参数执行ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息
ifconfig -a可以查看所有网卡信息(包括被关闭的网卡)
ens33:第一块以太网卡的名称详解
ens33中:“en”是”EtherNet“的缩写,表示网卡类型为以太网
“s”表示热插拔插槽上的设备(hot-plug-Slot)
数字“33”表示插槽编号
内容 | 含义 |
ens33 |
第一块以太网卡的名称 |
flags=4163 | 该接口 |
已启用 |
|
BRADCAST | 支持广播 |
RUNNING | 正在运行 |
MULTICAST | 支持组播 |
mtu 1500 | 最大传输单元1500字节 |
inet 192.168.241.11 | IP地址 |
netmask 255.255.255.0 | 子网掩码 |
broadcast 192.168.241.255 | 广播地址 |
inet6 fe80::de6f:32c8:5a64:a6b2 | Ipv6地址 |
prefixlen 64 | 子网长度 |
scopeid 0x20 | 作用域 link表示仅该接口有效 |
ether 00:0c:29:51:4b:b5 | mac地址 |
txqueuelen 1000 | 传输队列长度(传输缓存大小) 接口类 |
RX | 接收 |
packets 213 | 报文个数 |
bytes 24393 | 总和字节数 |
errors | 错误 |
dropped | 丢弃 |
overruns | 溢出 |
frame | 冲突帧数 |
carrier | 载荷数 |
collisions | 冲突数 |
ip link set ens36 down
#先将网卡ens36down掉
ip link set ens36 name abc
#修改名字
ip link set abc up
#启动网卡
[root@localhost ~]#vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"
#加入net.ifnames=0
GRUB_DISABLE_RECOVERY="true"
[root@localhost ~]#grub2-mkconfig -o /boot/grub2/grub.cfg
#重新生成grub的配置文件
修改网卡之后连接不上了,可进入终端进行修改
TYPE=Ethernet
#接口类型
BOOTPROTO=static
#地址获取方式 手动配置 dhcp 动态获取
NAME=ens37
#网卡名称
DEVICE=ens37
#网卡
ONBOOT=yes
#开机是否自启 开启
IPADDR=192.168.91.10
#地址
NETMASK=255.255.255.0
#子网掩码
GATEWAY=192.168.91.2
#网关
DNS1=8.8.8.8
#将ip地址转换成 域名
修改之后就可以了
ethtool -p ens33命令可以让ens33网卡快速闪烁(便于找到该网卡进行操作)
永久修改网卡的话,需要将配置写入文件vim /etc/sysconfig/network-scripts/ifcfg-ens33
只保留如下行
类型 | 含义 |
---|---|
TYPE=Ethernet | 网卡的类型 |
BOOTTPROTO=static | ip地址获取方式 |
NAME=ens33 | 网卡的描述一般和DEVICE一样 |
DEVICE=ens33 | 网卡的名称,必须和ifconfig中看到的一样 |
ONBOOT=yes | 开启自启动 |
IPADDR=192.168.91.100 | ip地址 |
NETMASK=255.255.255.0 | 子网掩码 PREFIX=24 |
DNS1=8.8.8.8 | dns服务器1 |
DNS2=114.114.114.114 | dns2服务器2 |
可以输入命令ip a =ip address
查看或设置当前主机名
hostname 主机名
hostnamectl set-hostname cxk
或者进入vim /etc/hostname进行修改
注意:vim /etc/hostname仅第一行是有效主机名,并且重启后生效
route命令查看或设置主机中路由表信息
路由表的主要构成 | |
Destination | 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低 |
Genmask | 目标网络对应的netmask |
Iface | 到达对应网络,应该从当前主机哪个网卡发送出来 |
Gateway | 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0 |
Metric | 开销cost,值越小,路由记录的优先级最高 |
route add -net 网段地址 gw IP地址 | 添加指定网段的路由记录 |
route del -net 网段地址 | 删除指定网段的路由记录 |
route add default gw IP地址 | 向路由表中添加默认网关记录 |
route del default gw IP地址 | 删除路由表中默认的网关记录 |
添加一条去往10.0.0.0段的路由,通过网关localhost.local(本机)进行转发
删除去往10.0.0.0段的路由
添加默认路由
删除默认路由
进入vim /etc/sysconfig/network-scripts/route-ens33编辑添加永久路由
重启网卡,查看网卡信息
服务不能用,ftp、httpd网页无法访问
1.首先ping 是否能通;看网络是否通,防火墙是否关闭
2.查看服务是否开启systemctl status 服务名
3.ss 或 netstat 看服务端口是否被占用
4.查看服务的配置文件是否正确
ss(scket statistics) | |
-t | tcp协议相关 |
-u | udp协议相关 |
-w | 套接字相关 |
-x | unix sock相关 |
-l | listen状态的连接 |
-a | 所有 |
-n | 数字格式 |
-p | 相关的程序及PID |
-e | 扩展的信息 |
-m | 内存容量 |
-o | 计时器信息 |
-r | --resolve 把IP解释为域名,把端口号解释为协议名称 |
netstat | |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-l | 显示处于监听(Listening)状态的网络连接及端口信息 |
-t | 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 |
-u | 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限) |
ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。 但 ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
选项 | 含义 |
-c | 指定发送多少个包 |
-w | 指定等待时间 |
-t | 无终止ping |
ping 地址 会一直ping Ctrl + c 退出
ping -c指定ping包
ping -w 指定几秒返回
格式:tarceroute IP地址
测试DNS域名解析
nslookup 目标主机地址 [DNS服务器地址]
同样,Windows也自带着域名解析工具
dig可以查看更详细的信息
nslookup、dig、host、ping
vim /etc/hosts
写在配置文件(/etc/hosts)中的优先级大于域名服务(域名服务器是自己设置的DNS1 8.8.8.8);
因此在选择中会选择192.168.91.101解析
Windows也有自带的hosts解析文件,存放路径为(C:\Windows\System32\drivers\etc)
本地主机映射文件
/etc/resolv.conf dns
保存的是你DNS服务器的地址
/etc/hosts 文件 保存主机名与IP地址的映射记录
[root@localhost opt]#scp /opt/passwd [email protected]:/opt/passwd
The authenticity of host '192.168.241.22 (192.168.241.22)' can't be established.
ECDSA key fingerprint is SHA256:CcASxxV4CvFA+6w68th3aaCYGbGB3UwaAK1xifsM/Pk.
ECDSA key fingerprint is MD5:d6:ee:2e:4d:f6:34:c5:14:0e:ef:99:8c:54:48:c6:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.241.22' (ECDSA) to the list of known hosts.
[email protected]'s password:
passwd 100% 2101 1.6MB/s 00:00
#scp 命令字
#/opt/passwd 本地文件地址
#[email protected] 对方用户名@地址
#/opt/passwd 同步到对方用户哪个文件夹下
将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的(会引发地址冲突)。
主备模块:可以解决单点故障;
双主模式:可以分摊流量。
mod=0 ,即:(balance-rr) Round-robin policy(轮询)聚合口数据报文按包轮询从物理接口转发。负载均衡—所有链路处于负载均衡状态,轮询方式往每条链路发送报文这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。性能问题—一个连接或者会话的数据包如果从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。Bond0在大压力的网络传输下,性能增长的并不是很理想。需要交换机进行端口绑定。
mod=1,即: (active-backup) Active-backup policy(主-备份策略)只有Active状态的物理接口才转发数据报文。容错能力—只有一个slave是激活的(active)。也就是说同一时刻只有一个网卡处于工作状态,其他的slave都处于备份状态,只有在当前激活的slave故障后才有可能会变为激活的(active)。无负载均衡—此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。
mod=2,即:(balance-xor) XOR policy(平衡策略)聚合口数据报文按源目MAC、源目IP、源目端口进行异或HASH运算得到一个值,根据该值查找接口转发数据报文负载均衡—基于指定的传输HASH策略传输数据包。容错能力—这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。性能问题—该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。如果所有流量是通过单个路由器,由于只有一个网关,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。需要交换机配置为port channel
mod=3,即:broadcast(广播策略)这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。
mod=4,即:(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚合)在动态聚合模式下,聚合组内的成员端口上均启用LACP(链路汇聚控制协议)协议,其端口状态通过该协议自动进行维护。负载均衡—基于指定的传输HASH策略传输数据包。默认算法与blance-xor一样。容错能力—这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。对比blance-xor,这种模式定期发送LACPDU报文维护链路聚合状态,保证链路质量。需要交换机支持LACP协议
mod=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)在每个物理接口上根据当前的负载(根据速度计算)分配外出流量。如果正在接收数据的物理接口口出故障了,另一个物理接口接管该故障物理口的MAC地址。需要ethtool支持获取每个slave的速率
mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡,而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个物理接口的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量
常用的模式为 0,1,3,6
mode 1、5、6 不需要交换机设置
mode 0、2、3、4需要交换机设置
active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel
bond(绑定)是指将两个或多个物理网卡虚拟化为一个逻辑接口的过程,以实现冗余、负载均衡或增加带宽。
cd /etc/sysconfig/network-scripts/
BONDING_OPTS=“mode=1 miimon=100 fail_over_mac=1”其中,
mode=1:指定绑定模式为负载均衡模式(balance-rr,Round-Robin Policy)。这意味着数据包会轮流从各个成员接口发送出去。
miimon=100:MIIMonitor(Media Independent Interface Monitor)间隔设置为100毫秒,用来检查成员接口的链路状态,如果发现某个接口失效,则切换到其他可用接口。
fail_over_mac=1:启用MAC地址转移功能,当主接口失效时,将整个bonding接口的MAC地址迁移到当前活动的从接口上。
BOOTPROTO="static":表示这个网络接口(ens33)在启动时不会尝试通过DHCP或静态配置获取IP地址,而是依赖于其他方式来设置其网络参数。
NAME="ens33":指定了网络接口的名称,这里是ens33,这是Linux内核识别该物理网卡的方式。
DEVICE="ens33":与NAME相同,也是指明了网络设备的名称为ens33。
ONBOOT="yes":表明当操作系统启动时,应自动启动并激活此网络接口。MASTER=bond0 和 SLAVE=yes:这两个选项说明 ens33 网络接口被配置为一个bonding主/从接口的一部分,其中MASTER=bond0表示 ens33 是 bond0 的从接口(slave),而 SLAVE=yes也进一步确认了它是作为绑定接口的从属部分
目前ens33是主流量网卡,ens36是从流量网卡
如果关掉一个,那么从会顶替,继续工作
tcpdump命令, 是一个强大的网络协议分析器,它主要用于监控和捕获网络流量数据包,并能够以易于阅读的格式显示这些信息。在Linux和其他类Unix系统中广泛使用,是网络管理员、安全专家和开发者进行网络故障排查、性能分析以及安全审计的重要工具。
tcpdump option proto dir type
选项 协议 数据的方向 抓取的数据类型
-a 尝试将网络和广播地址转换成名称。
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F<表达文件> 指定内含表达方式的文件。
-i<网络接口> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r<数据包文件> 从指定的文件读取数据包数据。
-s<数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w<数据包文件> 把数据包数据写入指定的文件。
监听特定主机,监听主机10.0.0.100 的通信包
注意:出、入的包都会被监听。
抓取来源于192.168.241.22 目的地址是192.168.241.11的包
其中,
抓取ens33的22端口的包
DHCP: Dynamic Host Configuration Protocol,动态主机配置协议
DHCP客户机每次重新登录网络时,不需要再发送DHCPDIscover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
yum install dhcp -y
cd /etc/dhcp/
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
subnet:分配的子网段
netmask:子网掩码
range:可以分配给客户端使用的IP地址池
option routers:网关
开启或重启dhcp服务 目前dhcp服务器为running 表示正常运行
Windows系统中Win + R输入cmd命令
再输入ipconfig/release #释放ip地址
输入ipconfig/renew #重新获取地址
ipconfig/all #显示所有的网卡配置
再开启一台机器 vim /etc/sysconfig/network-scripts/ifcfg-ens33修改配置文件
重启网卡,查看地址是否更换
vim dhcpd.conf进入配置文件前要先找到Windows的mac地址
重启dhcpd服务 查看dhcpd服务是开启状态
此时 查看Windows的IP地址已经配好了