这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于实现nat的问题

共8条 1/1 1 跳转至

关于实现nat的问题

菜鸟
2004-08-05 18:01:32     打赏
请问如何在vxworks里实现nat功能,我得开发板上有两个以太网口和一个modem,我得modem现在可以拨上去了,我先在需要用以太网口上网,就是说以太网口下连的是我的pc,然后我通过modem拨号,实现pc上网。。怎么做呢?



关键词: 关于     实现     问题    

菜鸟
2004-08-05 18:05:00     打赏
2楼
pls refer to PNE

菜鸟
2004-08-05 20:14:00     打赏
3楼
可不可以说得明白一点,,我听不懂

菜鸟
2004-08-05 20:42:00     打赏
4楼
关键在于要把原始的数据包抓上来(包括MAC)。自己可以作一个简单的收发包程序,仿照ipAttach()的办法把它挂上去。用来捕获原始数据。

菜鸟
2004-08-05 22:53:00     打赏
5楼
只是个网关的设置问题而已。 这样设置:pc机的默认网关是开发板,开发板的默认路由是ppp连接的对端。 这样pc机就可以通过开发板上网了。不需要NAT。 如果需要NAT,那么需要安装WINDNET NAT。可以是单独的软件包,PNE里面也包含了NAT。

菜鸟
2004-08-05 22:55:00     打赏
6楼
从网口上收包的时候,先把数据收上来,根据源IP和源端口号建一个索引表,就是一系列的对应关系,1、2、3、4。。。分别对应不同的源IP和源端口号。然后修改这个包,把源IP换成你从modem申请到的IP,源端口号换成刚才那个索引表的索引。从modem上把包发出去。 当从modem接收到数据的时候,由于IP层的源IP和源端口号都是直接反填的,对端不会处理,所以如果是你发送包的响应,目的端口号就应该是你刚才填的索引,根据这个索引去查表,然后把目的IP和目的端口替换成索引表中的内容,从网口发送出去。 索引表要根据时间有一个老化的过程一般是20分钟左右,老化的要删掉,以保证内存够用。 但是有两个问题解决起来比较麻烦,一个是网口下设备的端口扫描,没扫一个端口就要在nat建一个索引,如果有几台机器同时扫描,系统会受不了;第二个问题是外部机器不能通过IP或DNS方式访问内部机器,这也是PAT本身的限制。

菜鸟
2004-08-06 01:07:00     打赏
7楼
谢谢大家的支持,,但是还是看不懂啊!!有没有程序给参考一下啊!!

菜鸟
2004-08-06 01:30:00     打赏
8楼
只是个网关的设置问题而已。 这样设置:pc机的默认网关是开发板,开发板的默认路由是ppp连接的对端。 这样pc机就可以通过开发板上网了。不需要NAT。 我这样试了,但是还不行。有没有其他的方式啊?比如proxy之类的?

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]