1)机器上有好几个IP地址,如何让网卡只接收自己IP地址的数据包;

如何只接收自己网卡的数据包

http://www.cnblogs.com/honpey/p/8447819.html

相关的配置arp_filter和arp_ignore这两个参数是干嘛的?

设置arp_ignore就好,这里控制的如果IP地址发给我网卡绑定的IP地址,那么我是否要回复对端发给自己的mac地址。但是如果对端的arp缓存中保存着我们的IP地址的话,那么这些数据包在短时间内还是会发给我的,这个时候我仍然可能收到数据包的,此时就需要rp_filter来帮忙的了,如果把rp_filter设置成1就可以对IP数据包进行检查了,会丢掉这样的数据包了,保证不收此类数据包。  

此时涉及到一件事情,arp缓存的生存周期是啥?

网络数据包如何过滤掉!如果收到的网络数据包的目的地址并不是接收网卡的数据包,如何过滤掉这样的数据包,如何过滤掉这样的数据包?

arp_filter是干嘛的?

rp_filter是在IP层面转不转发包,对源地址和端口号进行检查的,但是

在IP层没有过滤机制去过滤掉不是从我本网卡上IP地址分配的数据包,这也是不合理的,这是因为比如一个服务器有两张网卡A和B,

其中A的地址是192.168.0.110

B的地址是10.111.112.3

服务器一般是不会有这样的情况吧,两张网卡一般是公网的路由器,服务器一般就是一张网卡

试着从协议层去理解一下把,arp是在一个局域网内找寻地址,那为啥不在我的入口的网卡上而是找我别的网卡呢?这在局域网上是很可疑的;但是这种情况倒是也存在;然后进入了网络层IP层之后,如果数据包的返回包不是按照原路返回的,这个是和组网相关的,如果数据包的返回包都出不了局域网,那么这就非常之可疑了,所以rp_filter就是在ip层的一个过滤了,这种是最可疑的数据包了;arp_filter又是干了啥事呢?

https://www.cnblogs.com/lipengxiang2009/p/7446388.html

然后就是arp_filter了

https://www.cnblogs.com/lipengxiang2009/p/7451050.html

这几篇帖子不错

========

这篇文章把arp_ignore和arp_announce说得很清楚,以LVS为例,大家肯定能看明白,在这里我就啰嗦

http://www.bubuko.com/infodetail-1946561.html

A(client)192.168.0.111 边界路由器

B(direct) eth0:192.168.0.110s到

C(relServer) lo:1: 192.168.0.110 设置arp_ignore=1

A发送arp请求192.168.0.110的地址,此时C是不会回应的,因为设置了arp_ignore=1,只有B回应,B 接收到数据包之后,根据负载均衡算法,不改源和目的ip地址,将目的mac地址转变成了C的mac地址,C收到了数据包之后就开始处理了,然后是返回数据包,问题就来了,然后请问边界路由器的地址,边界路由器收到了来自C的arp请求,会导致C将mac地址和ip地址重新映射,咋重新映射的呢?不对啊,在LVS模式下目的IP地址并不会是出口的IP地址,而是vip的地址呀!!这样客户端才不知道自己的ip地址是啥子嘛,否则如果被客户端知道了,那么发起洪泛攻击岂不是很容易咯!!!!所以这里一定要返回vip的,那么这样问题就来了呢,由于C和A做了arp的请求,此时A中的对于vip和mac地址的映射就变掉了,A上的对vip会被c1,c2,c3,c4不断地换来换去,也就是说B段没有流量了。。。。。director的作用没有了,怎么解决呢?

1)解决方法1:只有自己主动请求的才会更新arp,别人问我的我不跟新

2)解决方法2:发送端的mac还是使用dicrector的;

现在有一个数据包要发送,源地址不确定【比如】,用哪个ip地址来发送arp的请求,【数据包中的源ip地址和接口的ip地址不一致时】用什么地址来发送arp请求?完美的解决方法,

端口ip VS 数据包IP

端口ip  VS 数据包iP

端口ip VS 数据包IP

做这个决定的是arp_anounce参数

arp_anounce=0: 默认情况

arp_anounce=1:使用该网口的ip地址

arp_anounce=2

但是LVS中有个一个DR模式:域的边界不是路由器而是一些交换机

lvs-DR模式是和lvs-NAT模式对应的,nat也可以做转发嘛;

DR模式就是更改MAC地址的方法,arp表什么时候更新呢?arp表什么时候更新呢?我发出请求的时候更新,比如谁有192.168.0.110的时候,192.168.0.110向我回复时更新,还有就是当别人向我请求的时候,我也可以更新啊,在树莓牌上试验下咯

