基于sdrpi的openwifi实践6:sdrpi实现无线路由器

上面的实践中我们实现了编译openwifi代码并在板子实际运行了一个wifi终端加入的试验。

在用手机看到openwifi这个接入点时候,我们可以看到不可上网的提示,如下:

在不可上外网的情况下我们只能访问一下openwifi的文件系统内置的页面,进行内网网络层的试验。我们这个blog要实现一个路由器功能,就是接入openwifi的手机可以通过openwifi来上网。

其实原理也是简单的,就是一个桥接的关系。

我们一点点琢磨。首先要保证sdrpi本身能够上网,模式的网络是192.168.10.我局域网的网段是10.16.13,设置eth0的ip地址为10.16.13.119

ifconfig the0 10.16.13.119 

之后我们ping一下路由器确保正确连入局域网。我的路由器ip地址是10.16.13.1,运行截图如下:

 IP层可以到达路由器,ctrl+c退出。

网关gateway简写gw这里就是路由器,内网通过网关访问外网。用下面命令设置网关为路由器地址。

route  add default gw 192.168.31.1 eth0

之后我们尝试一下ping外网,我们尝试直接ping baidu.com,运行结果如下:

 我们看到可以ping通外网,并且能够实现动态域名解析(因为我们直接ping的是baidu.com而不是实际的ip地址,这是因为系统自动将默认DNS服务器设置为了网关(即路由器),而路由器恰好支持。

此时SDRPI已经连通了外网,我们接下来要做的事情是将对sdr0这个网络接口的访问“”前递”到eth0,

 ifconfig eth0 10.16.13.119
route  add default gw 10.16.13.1 eth0
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo ip route add 10.16.13.0/24 via 10.16.13.119 dev eth0

这里的命令是我根据openwifi主页修改过来的,我们可以到这里面只有一个eth0以及他的ip,说明其他网口的网络数据都可以通过这个eth0连接外网。

运行这些命令行,后再用手机扫描openwifi网络,会发现openwifi热点上不再有不可上网的描述,如下图:

我们接入openwifi这个热点,之后手机就好像连入了家里的wifi,可以任意访问外网了。

 =================================================

不好意思,刚才体验为了网速刷了一会儿视频,笑了半天没思路往下写了,就写到这里哈。不过网速确实还可以的说。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值