Android实现pppoe拨号上网(一)概述

您所在的位置:网站首页 上网本装安卓流畅吗怎么设置 Android实现pppoe拨号上网(一)概述

Android实现pppoe拨号上网(一)概述

2024-07-11 09:50| 来源: 网络整理| 查看: 265

    最近在做Android上实现pppoe拨号上网的功能。一般情况下不大可能会用到,但在大陆某些地区,可能会有AP并不支持DHCP功能,或者在某些平台上面装载Android系统的时候,可能会需要移植拓展该功能。什么是pppoe就不再介绍了,下面对于我的实验环境搭建和操作进行简述:

个人邮箱:[email protected]

(一)实验环境搭建

描述:本例是在支持wifi的Android手持设备上面,通过wifi接入到局域网LAN,pppoe-server也链接在本地局域网内,于是建立起来Client到Server的网络通路。一条可达通路是基础的必要条件。

(1)硬件设备

Client      :HTC手持终端 Router    :TP-LINK 无线路由器 Server    :ubuntu系统PC LAN        :本地局域网

 

(硬件设备环境)

(2)软件条件

首先Client上面要支持ppp,这个在我的终端上面路径是/system/bin/pppd,并且确定开机后注册了/dev/ppp设备,也就是设备支持ppp是大前提,而后在PC上面安装rp-pppoe(RoaringPenguin-pppoe),然后将PC作为pppoe-server,现实中配置的pppoe-server一般都是双网卡,一个网卡负责代理局域网内数据转发,一个负责将数据包丢到internet上面,而我方条件艰苦,只是为了实验而已,所以本身的LAN就可以上网,在PC上最终通过iptables将pppoe通过pppX接口发送来的数据包NAT(网络地址转换)到可以访问internet的ethX上面。而Android上面没有pppoe可执行文件,于是通过移植,将rp-pppoe编译出的可执行文件移植过来,命名为pppoe放在/system/bin下。即:

       Android:pppoe,pppd

       PC : rp-pppoe

       数据包通路:Client -> AP(TP-LINK) -> LAN -> PC -> NAT ->LAN

(二)运行验证方法

(1)在终端中adb shell后运行命令pppoe -d这样就会令pppoe在本地局域网内发起Discovery过程广播包PADI,在PC上面抓包网卡ethX,如果受到广播PADI,说明链路已经通过。

 (pppoe-service抓到PADI广播包)

(2)按照期望需求配置pppoe-server,后面会详细讲解。

(3)按照期望在Android终端中执行命令,于是会建立起来ppp链接,通过终端执行netcfg,PC执行ifconfig可以查看链接pppx接口。

 (client端iface)

(server端iface ppp0)

(4)Android终端配置默认route到pppX,还有dns,这样终端的数据包就会从pppX出去,而后,配置server的iptables,加规则,NAT通过pppoe上来的数据包,到有internet访问权限的ethX,通过抓包分析,确定数据链路是否达到预期。

经过以上步骤就能够实现Android通过pppoe拨号上网了,以上只是粗略的该书,具体的细节步骤,将会在后面的博客中详细讲解。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3