Centos7.6 64位系统 接收不到不同网段发送的广播包问题

在将Windows下的Qt程序移植到CentOS系统后,遇到一个问题:当IP地址从192.168.1.4改为172.168.1.4时,无法接收到192网段的广播包。初步判断可能与Linux的反向路径过滤(rp_filter)有关,尝试通过修改sysctl.conf文件设置`net.ipv4.conf.all.rp_filter=0`和`net.ipv4.conf.default.rp_filter=0`并执行`sysctl -p`来禁用该功能,但问题未解决。进一步研究发现,还需要添加默认网关才能实现跨网段通信,使用命令`sudo route add -net 0.0.0.0 dev enp2s0`添加网关后,问题得到解决,现在程序能正常接收不同网段的广播包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把windows下Qt程序移植到centos系统下,发布测试,设备IP为192.168.1.4,此时可以接收到192网段的广播包,但修改IP为172.168.1.4后,发现接收不到192网段广播包,认为可能是linux系统的反向过滤问题,修改了sysctl.conf文件

vim /etc/sysctl.conf

添加:

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

使配置生效

/sbin/sysctl -p
未能解决问题

最后发现还要添加网关才能跨网段发送和接收

sudo route add -net 0.0.0.0 dev enp2s0

之后再无问题,enp2s0为网卡名称

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值