晋江规划建设局网站注册公司100万意味着什么
晋江规划建设局网站,注册公司100万意味着什么,科技微网站,提升学历报名入口Linux rp_filter、arp_filter、arp_ignore、arp_announce参数说明。我查看了参考资料#xff0c;又去查阅了官方文档#xff0c;凭着我的理解整理了以下文档。各位大神的文档写的很好#xff0c;但都不喜欢断句啊#xff0c;读的我这叫一个累。
参考
1.网络编程之网络丢包…Linux rp_filter、arp_filter、arp_ignore、arp_announce参数说明。我查看了参考资料又去查阅了官方文档凭着我的理解整理了以下文档。各位大神的文档写的很好但都不喜欢断句啊读的我这叫一个累。
参考
1.网络编程之网络丢包故障怎样定位怎样处理 2.linux参数arp_filter,arp_ignoe,arp_announcerp_filter详解 3.Linux rp_filter和arp_filter参数浅析 4.【linux】修改arp_ignore、arp_announce、rp_filter、accept_local |内核调优 5.Linux内核参数之arp_ignore和arp_announce 6.LVS负载均衡LVS简介、三种工作模式、十种调度算法 7.官方文档kernel IP Sysctl
概念 rp_filter
rp_filter全称reverse path filter用于控制系统是否开启对数据包源地址的校验。这是一个网卡级别的参数也就是说每张网卡可以设置不同的值。此参数有三个值0、1、2具体含义。
详见kernel IP Sysctl
0不开启源地址校验默认值。
1开启严格的反向路由校验。对每个进来的数据包校验其反向路由是否是最佳路由即接收报文的网卡和响应数据的网卡是否是同一张网卡。如果反向路由不是最佳路由则直接丢弃该数据包。
2开启松散的反向路由校验。对每个进来的数据包校验其源地址是否可达即反向路由是否能通过任意网卡到达如果反向路由不通则直接丢弃该数据包。
什么是反向路由校验 所谓反向路由校验就是在一个网卡收到数据包后把源地址和目标地址对调后查找路由出口从而得到反转后路由出口。然后根据反向路由出口进行过滤。
当rp_filter的值为1时要求反向路由的出口必须与数据包的入口网卡是同一块否则就会丢弃数据包。 当rp_filter的值为2时要求反向路由必须是可达的如果反路由不可达则会丢弃数据包。
arp_filter
arp_filter和rp_filter类似都是进行反向路由检验不过是专门针对arp协议的。而且行为也有所不同。
详见kernel IP Sysctl
当arp_filter设置为0时如果从某张网卡上收到了一个arp请求同时目标ip在此主机上不论目标ip是否在接收到此arp请求的网卡上那么主机都会进行响应响应的mac地址为接收到此请求的网卡的mac地址注意此mac地址不一定是目标ip所在网卡的mac地址目标IP网卡与接收请求的网卡不是同一个。 0是默认值表示回应arp请求的时候不检查网卡情况
当arp_filter设置为1时如果从某张网卡上收到了一个arp请求同时目标ip在此主机上且不要求目标ip一定在接收到此arp请求的网卡上arp_ignore优先于arp_filter。不要求目标ip一定在接收到此arp请求的网卡即不适用arp_ignore 1-2的情况那么主机便会查询到此请求的源ip的路由是通过哪张网卡如果是接收到此arp请求的网卡则发送arp响应响应的mac地址为接收到此请求的网卡的mac地址。 1表示回应arp请求时会检查网卡是否和接收arp请求的网卡一致不一致就不回应
arp_ignore
定义对目标地址为本机IP的ARP查询的不同应答模式。 详见kernel IP Sysctl
整型值的范围为0-8常用的只有0 1 2默认为0。
0(默认值)回应任何网络接口上对任何本地IP地址的arp查询请求比如eth0192.168.0.1/24, eth110.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对10.1.1.1的arp查询也会回应——而原本这个请求该是出现在eth1上也该由eth1回应的响应的mac自然是eth0的mac。 0是响应任意网卡上接收到的对本机IP地址的arp请求包括环回网卡上的地址而不管该目标IP是否在接收网卡上。
1 只回应目标IP地址是来访网络接口本地地址的ARP查询请求。 比如eth0192.168.0.1/24, eth110.1.1.1/24,那么当eth0收到对192.168.0.1的查询请求时会进行回复(不论arp请求源地址是啥)而对待查询的ip为10.1.1.1的arp查询不会进行回复 1 只响应目标IP地址为接收网卡上的本地地址的arp请求。
2 只回应目标IP地址是来访网络接口本地地址并且请求源IP必须在该网络接口的子网段内的ARP查询请求。 比如eth0192.168.0.1/24, eth110.1.1.1/24, eth0收到对192.168.0.1的查询请求源地址为 10.1.1.2(不同网段)不会回答而会回答192.168.0.2发起的对192.168.0.1的arp查询请求 2 只响应目标IP地址为接收网卡上的本地地址的arp请求并且arp请求的源IP必须和接收网卡同网段。
3 不回应配置为scope host的的本地地址。只回应配置为scope global和scope link的本地地址。
4~7 保留未使用
8 不回应所有的arp请求
IP 的SCOPE-ID的说明
// 查看man ip address手册
rootubuntu22-25:~# man ip address
IP-ADDRESS(8) Linux IP-ADDRESS(8)NAMEip-address - protocol address managementSYNOPSISip [ OPTIONS ] address { COMMAND | help }ip address { add | change | replace } IFADDR dev IFNAME [ LIFETIME ] [ CONFFLAG-LIST ]ip address del IFADDR dev IFNAME [ mngtmpaddr ]ip address { save | flush } [ dev IFNAME ] [ scope SCOPE-ID ] [ metric METRIC ] [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [ up ]ip address [ show [ dev IFNAME ] [ scope SCOPE-ID ] [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [ master DEVICE ] [ type TYPE ] [ vrf NAME ] [ up] ]ip address { showdump | restore }IFADDR : PREFIX | ADDR peer PREFIX [ broadcast ADDR ] [ anycast ADDR ] [ label LABEL ] [ scope SCOPE-ID ]SCOPE-ID : [ host | link | global | NUMBER ]......scope SCOPE_VALUEthe scope of the area where this address is valid. The available scopes are listed in file /etc/iproute2/rt_scopes. Predefined scope valuesare:global - the address is globally valid.site - (IPv6 only, deprecated) the address is site local, i.e. it is valid inside this site.link - the address is link local, i.e. it is valid only on this device.host - the address is valid only inside this host.arp_announce
arp_announce的作用是控制系统在对外发送arp请求时如何选择arp请求数据包的源IP地址。
详见kernel IP Sysctl
0默认值允许使用任意网卡上的IP地址作为arp请求的源IP。通常就是使用数据包的源IP注意源IP可能不是发送网卡的IP源IP与发送网卡mac不对应。 比如eth0192.168.1.1/24eth110.1.1.1/24要发送的数据包源IP192.168.1.1目标IP10.1.1.200/24那么发送arp请求会使用源IP192.168.1.1eth0的IP和mac地址eth110.1.1.1/24的mac。
1尽量避免使用不属于该发送网卡子网的本地地址作为发送arp请求的源IP地址。当发送arp请求时会先检查所有子网查看是否存在包含目标ip的子网同网段。如果存在那么使用该子网IP发送如果不存在使用参数2的方式发送。我理解如果两块网卡配置同段IP其中一块作为发送网卡的情况下会与参数2有所区别。
2忽略数据包的源IP地址选择该发送网卡上最合适的本地地址作为arp请求的源IP地址。当发送arp请求时会先检查所有子网优先选择包含目标IP的子网所对应的IP。如果不存在包含目标IP的子网那么会使用外发网卡或所有网卡的第一个IP。 比如eth0192.168.1.1/24eth110.1.1.1/24要发送的数据包源IP192.168.1.1目标IP10.1.1.200/24那么发送arp请求会使用源IP10.1.1.1eth1的IP和mac地址eth110.1.1.1/24的mac。
补充arp_ignore和arp_announce参数在DR模式下的作用
什么是DR
详见LVS负载均衡LVS简介、三种工作模式、十种调度算法
配置arp_ignore为1
因为DR模式下每个真实服务器节点都要在环回网卡上绑定虚拟服务IP。这时候如果客户端对于虚拟服务IP的arp请求广播到了各个真实服务器节点如果arp_ignore参数配置为0则各个真实服务器节点都会响应该arp请求此时客户端就无法正确获取LVS节点上正确的虚拟服务IP所在网卡的MAC地址。假如某个真实服务器节点A的网卡eth1响应了该arp请求客户端把A节点的eth1网卡的MAC地址误认为是LVS节点的虚拟服务IP所在网卡的MAC从而将业务请求消息直接发到了A节点的eth1网卡。这时候虽然因为A节点在环回网卡上也绑定了虚拟服务IP所以A节点也能正常处理请求业务暂时不会受到影响。但时此时由于客户端请求没有发到LVS的虚拟服务IP上所以LVS的负载均衡能力没有生效。造成的后果就是A节点一直在单节点运行业务量过大时可能会出现性能瓶颈。
所以DR模式下要求arp_ignore参数要求配置为1。
配置arp_announce为2
每个机器或者交换机中都有一张arp表该表用于存储对端通信节点IP地址和MAC地址的对应关系。当收到一个未知IP地址的arp请求就会再本机的arp表中新增对端的IP和MAC记录当收到一个已知IP地址arp表中已有记录的地址的arp请求则会根据arp请求中的源MAC刷新自己的arp表。
如果arp_announce参数配置为0则网卡在发送arp请求时可能选择的源IP地址并不是该网卡自身的IP地址这时候收到该arp请求的其他节点或者交换机上的arp表中记录的该网卡IP和MAC的对应关系就不正确可能会引发一些未知的网络问题存在安全隐患。
所以DR模式下要求arp_announce参数要求配置为2。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89754.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!