码迷,mamicode.com
首页 > 其他好文 > 详细

OpenWrt PPPoE拨号问题之mac地址克隆

时间:2014-07-31 23:59:50      阅读:603      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   数据   art   问题   ar   

【转载请注明出处:钱国正的专栏http://blog.csdn.net/qianguozheng/article/details/38322705

在实施任何大型项目中,我们会遇到各种各样的问题,当然了,如果做足了充分的测试,我们会便利很多。


前言


Mac地址克隆主要是解决运营商绑定mac地址的行为,这种行为就给哥添麻烦。

好了,话题转回,我如何实现这个Mac地址克隆的。

OpenWrt中的LAN口以实现Mac地址克隆,所以其相关的设置Mac地址克隆的东西也已经存在了,我们需要做的就是搬到PPPoE上面。


但是,问题来了,照搬之后,wan口的mac地址是编程我们设置的mac地址了,但是但是就是拨号拨不上。


分析


首先要抓包分析,顺便看看PPPoE建立连接过程。

发现,PPPoE建立连接分为两个过程,1. PPPoE发现过程。 2. PPP链接建立过程。

但是PPP链接建立过程中会出现路由器之前的Mac地址(非我们克隆的Mac地址),然后又有我们克隆的地址,连接反复,一直拨不上号。

后来通过看pppd的源代码发现

rp-pppoe.so这个动态链接库实现PPPoE发现过程。

pppd进程实现PPP链接建立过程,在lcp的过程中发现发送数据包使用的是write函数,mac地址是系统自动填上的,这里需要仔细研究这个socket建立的过程,其mac如何修改,我目前的时间不允许我深陷,只能取折中的方法,修改eth0的mac地址。


总结


如此,问题解决,但是这不是终点,各种不同情况下需要修复bug,如当mac为空的时候,系统重启的时候,网络重启的时候等。

这些情况都要保持eth0.2(我自己划分的vlan,不同的系统各不相同,我的系统3个vlan所以才这么复杂)与eth0的mac地址一致。


【转载请注明出处:钱国正的专栏http://blog.csdn.net/qianguozheng/article/details/38322705

OpenWrt PPPoE拨号问题之mac地址克隆,布布扣,bubuko.com

OpenWrt PPPoE拨号问题之mac地址克隆

标签:style   blog   http   使用   数据   art   问题   ar   

原文地址:http://blog.csdn.net/qianguozheng/article/details/38322705

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!