IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 验证arp的reply回答机制 -> 正文阅读

[系统运维]验证arp的reply回答机制

??????? 给研发定位过一个故障,一个核心网的嵌入式设备,接基站的下连网口和接大网的ggsn网卡接在同一交换机下时,ssh很难登录上去,ping时通时断。当时定位发现,长ping时,ping的request消息的目的mac地址发生了变化,和正常回包的mac最后一段有差异,过滤arp发现,有arp应答消息改变了mac地址,串口登录嵌入式设备,发现这个mac地址是设备的一个网卡的mac,设备有时发的arp的reply正常,有时不正常。不正常时,用非本网口的mac地址回答其他网卡的arp请求。最后用一个可划分vlan的三层交换机进行vlan隔离,两个网卡接在不同的硬件vlan中解决的问题。

??? 查找资料,得知arp的reply机制有如下规定:

arp_ignore参数的作用是控制系统在收到外部的arp请求时,是否要返回arp响应。
  arp_ignore参数常用的取值主要有0,1,2,3~8较少用到:
0:响应任意网卡上接收到的对本机IP地址的arp请求(包括环回网卡上的地址),而不管该目的IP是否在接收网卡上。
1:只响应目的IP地址为接收网卡上的本地地址的arp请求。
2:只响应目的IP地址为接收网卡上的本地地址的arp请求,并且arp请求的源IP必须和接收网卡同网段。
3:如果ARP请求数据包所请求的IP地址对应的本地地址其作用域(scope)为主机(host),则不回应ARP响应数据包,如果作用域为全局(global)或链路(link),则回应ARP响应数据包。
4~7:保留未使用
8:不回应所有的arp请求

这个参数在linux配置文件里:

?验证方法:一台服务器有192.168.205.18/24的eth0和172.102.201.100的eth2的ip设置,pc的ip是192.168.205.201和服务器在不同的交换机下,但vlan是通过交换机的trunk口打通的,就是说205网段arp广播消息是可达的。现在给pc添加一个172.102.201.145/24的地址,服务器修改配置文件里的arp_ignore为0和1,用ping一下eth2的172.102.201.100,查看是否从eth0收到查询eth2的arp请求消息,是否有arp应答消息?

1、设置arp_ignore为0,arp请求的目的ip只要是服务器上配置的ip的请求,无论是否是本网口的ip,都发reply消息,而且mac地址是收到消息网卡的mac地址,查看结果。

echo? 0 >> /proc/sys/net/ipv4/conf/eth2/arp_ignore
echo? 0 >> /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo? 0 >> /proc/sys/net/ipv4/conf/default/arp_ignore

查看路由情况:

确定访问172.102.201.0走直连路由。

打开抓包,cmd下arp? -d,去ping 172.102.201.100。

而这个地址20:04:0f:ef:89:d4是服务器eth0的mac地址,见下图:

?wireshark看结果:

?结论:arp_ignore为0,只要是arp的目的ip是本服务器的上的ip,都响应。而且用收到消息的网卡mac地址响应。

2、arp_ignore改成1,只回答收到arp请求目的ip是网卡本身配置的ip的请求,其他不响应

?

?

显然,这时结果是无法访问目的主机,要不到mac地址。

wireshark里有下面显示:

再去ping192.168.205.18,查看mac缓存表

目的ip是网卡的ip,是响应的。

用测试软件构造一个arp包,源ip是192.168.1.100,目的ip是192.168.208.18的包,测试是应答的。

?

?源ip不是和目的ip不在同一网段,但目的ip是网卡的配置ip,也响应。

?结论:当arp_ignore为1时,只验证arp目的ip是否是接收arp消息的网卡配置的ip,是就应答

?3、arp_ignore改成2,只回答收到arp请求目的ip是网卡本身配置的ip的请求,而且源ip还必须和本网口ip在同一网段,否则不响应。

?用测试软件构造一个arp包,从网卡上发出,看看源ip是192.168.1.100

发出后发现arp无响应

?

ping172.102.201.100,结果无法访问目标主

?而去ping192.168.205.18,eth0自身的ip,是能ping通。

?用发包测试软件构造一个arp请求包,源ip是192.168.1.100,目的ip是192.168.205.18的是服务器eth0的ip。

?

?结论:arp_ignore设置为2,只有目的ip是本网口配置ip,而且还验证源ip是否是和配置ip在同一网段。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:46:41  更:2021-11-23 12:48:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:28:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码