树莓派 --- 主机

清空树莓派上的所有的arp的缓存:arp -d 192.168.0.110

然后从主机ping树莓派的IP地址,发现树莓派上多了主机的IP地址的缓存。

【这些好玩的linux用户态工具】

自学网络 arp_ignore/arp_announce的更多相关文章

  1. Linux 内核参数 arp_ignore & arp_announce 详解

    arp_ignore定义了对目标地址为本机IP的ARP询问的不同应答模式. arp_announce对网络接口(网卡)上发出的ARP请求包中的源IP地址作出相应的限制:主机会根据这个参数值的不同选择使 ...

  2. Lvs之NAT、DR、TUN三种模式的应用配置案例

    LVS 一.LVS简介     LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的 ...

  3. 使用Keepalived构建LVS高可用集群

    LVS的DR模型配置+Keepalive部署 介绍 下图为DR模型的通信过程,图中的IP不要被扑结构中的IP迷惑,图里只是为了说明DR的通信原理,应用到本例中的拓扑上其工作原理不变. 拓扑结构 服务器 ...

  4. LVS的DR模型配置

    LVS的DR模型配置 介绍 下图为DR模型的通信过程,图中的IP不要被扑结构中的IP迷惑,图里只是为了说明DR的通信原理,应用到本例中的拓扑上其工作原理不变. 拓扑结构 服务器 IP地址 角色 Srv ...

  5. Centos7+LVS-DR+Apache负载均衡web实验

    一.简介 1.理论已经在上一篇博客简述,不了解得可以看看 https://www.cnblogs.com/zhangxingeng/p/10497279.html 2.LVS-DR优缺点复习 关于这种 ...

  6. LVS ARP广播产生的问题和处理方式【转】

    转自 LVS ARP广播产生的问题和处理方式-htckiller2010-ChinaUnix博客http://blog.chinaunix.net/uid-24960107-id-193084.htm ...

  7. LVS基于DR模式搭建负载均衡群集

    LVS -DR模式集群架构原理图

  8. LVS 负载均衡 (VS/DR模式 与 VS/TUN 模式)

    一.VS/DR模式 ①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP. ②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将目标MAC改为了RIP的MAC ...

  9. centos配置LVS

    LVS有三种工作模式:NAT, TUN, DR.  DR是三种工作模式中性能最高的,TUN次之. 本文记录LVS/TUN和LVS/DR工作模式的配置过程. 环境: 三台CentOS 7 x64 虚拟机 ...

随机推荐

  1. Linux字符设备驱动--No.1

    平台:tiny210SOC:s5pv210内核:Linux 3.0.8字符驱动:按键中断驱动源码: /************************************************* ...

  2. linux进程篇 (三) 进程间的通信3 IPC通信

    3 IPC通信 用户空间 进程A <----无法通信----> 进程B -----------------|--------------------------------------|- ...

  3. HDL代码风格建议(1)使用示例和IP

    Recommended HDL Coding Styles HDL coding styles can have a significant effect on the quality of resu ...

  4. 20145209 2016-2017-2 《Java程序设计》第3周学习总结

    20145209 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 1.构造方法决定类生成对象的方式 用this将已存在的参数的值指定给此参数. 用new建立新 ...

  5. Prism for WPF 搭建一个简单的模块化开发框架(一)

    原文:Prism for WPF 搭建一个简单的模块化开发框架(一) 最近闲来无事又想搞搞WPF..... 做个框架吧,可能又是半途而废....总是坚持不下来 不废话了, 先看一下工程结构 布局大概是 ...

  6. c#调用c++库函数

    如果是非托管的,就用DllImport,举例    using System;    using System.Runtime.InteropServices;    class MainApp    ...

  7. 成都Uber优步司机奖励政策(1月14日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  8. 180619-Yaml文件语法及读写小结

    Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单:本篇主要介绍下YAML文件的基本语法,以及如何在Ja ...

  9. requests,lxml爬启信宝

    首先, 添加requests模块: 然后, 添加lxml模块: 启信宝登录抓包: QiXinBao.py: import requestsfrom lxml import etree loginUrl ...

  10. labview--http协议数据交互

    最近接了一个项目,需求是要将采集到的数据,以以下要求上报,并且提供接口供上层系统下发指令. 采用restful的http协议进行交互: 输入输出参数皆为json体. 响应包含三部分: Code:业务码 ...