LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1483|回复: 6

[求助]Gentoo下pppoe很头疼的问题[已解决]

[复制链接]
发表于 2009-7-5 18:04:17 | 显示全部楼层 |阅读模式
按照官方指南一路搞下来, 就是这个pppoe始终搞不定.

首先一个诡异的问题是:
进入livecd后用net-setup eth0设置静态ip, pppoe-setup设置ADSL可以上网, 但是当我不用net-setup, 而是用命令(官方指南中的)
  1. ifconfig eth0 ${IP地址} broadcast ${广播} netmask ${子网掩码} up
  2. route add default gw ${网关}
复制代码

设置静态ip, 再用pppoe-setup设置后却无法上网, 但ifconfig显示ppp0已经得到外网ip, 也得到了DNS服务器.可以ping通外网主机, 但是没法ping通google之类的, 用ip地址也不行.

所以我都是进livecd, chroot到自己的系统来上网.
安装了ppp, rp-pppoe, 先设置了pppoe-setup, 之后又按照指南改了/etc/conf.d/net设置
  1. config_eth0=( "192.168.1.9 broadcast 192.168.1.255 netmask 255.255.255.0" )
  2. routes_eth0=( "default gw 192.168.1.1" )
  3. config_ppp0=( "ppp" )
  4. link_ppp0=( "eth0" )
  5. plugins_ppp0=( "pppoe" )
  6. pppd_ppp0=(
  7.         "noauth"
  8.         "defaultroute"
  9.         "holdoff 3"
  10.         "child-timeout 60"
  11.         "lcp-echo-interval 15"
  12.         "lcp-echo-failure 3"
  13.         noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp
  14.         )
  15. depend_ppp0() {
  16.         need net.eth0
  17. }
复制代码

/etc/init.d/net.eth0 ppp0也启动了, 运行
pppoe-start
用ifconfig看了一下, 本地静态ip正常, ppp0也正常, 但就是ping不同外网.

搞了一天也没好, 快崩溃了, 但这两天都是与Gentoo度过的, 很喜欢这种DIY, 解决问题的过程, 不想就此放弃, 只好到此向各位大虾求救, 希望能得到解决方法, 谢谢!

PS: emerge net-setup找不到, 但貌似只有通过这个工具才能设置好我的网, 到哪能找到这个工具包啊?

解决方法:
谢谢cliffordli的解决方法, 以及lx几位的热心帮助
  1. config_eth0=( "192.168.1.9 broadcast 192.168.1.255 netmask 255.255.255.0" )
  2. routes_eth0=( "default gw 192.168.1.1" )
复制代码
改成
  1. config_eth0=(null)          #记得windows下不设ip, 连接受限时仍然可以连pppoe, 那linux下应该也可以不用指定ip
复制代码
添加username和passwd
  1. ......
  2. config_ppp0=( "ppp" )
  3. link_ppp0=( "eth0" )
  4. plugins_ppp0=( "pppoe" )
  5. username_ppp0='xxxx'   #xxxx为用户名
  6. password_ppp0='$$$$'   #$$$$为密码
  7. ......
复制代码
打开/etc/resolv.conf, 确定已有DNS服务器的地址, 然后重启网络
  1. /etc/init.d/net.eth0 restart
复制代码
便可上网了.
感觉只要装上net-dialup/ppp就可以使用pppoe了, rp-pppoe没必要装, 但我的DNS信息是靠pppoe-setup得到的, 如果自己知道就不必使用pppoe-setup和rp-pppoe包了.

反正网络搞好了, 可以继续安装Gentoo了, 更漫长的安装过程在前方等着我呢
发表于 2009-7-5 19:38:45 | 显示全部楼层
我不太懂,不知道会不会是DNS的问题。

但是我觉得 pppconfig 这个工具可能会比较有用,值得你试试。Portage 中有。
回复 支持 反对

使用道具 举报

发表于 2009-7-5 19:54:25 | 显示全部楼层
我也出现过这个问题,把设置默认网关那句注释掉然后重新启用网卡再拨号就行了,具体原因我也不清楚。。。拨号上网的话,net里面不需要配置的,直接pppoe-setup设置就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-5 20:09:34 | 显示全部楼层
谢谢ls两位, 我都试试看
回复 支持 反对

使用道具 举报

发表于 2009-7-5 22:28:51 | 显示全部楼层
个人认为是你默认路由的问题,routes_eth0=( "default gw 192.168.1.1" ),你可以比较一下两中情况下的路由表,还有可以用wireshark看看到底是怎么走的。
另外,用pppoe貌似可以不给网卡设置IP的吧。
回复 支持 反对

使用道具 举报

发表于 2009-7-5 22:40:42 | 显示全部楼层
config_eth0=( "192.168.1.9 broadcast 192.168.1.255 netmask 255.255.255.0" )
routes_eth0=( "default gw 192.168.1.1" )
config_ppp0=( "ppp" )
link_ppp0=( "eth0" )
plugins_ppp0=( "pppoe" )
pppd_ppp0=(
"noauth"
"defaultroute"
"holdoff 3"
"child-timeout 60"
"lcp-echo-interval 15"
"lcp-echo-failure 3"
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp
)
depend_ppp0() {
need net.eth0
}

我试过,把
config_eth0=( "192.168.1.9 broadcast 192.168.1.255 netmask 255.255.255.0" )
routes_eth0=( "default gw 192.168.1.1" )

改成
  1. config_eth0=(null)
复制代码

然后用/etc/init.d/net.ppp1 start 就能上网了,似乎pppoe只要/etc/resolv.conf里面设置好DNS,而eth0本身设置IP只会上不了。
回复 支持 反对

使用道具 举报

发表于 2009-7-6 12:43:39 | 显示全部楼层
在/etc/net中将routes_eth0=( "default gw 192.168.1.1" )删除.

config_eth0=( "192.168.1.9 broadcast 192.168.1.255 netmask 255.255.255.0" )
这个可以不用改为config_eth0=(null)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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