我正在敲打墙壁,想出一个聪明而简单的WAN故障转移解决方案.这适用于具有两个不同外部IP的SOHO安装.只需要出站连接故障转移.
>提供商1:电缆
>提供者2:无线
防火墙是Debian GNU / Linux,所以解决方案应该使用Linux并且是基于软件的.
我希望不仅能够检测到其中一个路由器出现故障(使用iproute2很容易),而且当它们的连接断开时.两个路由器都没有SNMP或其他一些基于RMON的标准.
有没有像ping实用程序,我可以指定使用的默认路由?
这样我就可以用一个小脚本最佳地监视两个链接.或者我应该去其他路线?
解决方法
这有点复杂,因为我假设您的路由器无法以有意义的方式导出其路由.如果您想深入了解它,请记住,当您在本地发送数据包时,IP地址仍然是远端主机,并且MAC地址(以太网,无论如何)基于主机路由表和arp缓存.
如果您将软件降级到某个级别并使用内核的packet调用来形成消息,则可以使用您选择的MAC地址编写该IP数据包.然后,数据包将使用您选择的路由器作为第一跳.使用它来ping和监视响应,您将能够在不更改系统设置的情况下测试连接.
当然,您需要在程序中使用一些提升权限才能完成此任务.
否则,Evan建议的强制单地址路由表条目将允许您不要编写调用内核的内容.对于路由器没有同意告诉你的任何方法,你需要在DMZ中,否则你不能选择数据包的去向,除非你以某种方式最终启用source routing.