标题: [未解决] !! RMB悬赏 !!
  [未解决] 本主题悬赏 积分 1  
mm123456
新生入学
Rank: 1



UID 216316
精华 0
积分 9(积分有什么用?)
帖子 3
阅读权限 10
注册 2007-10-26
状态 离线
发表于 2007-10-29 10:30  资料  个人空间  短消息  加为好友 
!! RMB悬赏 !!

现有一台机器,两个网卡,一个为电信一个为网通,其路由表配置为:*[X/~}.\

5yTiD\N]jLinux伊甸园论坛电信(所使用IP地址的网段)          -->eth03Aq:]C\v4c
网通(所使用IP地址的网段)          -->eth1.uh n|
yI(k~bq

default                                       -->eth0
]!\M'l(D|Linux伊甸园论坛Linux伊甸园论坛:w&CNT6^}
要求建立一个程序,侦听两个网卡的UDP端口(如1394)然后任何一个端口在受到消息后都能将消息从接收端口“反弹”回去。
q*c6e4F.Z;O如eth0收到一个包,则从eth0发送回去,eth1收到一个包则从eth1发送回去,本人试过多种方法,如SO_DONTROUTE,SO_BINDTODEVICE均无法实现。 AaD}e\/GHa&D
a6g2P Wkb
哪位大虾能在不修改内核和路由配制的情?**煌ü?程序实现?

}*Z.Ul2n\FT
提出解决方案的RMB200感谢,
[Wx\(x

提供例程的RMB500感谢。

顶部
mm123456
新生入学
Rank: 1



UID 216316
精华 0
积分 9(积分有什么用?)
帖子 3
阅读权限 10
注册 2007-10-26
状态 离线
发表于 2007-10-29 10:46  资料  个人空间  短消息  加为好友 
回复 #1 mm123456 的帖子

难道没有高人出现吗? :'(

顶部
不容错过的IBM 集群技术资源汇总
lanche
版主
Rank: 7Rank: 7Rank: 7
超级版主


UID 50258
精华 0
积分 0(积分有什么用?)
帖子 8770
阅读权限 100
注册 2003-7-11
状态 离线
发表于 2007-10-29 14:39  资料  个人空间  主页 短消息  加为好友 
iptables办不到吗?

顶部
mm123456
新生入学
Rank: 1



UID 216316
精华 0
积分 9(积分有什么用?)
帖子 3
阅读权限 10
注册 2007-10-26
状态 离线
发表于 2007-10-29 15:14  资料  个人空间  短消息  加为好友 
回复 #3 lanche 的帖子

可以用ip ro 和 ip ru来联合配置可以达到要求,但是俺需要在程序中实现,通过程序来选择物理网卡,也就是说旁路掉底层的路由表。。。
j _e-q*VW ?
)Vt)Q|GPTYLinux伊甸园论坛看来很难。。
mbcs#u
G%a9{v        Yc
j
也只有做配置了D.fOz
f1_6S


5IeP[wzwww.linuxeden.com悬赏结束Linux伊甸园论坛f6o(aR/cn!a)L8fxq(^
Linux伊甸园论坛g!g\iW }
'M.axW^c Q6X
R

谢谢板猪

顶部
不容错过的IBM 集群技术资源汇总
flag
版主
Rank: 7Rank: 7Rank: 7
版主



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 离线
发表于 2007-10-30 11:50  资料  个人空间  短消息  加为好友 
楼主的需求本来从理论上就不可能,不修改内核和路由配置,难道能跳过协议层架空过去?





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
souldump
小试牛刀
Rank: 2
注册用户



UID 126416
精华 0
积分 5(积分有什么用?)
帖子 153
阅读权限 10
注册 2005-7-9
状态 离线
发表于 2007-10-30 20:11  资料  个人空间  短消息  加为好友 
你需要win下还是Linux下代码?

顶部
不容错过的IBM 集群技术资源汇总
souldump
小试牛刀
Rank: 2
注册用户



UID 126416
精华 0
积分 5(积分有什么用?)
帖子 153
阅读权限 10
注册 2005-7-9
状态 离线
发表于 2007-10-30 21:50  资料  个人空间  短消息  加为好友 
linux下使用packet接口,你可以开两个套接字,也可以使用一个,;oR
}-k+h`pg

两个的话分别绑定两个接口,受到数据后直接会送就可以了,vr
`I6D+lU

使用一个的话不用,不过要使recvfrom的第5个参数不为空,
N*aZ [!`5u2@7tih这个类型不是struct sockaddr, 而是struct sockaddr_ll,
h#d Q_z)@nWLinux伊甸园论坛根据返回的sll_ifindex确定接受接口,然后直接会送就可以了。+vuj:J2tox;@ _
www.linuxeden.com.g8I3YT!C5Z
packet协议族的数据是直接从链路层收发的,不经过iptables,O;M9Xj?.Xl0y7e
发送时直接指定接口,因而无需与路由子系统。oW-[;^Nx8xx4T/{

CX'QWB:}@W 钱我就不收你了,

顶部
flag
版主
Rank: 7Rank: 7Rank: 7
版主



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 离线
发表于 2007-10-31 09:38  资料  个人空间  短消息  加为好友 
搜了下,楼上说的PACKET套接口是和TCP/IP并列的模块,确实可以直接对接口数据包操作。好像tcpdump就是这样做的。





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
不容错过的IBM 集群技术资源汇总
 



当前时区 GMT+8, 现在时间是 2008-5-17 03:19

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.113449 second(s), 5 queries

清除 Cookies - 联系我们 - Linux伊甸园 - Archiver - WAP