+ -
当前位置:首页 → 问答吧 → FreeBSD 4.9 外网不通

FreeBSD 4.9 外网不通

时间:2004-03-17

来源:互联网

FreeBSD 4.9,设置了PPPoE,/etc/ppp/ppp.conf内容如下:
#################################################################

default:

set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)
# Ensure that "device" references the correct serial port
# for your modem. (cuaa0 = COM1, cuaa1 = COM2)
#
set device PPPoE:lnc0
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
enable dns # request DNS info (for resolv.conf)

papchap:
#
# edit the next three lines and replace the items in caps with
# the values which have been assigned by your ISP.
#

set authname *******
set authkey *******

set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR # Add a (sticky) default route

#########################################
ifconfig输出如下:
lnc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.100.5 netmask 0xffffff00 broadcast 192.168.100.255
inet6 fe80::250:56ff:fe40:4092%lnc0 prefixlen 64 scopeid 0x1
ether 00:50:56:40:40:92
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
Opened by PID 55
照理,网络界面已经启动了。/etc/resolv.conf也已经设置了dns服务器的IP地十。ping内网可通。ping 外网,无论IP与域名都不行。
# ping http://www.google.com
ping: cannot resolve http://www.google.com: Host name lookup failure
# ping 202.96.111.2
PING 202.96.111.2 (202.96.111.2): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
ping: sendto: No route to host
ping: sendto: No route to host
^C
--- 202.96.111.2 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss

注:我是通过交换机与别人共享ADSL上网的,ADSL的工作模式是桥接方式。
FreeBSD装在虚拟机中。

感谢各位高手踊跃发言。

作者: upon   发布时间: 2004-03-17

有点不太明白,你既然是共享上网,就没有必要设置ppp进行拨号了啊。

作者: 尘飞扬   发布时间: 2004-03-17

引用:
最初由 尘飞扬 发表
有点不太明白,你既然是共享上网,就没有必要设置ppp进行拨号了啊。
ADSL工作在桥接模式,两台电脑要分别拨号的。如果是路由模式的话,不必拨号了。(因为路由模式与外网通信太不方便,MSN不好用,故取消了。)
我是想让大家帮我看看FreeBSD本身设置有什么问题。
我的FreeBSD是装在虚拟机下的,主系统上网没什么问题。

作者: upon   发布时间: 2004-03-17

你上面那个设置ifconfig的结果显示tun0根本就没有地址,显然拔号没有成功,重新检查你的ppp.conf文件。

作者: 尘飞扬   发布时间: 2004-03-18

经过楼上一位大哥的提示,我重新检查了一下/etc/ppp/ppp.conf文件,参考freebsd handbook后,把papchap换了个位置,加在set device PPPoE:lnc0的前面,结果果然拨上去了。ifconfig的tun0界面中也有了IP地址,本以为已经搞清楚了。后来,我突发奇想,再把它改过来如何呢?等改回来之后,重新启动,结果ifconfig中没有了tun0界面的IP地址,但ping外网又通了。回头再看ifconfig的输出,也有了tun0界面的IP地址。
现在,已经完全回到了原来的配置,但怎么又好了呢,还是搞不清楚怎么回事。

作者: upon   发布时间: 2004-03-18

应该是没有道理的,如果你采用ppp方式进行拨号,而在tun0没有地址的情况下能访问外网的确有点不可思议,除非是你这台不是主机,要不然。。。。。。无法解释,呵呵。

作者: 尘飞扬   发布时间: 2004-03-18

谢谢版主的热情回答。
现在我基本上可以确定不是FB本身设置方面的问题了。因为我前天可以拨上去的,在用port安装软件时突然没有了流量,断开了,后来再也无法拨上去。
据我的猜测,现在电信给每个ADSL用户的拨号有一定的限制,它可能会将你的帐号与网卡的MAC地址绑定。比如说,一个帐号对应两个MAC地址,在同一个时间段内,不能出现三个电脑同时上网的情况。(不然,一个小区拉一根线,每户人家都可以共享上网了)。所以,当我的主系统与另外一个人的系统都拨号上去了的话,FB guest系统也就不能上网了。唯一的解决办法是为ADSL设置路由,但那个该死的MSN不能语音聊天及视频对话,装那个Enat for msn的软件也没用。内网上网总给人感觉打了折扣。

作者: upon   发布时间: 2004-03-21

我的FB终于能够顺利的上网了。解决的方法也是非常地简单:利用Internet连接共享。
本来,我想把主系统配置成路由器,然后vmware中的连接方式改成NAT,但是结果没搞成功。后来,换了个主意,在windows主系统中把ADSL拨号共享出来,Host OS 与 guest OS仍然采用桥接方式。本地连接的地址设为192.168.0.1,客户系统FB中添加网关192.168.0.1,这样就轻松搞定了 :-)

希望能够给在虚拟机中使用FB的同志们一点点帮助,不必要ADSL中设置路由,也可以避开电信的限制了。

作者: upon   发布时间: 2004-03-22