Ros本身发起的请求做标记
一直以来都是处理客户端PC的各种请求,无外乎做连接标记,然后根据连接标记做路由标记,这样就能达到策略路由的效果。今天遇到一个事情,我需要用到Netwatch模块,在里面做几个地址的ping需求。每条ping对应一条线路上的地址(非直连地址)。
实现这个要求有两种方法
一、直接根据目标地址添加路由表,分别从指定的网关出去。
二、ROS自己的访问请求做标记实现策略路由。
这个方法我没有实现,原理来讲,ROS本身的访问请求应该是output吧,我按目标地址对output做连接标记,然后再根据连接标记做output的路由标记。但做完后不成功啊,这是为什么?
请各位老鸟帮忙解决,在此谢过大家!!! 首先感谢“bobwalker”的回复,我还有问题要问:“那我如何来标记路由本身对外的访问呢”?local processs out,这个好像managle里没有的。 来学习一下发包流程。关注 刚才又测试了一下,只有当默认路由跟所标记的线路是同一条时,才会有效。而当默认路由和所标记的包不是一条线路,此时就不成立。 这是不是说,ROS本身发出的包不能做路由标记啊。 output chain上可以做标记,只是优先级比路由表低而已 只有INPUT和OUTPUT是针对ROS自身通信进行标记的。 回楼上,如果是因为优先级问题,那为何多线时,针对每条线,可以先做input连接标记,然后output时根据连接标记直接做路由标记。我有测试过,是生效的。如果如楼上所说,那此时output不会走指定线路了,应该走默认路由了,此时外面针对每条线路访问ROS本身的请求应该不成立。但事实却不是这样。 再来打个比方:我有三个VPN账号,目标VPN server地址均不同,我可以在路由表里添加新路由,不同的server地址走不同的网关,来达到VPN分流的效果。但如果我只有一个server地址,此服务器带宽足够大,分我三个VPN账号,此时我要如何做才能达到VPN分流的效果呢。
首先添加路由表不适用了,因为目标地址相同。
旦如果output标记我搞明白了,兴许会有解决的方法。
继续顶起此问题! 这个问题最终没有解决方案了吗?
页:
[1]