项目简介
本项目聚焦于短信号获取软件运行环境的搭建,针对特定的CentOS系统环境,提供网络配置与运行设置指导,保障软件在该环境下正常接收组播报文。
项目的主要特性和功能
主要特性
- 适配特定CentOS系统版本及内核版本。
- 针对Solarflare SFC9220网卡进行配置。
功能说明
- 支持临时和永久两种方式添加静态路由,将组播目标地址加入路由表。
- 可禁用源地址路由校验,确保系统正确接收组播报文。
- 能运行addgroup命令加入组播组,并设置机器重启后自动启动。
- 针对G++和GCC不同编译器,提供不同的静态或动态库选择。
安装使用步骤
环境确认
确保操作系统版本为CentOS Linux release 7.9.2009 (Core),使用cat /etc/redhat-release
命令获取系统版本;Linux内核版本为3.10.0 - 1160.el7.x86_64,使用uname -r
命令获取内核版本;网卡型号为Solarflare SFC9220,用lspci
命令查看网卡型号。
配置步骤
- 添加静态路由
- 临时添加:运行
route add -host 239.239.239.8 dev ens1f1
,用route
命令查看添加结果。 - 永久添加:修改
/etc/sysconfig/network-scripts/route-ens1f1
文件,添加239.239.239.8/32 dev ens1f1
,文件名根据实际网络节点名称修改。
- 临时添加:运行
- 禁用源地址路由校验
在
/etc/sysctl.conf
文件中添加以下三行:plaintext net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.ens1f1.rp_filter = 0
可通过重启机器或运行以下命令使之立即生效:plaintext sysctl -w net.ipv4.conf.all.rp_filter=0 sysctl -w net.ipv4.conf.default.rp_filter=0 sysctl -w net.ipv4.conf.ens1f1.rp_filter=0
运行sysctl –p
检查修改结果。 - 运行addgroup命令加组播组
运行
/root/addgroup -g multi://239.239.239.8@10.226.13.22#172.175.32.254 &
,为使机器重启后自动启动,将@reboot /root/addgroup -g multi://239.239.239.8@10.226.13.22#172.175.32.254 &
添加到crontab
。运行tcpdump -i ens1f1 -nnn
,若能捕获到pyload长度为28或62字节的报文,表示组播报文接收配置成功。 - 编译器库选择
若编译器是G++,使用
libpacket_handler_gplus.a
或.so
作为静态或动态库;若编译器是GCC,使用libpacket_handler_gcc.a
或.so
作为静态或动态库。同时,在main.cpp
中修改网卡名称为实际环境中的名称。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】