keepalived的虚拟VIP地址 ping -s 发包测试,只能通过1472字节以下的数据包,是什么原因呢?测试中途网络设备无关,手动在备机配置静态路由,可以正常通过大字节数据包。有什么好的办法解决吗?
23条回答 默认 最新
关注
获得0.45元问题酬金 🕗晚上好,题主!目前:🟢[在线]
📢参考通义千问、由郭老师整理提供!
📣今日诗号:落霞与孤鹜齐飞,秋水共长天一色。原因:
Keepalived 虚拟 IP 地址使用的 VRRP 协议有一个默认的 MTU 值为 1472 字节。超过此大小的数据包将被丢弃。
解决方案:
有以下几种方法可以解决此问题:
1. 手动配置 VRRP MTU:
在主和备 Keepalived 配置文件中,添加以下选项:
vrrp_instance <INSTANCE_NAME> { ... mtu <MTU_VALUE> ... }
将 MTU_VALUE 设置为需要支持的大数据包大小。
2. 使用 VRRP 广播地址:
将 VRRP 广播地址配置为网络上支持更大 MTU 的路由器或交换机。这将绕过 VRRP 协议的 MTU 限制。
3. 使用 GRE 隧道:
GRE(通用路由封装)隧道可以在两台主机之间创建虚拟点对点链路。将 GRE 隧道配置为具有更大的 MTU,以允许更大数据包通过。
4. 使用 IP 分片:
IP 分片是一种将大数据包分解为较小片段的技术,以便它们可以通过具有较小 MTU 的网络。但是,这会导致额外的开销和潜在的性能问题。
5. 检查网络设备:
确保网络设备(例如交换机或路由器)上配置了正确的 MTU 大小。如果设备不支持所需的 MTU,则需要升级或更换设备。
完整代码示例:
在主和备 Keepalived 配置文件中添加以下选项:
vrrp_instance <INSTANCE_NAME> { ... mtu 1600 ... }
将 mtu 设置为 1600 以支持 1600 字节大小的数据包。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 网络科学导论,网络控制
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)