嵌入式开发板利用iptables实现NAT

  最近为客户写应用程序来测试网卡,客户要求ping自己来检查是否通路,发现ping开发板自己IP时不管插不插自回环网线都能ping通,而我写的测试程序其实就是对ping命令进行的字符串分析,因此这样是不能检测出网卡的通路与否。后来知道ping自己ip时会路由到本地环回的虚网口,数据包根本没有到物理层从网卡发出。因此不管网卡好坏都可以ping通。组长跟我说用iptables命令来做NAT转换ip,可以实现这个功能。

  根文件系统中没有iptables这个命令,因此需要交叉编译下iptables命令:

  下载源码包

  #apt-get source iptables

  解压进入源码包,交叉编译源码的步骤基本都一样,先configure,指定安装目录以及交叉编译目标,然后make   make install

  注意这里指定安装目录的时候最好指定一个路径简单的目录,因为将生成的bin include以及lib放到rootfs中使用时出现一个问题就是运行iptables时找不到SNAT文件。用LD_LIBRARY_PATH指定也不行,后来用strace命令跟踪iptables命令,发现它在查找类似SNAT这些相关的库文件时是按照安装路径的目录来查找的,跟qtopia的安装目录也必须一致是一样的,所以最好安装在路径简单的目录,这样按照同样的路径放到rootfs中就可以使用了,当然,主要是lib下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值