自学网络

Posted honpey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自学网络相关的知识,希望对你有一定的参考价值。

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用户态工具】

以上是关于自学网络的主要内容,如果未能解决你的问题,请参考以下文章

**.Python自学之路:网络编程

Kubernetes网络自学系列 | 终于等到你:Kubernetes网络

Kubernetes网络自学系列 | 前方高能:Kubernetes网络故障定位指南

Kubernetes网络自学系列 | Linux隧道网络的代表:VXLAN

Kubernetes网络自学系列 | 最常用的Docker网络技巧

自学宝典从零开始自学网络安全,按照这个路线就可以了