Linux网络基础
目录
一、Linux 网络相关概念和修改 IP 地址的方法
(一)网卡的命名规则
centos6之前的命名方式都是以网络接口使用连续号码命名:如eth0、eth1等,当增加或者删除网卡时,名称可能会发生变化
centos7,使用dmidecode采集命名方案
规则1:
对于板载设备命名合并固件或 BIOS 提供的索引号,如果来自固件或 BIOS 的信息可读就命名,比如eno1,这种命名是比较常见的,否则使用规则2。
规则2:
命名合并固件或 BIOS 提供的 PCI-E 热插拔口索引号,比如 ens1,如果信息可读就使用,否则使用规则3。
规则3:
命名合并硬件接口的物理位置,比如 enp2s0,可用就命名,失败直接到方案5。
规则4:
命名合并接口的 MAC 地址,比如 enx78e7d1ea46da,默认不使用,除非用户选择使用此方案。
规则5:
使用传统的方案,如果所有的方案都失败,使用类似 eth0 这样的样式。
输入cd ?/etc/sysconfig/network-scripts回车运行脚本,再输入ls查看网卡名称
直接输入ifconfig 查看网卡信息
enX(X 常见有下面 3 种类型) :
o:主板板载网卡,集成设备的设备索引号。?
p:独立网卡,PCI 网卡
s:热插拔网卡,usb 之类,扩展槽的索引号
nnn (数字)表示:MAC 地址+主板信息计算得出唯一的序列
(二)ifconfig的使用方法
1.ifconfig是linux系统查看本机网络地址的命令,与windows系统的ipconfig一字之差
2.输入ifconfig查看网卡信息
上图信息表示:
第一行
ens33: (第一块以太网卡的名称)
en:标识ethernet
s:热插拔网卡,USB之类的扩展槽索引号
33:网卡的一个编号
UP:网络接口被启用 (若没被启用就是down)
BROADCAST:主播地址或广播地址
RUNNING:网卡设备已连接
MULTICAST:支持组播
mtu 1500:(Maximum Transmission Unit)最大传输单元大小为 1500 字节
第二行:该网卡的 IP 地址,子网掩码,广播地址
inet:网卡的IP地址
netmask:子网掩码
broadcast:广播地址
第三行:IPV6 的配置信息
第四行:网卡的 MAC 地址《ether 表示连接类型为以太网 ?txqueuelen 1000 -->传输队列的长度
ether:网卡的Mac地址
?第五行代表了接收数据包的个数和大小的统计信息
?第六行代表了异常接收的数据包的个数,包括丢包丢几个和错误信息
?第七行代表了发送数据包的个数和大小的统计信息
第八行代表了异常接收的数据包的个数,包括丢包丢几个和错误信息
(RX表示接收) ? ? ? (TX表示发送)
(三)修改IP地址
1.临时修改IP地址
输入ifconfig ens33 +新的IP地址 ?(network ?255.255.255.0)括号里的是子网掩码,可输可不输,不输的话就是默认
注释:
①修改地址后,当前连接会中断,如果你连接了xshell这类软件,此时会断开连接,需要重新输入新的ip地址进行连接
②新的IP地址网卡重启后失效:输入systemctl restart network回车
如果不想查看多余信息,可以输入 ifconfig ens33只看网卡地址
2.添加多个临时IP地址
ifconfig 网卡名称:0第一个IP地址 (network 子网掩码)------增加第一个IP地址
ifconfig 网卡名称:1第一个IP地址 (network 子网掩码)------增加第一个IP地址
注释:
①在这里也是一样的,括号内容是子网页码,可以输也可以不输,不输的话就是默认
②网卡名称后面也可以从1开始添加,但是需要依次添加
2.永久修改IP地址方法
通过修改网卡配置文件改 IP 地址
配置网卡信息vim? ?/etc/sysconfig/network-scripts/ifcfg-ens33
重启网卡后生效
(四)删除临时IP地址
两种方法?
?1.想保留一些信息的,删除指定的IP地址,输入ifconfig 网卡名称:网卡序号 del 相应的IP地址
2.重启网卡:systemctl restart network
? (五)网络相关的配置文件
1 ? IP 地址,子网掩码等配置文件 ?:ls /etc/sysconfig/network-scripts/ifcfg-ens33
2 ?网络回环地址 : ls /etc/sysconfig/network-scripts/ifcfg-lo
3 ?DNS配置文件 :cat /etc/resolv.conf
4 ?主机和 IP 绑定信息:cat ?/etc/hosts ? ? ? ?
5 主机名:cat /etc/hostname
(六)双网卡
首先添加一块网卡
打开它的配置文件去进行设置
删除UUID,防止网卡冲突
重启网卡后就会生效
(七)修改网卡名称
1.临时修改网卡名称
先down掉:ifconfig ?网卡名 down
修改网卡名:ip ?link ?set ens36 ?name kysw,开启网卡:ifconfig ???kysw ?up
这是因为网卡的配置文件还没有改??vim ?/etc/sysconfig/network-scripts/ifcfg-ens36
修改完毕之后,重启一下网卡服务就可以了
永久修改网卡名
临时修改网卡名称,重启之后就会失效,想要永久修改网卡名称,需要写道文件当中
vim 打开 /etc/default/grub??
修改后重新加载一下grub文件
可以看到,名字是修改了,但是没有网络,与临时修改一样,需要去重新修改网卡配置文件?
(八)多网卡绑定
bond(绑定)是指将两个或多个物理网卡虚拟化为一个逻辑接口的过程,以实现冗余、负载均衡或增加带宽。这种技术通常被称为“网络接口绑定”或“链路聚合
首先要创建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的信息? cat ?/proc/net/bonding/bond0
将该网卡关闭后,备用网卡就会自动开启
删除bond?
二、主机名
(一)临时修改主机名
hostname? 新主机名
重启之后就会失效
(二)永久修改主机名
1.使用命令
hostnamectl set-hostname 新主机名
2.修改配置文件
重启之后就会生效
三、配置路由
命令之----route
作用:查看或设置主机中路由表信息
(一)基本信息
route ?-n 以数字形式显示路由
Destination:目标网络地址或者子网。可以是单个IP地址、默认路由(0.0.0.0)或特定的网络地址
Gateway:需要通过这个网关(路由器)进行转发。如果为"0.0.0.0" 或同主机地址,则说明直接通过本机接口发送(无须经过其他路由器)。
Genmask:子网掩码,用于确定目的IP地址与Destination字段指定的网络是否匹配。
Flags:标志位,表示路由的特性
Metric:度量值,决定在有多条到达同一目的地的路由时选择哪一条路由。通常情况下,数值越小优先级越高
Ref :参考计数,表示路由更新次数或其他内部引用次数
Use:使用计数,记录了该路由被使用的次数
Iface:数据包将从哪个网络接口发出。这是实际执行数据传输的物理或逻辑网络设备名称
(二)添加路由
添加一条去往10.0.0.0/8段的路由,通过192.168.83.2转发
添加一条默认路由,通过192.168.83.2转发
重启之后生效
可以看到,之前添加的路由信息,重启之后就会失效
(三)删除路由
使用命令删除
或者直接删除配置文件
(四)路由追踪
使用traceroute命令,可以显示数据包从本地主机到目标主机经过的路由路径。通过发送一系列具有不同TTL(Time to Live,生存时间)值的数据包(通常使用ICMP或UDP协议),当数据包达到其TTL值时,沿途路由器会丢弃该数据包并返回一个ICMP超时报文,从而揭示了数据包所经过的每一跳路由器的信息。
去往192.168.83.1只需要经过一个路由,最多只显示30个
四、检查网络环境
命令之-----ss、netstat
这两条命令都是用于查看网络环境情况,
ss:更靠近内核?
netstat:更靠近用户
所以,我们在操作时,一般使用ss命令
?t: | tcp协议相关 |
?u: | udp协议相关 |
?w: | 裸套接字相关 |
?x: | unix? sock相关 |
?l: | listen状态的连接 |
?a: | 所有 |
?n: | 数字格式 |
?p: | 相关的程序及PID |
?e: | 扩展的信息 |
?m | 内存用量 |
?o | 计时器信息 |
?ss? -natp 命令会列出当前系统中所有与TCP相关的连接,并显示它们的详细信息
五、查询域名
nslookup是一个命令行工具,用于查询DNS(域名系统)服务器以获取关于主机名或IP地址的信息。它主要用于诊断网络问题、验证DNS记录的正确性以及了解域名解析的过程。
Name:?www.wshifen.com?Address: 104.193.88.77?和?Name:?www.wshifen.com?Address: 104.193.88.123:最后得到的是A记录,即www.wshifen.com
对应的IP地址,分别为104.193.88.77和104.193.88.123。这意味着访问www.baidu.com
实际上会连接到这两个IP地址之一。通常情况下,这种设置是为了负载均衡或高可用性目的
六、数据抓包
tcpdump命令,?是一个强大的网络协议分析器,它主要用于监控和捕获网络流量数据包,并能够以易于阅读的格式显示这些信息。在Linux和其他类Unix系统中广泛使用,是网络管理员、安全专家和开发者进行网络故障排查、性能分析以及安全审计的重要工具。
基本语法是: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<数据包文件> 把数据包数据写入指定的文件。
实际操作:
1.查看网卡:tcpdump? -D
2.指定查看ens33的网卡:tcpdump? -i? ens33
3.监听特定主机 ,监听与192.168.83.30的数据包
4.监听来源于192.168.83.30的数据
5.监听目标地址为192.168.83.30的数据包
6.只抓来源于192.168.83.40,目的地址是192.168.83.30的icmp协议的包
-nn:禁止将IP地址和端口号转换为主机名和服务名,提高输出速度
-vv:显示更多详细信息
-i? ens33:显示ens33网卡的信息
icmp:代表只显示icmp协议的数据包
and:各表达式之间使用and连接
src? host? ip地址:出发地址
dst? host? IP地址:目标地址
7.抓取到文件后并保存,并进行使用 -r 查看
以上就是tcpdump命令的一些基本用法。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!