Android實現pppoe撥接(一)概述

來源:互聯網
上載者:User

    最近在做Android上實現pppoe撥接的功能。一般情況下不大可能會用到,但在大陸某些地區,可能會有AP並不支援DHCP功能,或者在某些平台上面裝載Android系統的時候,可能會需要移植拓展該功能。什麼是pppoe就不再介紹了,下面對於我的實驗環境搭建和操作進行簡述:

個人郵箱:xiaokeweng@gmail.com


(一)實驗環境搭建

描述:本例是在支援wifi的Android手持功能上面,通過wifi接入到區域網路LAN,pppoe-server也連結在本地區域網路內,於是建立起來Client到Server的網路通路。一條可達通路是基礎的必要條件。

(1)硬體裝置

Client      :HTC手持終端
Router    :TP-LINK 無線路由器
Server    :ubuntu系統PC
LAN        :本地區域網路

 

(硬體裝置環境)

(2)軟體條件

首先Client上面要支援ppp,這個在我的終端上面路徑是/system/bin/pppd,而後在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撥接了,以上只是粗略的該書,具體的細節步驟,將會在後面的部落格中詳細講解。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.