Linux 双网卡配置两个IP同时只有一个会通的原因

**

一、原因分析:

**

Linux默认启用了反向路由检查
如果2个网卡在一个Lan里面,那么服务器可能从eth0或者eth1发现网关, 如果一个包从eth0进入了, 而网关在eth1上, 那么从eth1是出不去的, 就不通了. 反向路由检查要求从哪里来的才能回哪去.
关闭反向路由检查:
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
每次开机自动关闭反向路由检查, 可将上述命令追加入 /etc/rc.local 即可.

二、## **rp_filter介绍:

**

rp_filter(Reverse Path Filtering)是Linux内核中的一个功能,用于防止IP欺骗攻击

当数据包到达一个主机时,内核会检查该数据包的来源地址和路由表中的目标地址是否匹配。如果它们不匹配,内核将丢弃该数据包。这有助于防止恶意攻击者伪造源IP地址,从而绕过防火墙或其他安全措施。

rp_filter有两种模式:

0:禁用反向路径过滤。这意味着内核不会检查数据包的来源地址和路由表中的目标地址是否匹配。这可能会增加受到IP欺骗攻击的风险。
1:启用基本反向路径过滤。内核会检查数据包的来源地址和路由表中的目标地址是否匹配。如果不匹配,内核将丢弃该数据包。这是一种较为保守的设置,适用于大多数场景。
2:启用严格的反向路径过滤。除了检查来源地址和目标地址是否匹配外,内核还会检查数据包的接口和路由缓存中的信息。这是一种更严格的设置,可以提供更高级别的安全性,但可能会导致一些合法的数据包被误判为非法。
要启用或禁用rp_filter,也可以在/etc/sysctl.conf文件中添加或修改以下行:

net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 0

1表示启用反向路径过滤,0表示禁用。

修改后,执行sudo sysctl -p命令使更改生效。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文地址:https://www.yisu.com/ask/10556559.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值