按理说不应该出现源、目的地址不匹配的情况,所以你的环境还是没描述清楚,你ABC之间具体是什么情况?
正常来说,A->B和B->C应该有各有一条类似隧道的链路,AB都有私网地址,隧道当然可以建在公网上。
这样的话,路由或四层转发都可以,而且可以一个方向路由、另一个方向四层转发,只要不出现你说的那种源、目的错乱就可以了。
如果A和B都只有公网地址,没任何形式的隧道,那就没办法用路由的方式,必须做4层的转发,A发给B,B把A->B的包换成B->C发出去,回程再换一遍,AB之间所有包全程都在公网上跑。
但是这种情况下不会涉及C该不该设静态路由去A啊,因为C不会收到A发来的包(源、目的都被B替换了),不可能回给A,只会回包给B啊。
【 在 freyoneby 的大作中提到: 】
: 关键别人进来的时候做了DNAT,只做路由,A收到的包是C的源地址,A发出去的包又是B的地址,socket能建立起来?只有方案1可行吧
--
FROM 123.126.43.*