一.查看网络配置
1.查看网络接口信息 - ifconfig
① 直接使用 ifconfig 命令 默认显示活动的网卡
解析:
② ifconfig 具体网卡名称 只显示具体的网卡的信息
③ ifconfig -a 显示所有的网卡
④ ifconfig 网卡名称 down 关闭网卡
ifdown 关闭网卡
添加一个网卡
ifdown 网卡名称
⑤ ifconfig 网卡名称 up 开启网卡
ifup 网卡名称
ifup 网卡名称
⑥ ifconfig ens33:0 ip地址/子网掩码 设置虚拟网卡
⑦ ifconfig -s 显示网络通讯情况
2. 网卡名称的修改
2.1 网卡名称解释
在不带任何选项和参数执行 ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息
网卡名称详解:
ens33:第一块以太网卡的名称详解:
“ens33”中的
-
“en”是“EtherNet”的缩写,表示网卡 类型为以太网,
-
“s” 表示热插拔插槽上的设备(hot-plug Slot),
-
数字“33”表示插槽 编号
centos6 网卡 名称叫eth0
2.1.1查看网卡信息
小问题:如何确定哪一根网线对应哪一个网卡
ethtool -p ens33 让ens33网卡快速闪烁,前提得开启
2.2 临时修改网卡名称
2.3 永久修改网卡名称
重启之后发现,网络不可用了,那是因为,原网卡配置文件里面的名字与修改后的名字不匹配!
3. 双网卡配置
3.1 添加一块网卡
3.2 在新的网卡里面配置文件
3.3 重启网络服务,生效
4. bond网卡绑定
将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。
Bonding 聚合链路工作模式
mod=1,即: (active-backup) Active-backup policy(主-备份策略)只有Active状态的物理接口才转发数据报文。容错能力—只有一个slave是激活的(active)。也就是说同一时刻只有一个网卡处于工作状态,其他的slave都处于备份状态,只有在当前激活的slave故障后才有可能会变为激活的(active)。无负载均衡—此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。
① 创建booding设备的配置文件
NAME=bond0:定义了这个网络接口的名称为bond0。
TYPE=bond:表示这是一个绑定类型的网络接口,即它是由多个物理网卡通过绑定技术聚合而成的逻辑接口。
DEVICE=bond0:再次指明网络设备的名称为bond0。
BOOTPROTO=static:与之前解释的一样,意味着在启动时不会使用DHCP或静态配置来自动获取IP地址,而是根据本配置文件中的设置来配置网络参数。
IPADDR=192.168.83.100:设置了bond0接口的IP地址为192.168.83.100
PREFIX=24:表示子网掩码是24,即255.255.255.0。
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也进一步确认了它是作为绑定接口的从属部分
③ 在修改第二快网卡的配置文件
④ 重启网卡生效
验证:
查看bond0状态
删除bond0
方法二:
#添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.91.123/24
#添加从属接口
nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens36 master bond0
#注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
#要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens36
#启动绑定
nmcli con up mybond0
二.主机名称配置文件
1.查看主机名 - hostname
2. 修改主机名
2.1 临时修改主机名
2.2 永久修改主机名
① 通过修改 /etc/hostname 文件来修改主机名(只有写在第一行有用)
② 通过hostnamectl 来修改主机名
三.route 查看或设置主机中的路由表信息
① route 查看路由表
② route -n 以数字形式显示路由表
③ route add -net 10.0.0.0/8 gw 192.168.44.20
添加一条去往10.0.0.0段的路由,通过网关192.168.44.2 转发
④ route del -net 10.0.0.0/8 删除去往10.0.0.0段的路由
⑤ route add -net 0.0.0.0(default) gw 192.168.44.2 添加默认路由
⑥ route del -net 0.0.0.0(default) 删除默认路由
⑦ 永久添加路由
方法一:
在配置文件里面添加内容的格式
目标网段/子网掩码 via 网关
方法二:
四. netstat ss 查看网络连接情况
netstat 和 ss 都是查看网络连接情况
netstat 要去遍历文件查看状态,速度慢
ss 更靠近内核,速度快
一般使用 ss 命令
选项 | 说明 |
-t | tcp协议相关 |
-u | udp协议相关 |
-n | 数字格式 |
-a | 所有 |
-p | 相关的程序及PID |
-w | 裸套接字相关 |
-x | unix sock相关 |
-l | listen状态的连接 |
-e | 扩展的信息 |
-m | 内存用量 |
-o | 计时器信息 |
-r | 把 IP 解释为域名,把端口号解释为协议名称 |
五.ping 测试网络连通性
选项 | 含义 |
-c 数字 | 发送数字个包 |
-w 数字 | 等待数字秒 |
-t | 无终止ping |
六. traceroute 路由追踪
格式:traceroute ip地址
七. nslookup 域名解析
nslookup是一个命令行工具,用于查询DNS(域名系统)服务器以获取关于主机名或IP地址的信息。它主要用于诊断网络问题、验证DNS记录的正确性以及了解域名解析的过程。
DNS域名解析 将域名翻译成ip地址,然后封装成数据包
小问题:
1. 怎么验证dns服务器是否可以解析域名
host dig nslookup ping
2. 域名解析文件
在 /etc/hosts 设置 优先级大于域名服务器(此域名是你设置好的dns1 8.8.8.8)
3. 查看服务器上的域名是否生效
cat /etc/resolv.conf
八. tcpdump 数据抓包
网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。
格式: tcpdump [选项] [表达式]
选项:
-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<数据包文件> 把数据包数据写入指定的文件。
实例:
① tcpdump -D 查看网卡
② tcpdump -i ens33 指定查看 ens33 网卡
③ 监听特定主机 ,监听与192.168.44.30 的数据包
④ 监听来源于192.168.44.20的数据
⑤ 监听目标地址为192.168.44.20的数据包
⑥ 只抓来源于192.168.44.30,目的地址是192.168.44.20 的icmp协议的包
-nn:禁止将IP地址和端口号转换为主机名和服务名,提高输出速度
-vv:显示更多详细信息
-i ens33:显示ens33网卡的信息
icmp:代表只显示icmp协议的数据包
and:各表达式之间使用and连接
src host ip地址:出发地址
dst host IP地址:目标地址
⑦ 抓取到文件后并保存,使用 -r 查看