日期:2014-05-16  浏览次数:20617 次

如何让现有程序在对外通信时使用特定的ip地址
一个网卡绑定了2个ip,如何让某个程序进行网络通信时,只使用2个ip中的特定的一个ip地址?不考虑修改程序的源代码。

------解决方案--------------------
引用:
删除网卡中的一个IP,只设置一个IP。


------解决方案--------------------
引用:
不能为某个进程单独设置路由吗?
Up。

看来,您不了解tcp/ip协议,路由过程发生在IP层。

若你知道此进程的源端口或者目的端口号,也许netfilter可以转发实现你的要求。你googlenetfilter或者iptables相关资料吧。我不了解这个。
------解决方案--------------------
又看了看 我觉得用iptables实现你的想法

比如你的程序使用的1000号端口
你的服务器有三个ip地址 ip1 ip2 ip3
那么可以用iptables做这样的设置
无论使用哪个ip访问你服务器的1000端口 都把它们转向ip1的1000号端口

不知道这样是否满足你的要求?
------解决方案--------------------
引用:
又看了看 我觉得用iptables实现你的想法

比如你的程序使用的1000号端口
你的服务器有三个ip地址 ip1 ip2 ip3
那么可以用iptables做这样的设置
无论使用哪个ip访问你服务器的1000端口 都把它们转向ip1的1000号端口

不知道这样是否满足你的要求?
顶!