设为首页收藏本站

宽带技术网

 找回密码
 注 册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1099|回复: 4

[ADSL] 折腾中兴h108b eth0拨pppoe

[复制链接]
楼主闲人一个,最近搬家,换用小区宽带,原来联通的给的adsl h108b的猫用不了了,又不想买无线路由就琢磨着怎么整整这个猫。本来这个猫已经破解了路由功能,这里不多说,关于超级用户的获取,以及
怎么开telnet和ftp等,大家可以自己在坛子里找。

需要说的是,我的软件啊是1.1的,北京联通的,这个开超级密码时不用uart线,直接ftp开了
cd到../etc,把board.conf文件弄下来看就知道了。

其实这个猫很简单,基本上一个wlan0,4个eth网口,这几个做了个桥br0,其余几个虚拟接口
是adsl的拨号和桥接扣,tr69管理接口等。大部分功能都用iptables实现,是个很简单的iptables+
ip_conntrack的家用路由器方案。

要想实现使用eth0进行pppoe拨号,而不是用adsl拨号,并且进行路由,简单说需要几个步骤:
1、将eth0从br0中拆出来
2、开内核路由转发
3、使用pppd拨号
4、使用iptables做nat
搞定。

下面就具体说说,我们的前提是已经获取了超级密码,并且打开了ftp和telnet
1、telnet登录猫,使用brctl将eth0从br0中删除:

# brctl delif br0 eth0


2、开启内核路由转发:
# echo 1 > /proc/sys/net/ipv4/ipforward
# echo 1 > /proc/sys/net/ipv4/ip_dynaddr


3、使用pppd拨号,这个猫是有pppd和pppoe-server的,但是没有pppoe,这怎么拨号呢?
中兴使用的是开源的rp-pppoe.so,采用内核方式进行拨号,速度比较快。但是我们弄起来
就有点麻烦,首先需要准备一个配置文件,内容如下:


plugin rp-pppoe.so
user XXXXXXX
password YYYYYY
lcp-echo-failure 20
lcp-echo-interval 30
mru 1492
mtu 1480
-detach
maxfail 0
usepeerdns
defaultroute


其中XXXXX是你的宽带用户名,YYYYYY是密码,准备好后,我们使用ftp传到猫上,拷贝到
/etc下,假设叫做options.oe0,这个文件其实在/var/tmp/ppp/下有,你可以打开看看,里面
是你的adsl的拨号配置

准备好后,我们就可以拨号了:
# pppd file /etc/ppp/options.oe0 eth0 &

一定要 在后面跟上 &号,否则会阻断命令行输入。成功后会看到获得了ip。
这时,使用ifconfig ppp0可以看到新建的pppoe的链接情况。

4、添加默认路由,配置iptables
pppoe链接好后,我们需要配置默认路由:
# route add default ppp0
添加完成后,可以使用route命令看看路由表,这时应该可以ping 通8.8.8.8了

接下来,我们开始配置iptables,首先配置转发规则:
# iptables -A FORWARD -s 172.30.100.0/24 -j ACCEPT

这里需要注意的是,172.30.100.0/24是你的子网地址,用ifconfig br0看一下,这个如果br0没有就给他
配置一个,理论上使用iptables -A FORWARD -i br0 -j ACCEPT也是可以的,但是我没试过。
最后,我们配置nat规则:
# iptables -t nat -A POSTROUTING -s 172.30.100.0/24 -o ppp0 -j MASQUERADE
同样,172.30.100.0是子网地址,使用iptables -t nat -A POSTROUTING -i br0 -o ppp0 -j MASQUERADE应该也可以


到这里,全部的配置就结束了,我们在pc上设置好网关和ip、以及dns就可以上网了,这里需要注意的是2点
第一,全部配置好之后可能需要等一会配置才能生效。
第二,pc上的dns必须自己配置,如果使用dhcp也需要自己配置,因为此时dns代理没有开启。可以尝试用8.8.8.8
不怕麻烦的话,可以把/etc/udhcpd.conf.br0文件里的dns地址改了,这样dhcp就能获取到正确的dns地址了。


虽然弄好了,但是缺点还是很明显的,断线了需要自己上去敲命令行,重新连接,配置路由。
不怕麻烦的可以把上面的命令做成脚本,放在/etc/rc文件中就可以开机启动了。也可以自己弄个脚本,
实现断线重连。


另外,还有一个致命的缺点,就是不支持upnp,这个猫的upnpd似乎是改过的,用upnpd ppp0 br0无效,也找不到
配置文件,不知道怎么个改法,有大拿请不吝赐教。不过这个也可以解决,用iptables可以做dnat,实现dmz主机。具体
命令自己上网查查就ok了,不是很难。


评分

参与人数 1威望 +1 猫粮 +10 贡献 +1 收起 理由
YES东 + 1 + 10 + 1 很给力!

查看全部评分

发表于 2013-9-23 20:40:56 | 显示全部楼层
虽然不懂,希望多出这样的技术多出多
发表于 2013-12-10 22:11:37 | 显示全部楼层
技术 强帖,,必须顶起来!
发表于 2013-12-30 21:23:19 | 显示全部楼层
楼主高手,搜藏备用。
发表于 2014-3-18 23:11:27 | 显示全部楼层
高人,屁服的五体投地
您需要登录后才可以回帖 登录 | 注 册

本版积分规则

QQ|Archiver|手机版|小黑屋|宽带技术网 ( 粤ICP备15054574号  

粤公网安备 44152102000001号

GMT+8, 2016-12-7 18:38 , Processed in 0.451371 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表