+ -
当前位置:首页 → 问答吧 → 关于上网的问题

关于上网的问题

时间:2005-05-01

来源:互联网

我已经安装好了freebsd5.2.1
网卡也认出来是 RT 8319
可是不知道如何才能连上internet
请高手指教
在sysinstall中配置的网卡那一步让我输入host,domin,网关等等,这些地方需要填写吗?
etc/host文件是不是只有配置局域网时才用?
我是在笔记本上安装的freebsd,并且是小区宽带上网,直接接上网线自动获得IP上网的。

作者: babysky   发布时间: 2005-05-01

代码:
11.8. 设置网卡
Contributed by Marc Fonvieille.

现在我们不可想象一个计算机没有网络连接的情况。 添加和配置一块网卡是任何 FreeBSD 系统管理员的一项基本任务。
11.8.1. 查找正确的驱动程序

在开始之前,您应该知道您的网卡类型,它用的芯片和它是 PCI 还是 ISA 网卡。FreeBSD 支持很多种 PCI 和 ISA 网卡。 可以查看您的版本硬件兼容性列表以确定您的网卡被支持。

确认系统能够支持您的网卡之后, 您还需要为它选择合适的驱动程序。 /usr/src/sys/conf/NOTES 和 /usr/src/sys/arch/conf/NOTES 将为您提供所支持的一些网卡和芯片组的信息。 如果您怀疑驱动程序是否使所要找的那一个,请参考驱动程序的联机手册。 联机手册将提供关于所支持的硬件更详细的信息,甚至还包括可能发生的问题。

 Note: NOTES 在 FreeBSD 4.X 上并不存在。您需要查看 LINT 来了解关于网卡的信息。 参见 第 8.4 节 以了解关于 NOTES 和 LINT 的进一步信息。

如果您有一个普通的网卡,大多数时候您不需要为驱动浪费精力。 常用的网卡在 GENERIC 内核中已经支持了,所以您的网卡在启动时就会显示出来,像是:

dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
000ff irq 15 at device 11.0 on pci0
dc0: Ethernet address: 00:a0:cc:da:da:da
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
000ff irq 11 at device 12.0 on pci0
dc1: Ethernet address: 00:a0:cc:da:da:db
miibus1: <MII bus> on dc1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

在这个例子中,我们看到有两块使用 dc(4) 驱动的网卡在系统中。

如果您的网卡没有出现在 GENERIC 中,则需要手工加载合适的驱动程序。 要完成这项工作可以使用下面两种方法之一:

 *

 最简单的办法是用 kldload(8) 加载网卡对应的内核模块。并不是所有的网卡都能够通过这种方法提供支持; 比较明显的例子是 ISA 网卡。
 *

 另外, 您也可以将网卡的支持静态联编进内核。 察看 /usr/src/sys/conf/NOTES, /usr/src/sys/arch/conf/NOTES 以及驱动程序的联机手册以了解需要在您的内核配置文件中加一些什么。要了解关于重新编译内核的进一步细节, 请参见 第 8 章。如果您的卡在引导时可以被内核 (GENERIC) 识别,您应该不需要编译新的内核。

11.8.2. 配置网卡

现在正确的网卡驱动程序已经装载,那么就应该配置它了。跟其他配置一样,网卡可以在安装时用 sysinstall 来配置。

要显示您系统上的网络接口的配置,输入下列命令:

% ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
 ether 00:a0:cc:da:da:da
 media: Ethernet autoselect (100baseTX <full-duplex>)
 status: active
dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
 ether 00:a0:cc:da:da:db
 media: Ethernet 10baseT/UTP
 status: no carrier
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
 inet 127.0.0.1 netmask 0xff000000
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500

 Note: 老版本的 FreeBSD 可能需要在 ifconfig(8) 后面接 -a 选项,需要了解更多的 ifconfig(8) 语法请查阅使用手册。注意所有关于 IPv6 (inet6 等等) 的记录在这个例子里都被忽略了。

在这个例子中,显示出了下列设备:

 *

 dc0: The first Ethernet interface
 *

 dc1: The second Ethernet interface
 *

 lp0: The parallel port interface
 *

 lo0: The loopback device
 *

 tun0: The tunnel device used by ppp

FreeBSD 使用内核引导时检测到的网卡驱动顺序来命名网卡。例如 sis2 是系统中使用 sis(4) 驱动的第三块网卡。

在这个例子中,dc0 设备启用了。主要表现在:

 1.

 UP 表示这块网卡已经配置完成准备工作。
 2.

 这块网卡有一个 Internet (inet) 地址 (这个例子中是 192.168.1.3)。
 3.

 它有一个有效的子网掩码 (netmask; 0xffffff00 等同于 255.255.255.0)。
 4.

 它有一个有效的广播地址 (这个例子中是 192.168.1.255)。
 5.

 网卡的 MAC (ether) 地址是 00:a0:cc:da:da:da
 6.

 物理传输媒介模式处于自动选择状态 (media: Ethernet autoselect (100baseTX <full-duplex>))。我们看到 dc1 被配置成运行在 10baseT/UTP 模式下。要了解驱动媒介类型的更多信息, 请查阅它们的使用手册。
 7.

 连接状态 (status)是 active,也就是说连接信号被检测到了。对于 dc1,我们看到 status: no carrier。这通常是网线没有插好。

如果 ifconfig(8) 的输出显示了类似于:

dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
 ether 00:a0:cc:da:da:da

的信息,那么就是还没有配置网卡。

要配置网卡,您需要 root 权限。 网卡配置可以通过使用 ifconfig(8) 命令行方式来完成, 但是这样每次启动都要做一遍。放置网卡配置信息的文件是 /etc/rc.conf。

用您自己喜欢的编辑器打开 /etc/rc.conf。并且您需要为每一块系统中存在的网卡添加一行, 在我们的例子中,添加如下几行:

ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0"
ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"

用自己正确的设备名和地址来替换例子中的 dc0,dc1 等内容。您应该应该查阅网卡驱动和 ifconfig(8) 的手册页来了解各选项,也要查看一下 rc.conf(5) 帮助页来了解 /etc/rc.conf 的语法。

如果在安装的时候配置了网络,关于网卡的一些行可能已经存在了。所以在添加新行前仔细检查一下 /etc/rc.conf。

您也可能需要编辑 /etc/hosts 来添加局域网中不同的机器名称和 IP 地址,如果它们不存在,查看 hosts(5) 帮助和 /usr/share/examples/etc/hosts 以获得更多信息。
11.8.3. 测试和调试

对 /etc/rc.conf 做了必要的修改之后应该重启系统以应用对接口的修改,并且确认系统重启后没有任何配置错误。

系统重启后就应该测试网络接口了。
11.8.3.1. 测试以太网卡

为了确认网卡被正确的配置了,在这里我们要做两件事情。首先, ping 自己的网络接口,接着 ping 局域网内的其他机器。

首先测试本地接口:

% ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms
64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms
64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms

--- 192.168.1.3 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms

现在我们应该 ping 局域网内的其他机器:

% ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms

--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms

您如果您设置了 /etc/hosts 文件,也可以用机器名来替换 192.168.1.2。
11.8.3.2. 调试

调试硬件和软件配置一直是一件头痛的事情, 从最简单的开始可以减轻一些痛苦。例如网线是否插好了?是否配置好了网络服务?防火墙配置正确吗? 是否使用了被 & os; 支持的网卡? 在发送错误报告之前您应该查看一下硬件说明, 升级 FreeBSD 到最新的 STABLE 版本, 看一下邮件列表或者在 Internet 上搜索一下。

如果网卡工作了, 但性能低下,应该好好阅读一下 tuning(7) 联机手册。 您也可以检查一下网络配置,不正确的设置会导致慢速的网络连接。

一些用户可能会在一些网卡上经历一到两次 ``device timeouts'', 这通常是正常现象。 如果经常这样甚至引起麻烦,则应确定一下它跟其他设备没有冲突。 仔细检查网线连接, 或者换一块网卡。

有时用户会看到少量 ``watchdog timeout'' 错误。这种情况要做的第一件事就是检查线缆连接。 一些网卡需要支持总线控制的 PCI 插槽。在一些老的主板上,只有一个 PCI 插槽支持 (一般是 slot 0)。检查网卡和主板说明书来确定是不是这个问题。

``No route to host'' 通常发生在如果系统不能发送一个路由到目的主机的包的时候。这在没有指定默认路由或者网线没有插上时会发生。 检查 netstat -rn 的输出并确认有一个有效的路由能到达相应的主机。 如果没有,请查阅 第 25 章。

``ping: sendto: Permission denied'' 错误信息经常由防火墙的配置错误引起。 如果 ipfw 在内核中启用了但是没有定义规则, 那么默认的规则就是拒绝所有通讯,甚至 ping 请求! 查阅 第 24 章 以了解更多信息。

有时网卡性能低下或者低于平均水平, 这种情况最好把传输媒介模式从 autoselect 改变为正确的传输介质模式。 这通常对大多数硬件有用,但可能不会解决所有人的问题。 接着,检查所有网络设置,并且阅读 tuning(7) 手册页。

作者: starshus   发布时间: 2005-05-01

这个看过的
还是不太明白
我觉得配置网关IP等都是局域网要配置的啊
我要的是自动获得IP上网
不知道怎么做
LINUX下好象直接默认就行的

作者: babysky   发布时间: 2005-05-01

引用:
作者: babysky
这个看过的
还是不太明白
我觉得配置网关IP等都是局域网要配置的啊
我要的是自动获得IP上网
不知道怎么做
LINUX下好象直接默认就行的
%sysinstall-->Configure--->network

作者: Freebird   发布时间: 2005-05-01

如果你现在在windows下,打开一个终端:
运行:
ipconfig /all

ok,用笔抄下来,在FreeBSD里运行sysinstall,设置相关的IP,然后用ifconfig 看看,基本就可以了.

作者: starshus   发布时间: 2005-05-01

Or you can configure you network under the command-line,like this:
%ifconfig rl0 IP_Address netmask netmask up
%route add -net default gw IP_OF_GATEWAY
%echo "nameserver IP_OF_DNS_SERVER" >>/etc/resolv.conf

作者: Freebird   发布时间: 2005-05-01

我知道你们是什么意思
可是我是小区宽带上网啊,IP是自动分配的
难道还要在sysinstall-->Configure--->network中配置IP,子掩码,域名等等吗?
如果还要自己写IP,子掩码等,那不就自己定义了?那服务器肯定不认啊,那不就等于局域网了吗?

作者: babysky   发布时间: 2005-05-01

引用:
作者: babysky
我知道你们是什么意思
可是我是小区宽带上网啊,IP是自动分配的
难道还要在sysinstall-->Configure--->network中配置IP,子掩码,域名等等吗?
如果还要自己写IP,子掩码等,那不就自己定义了?那服务器肯定不认啊,那不就等于局域网了吗?
YOu can select DHCP

作者: Freebird   发布时间: 2005-05-01

我也是自动分配IP
just DHCP

作者: starshus   发布时间: 2005-05-01

我把WINDOWS下的网络配置抄写下来,然后填到FREEBSD上了
版主帮帮忙看看对不对?

在选择sysinstall--->config--->networking--->interfaces--->r10(我的rt 8139网卡)--->这时候问我是否配置DHCP我选择是,之后搜索服务器,但网卡的灯不闪,过了一会开始填写下列内容:

host:elvis.haha
domain:haha
ipv4 gateway:我的网关
name server:dns 的IP
ipv4 address:没填
netmask:255.255.255.0
extra options to ifconfig:没填
然后确定,但在network services menu的菜单中interfaces选项前没有“X”
在命令行输入ifconfig r10 up也提示没启动
请问我还有哪里没作对?谢谢!

作者: babysky   发布时间: 2005-05-01

thinks everyone
question is resolve
tinks

作者: babysky   发布时间: 2005-05-01

引用:
作者: babysky
thinks everyone
question is resolve
tinks
你运气好哈哈

刚开始我在这里问的问题,基本全是我自己回答的。。。。。。。

作者: starshus   发布时间: 2005-05-01

LAN static ip就直接填
其他就用dhcp
应该是把?

作者: 断翅蝴蝶   发布时间: 2005-05-01

引用:
作者: 断翅蝴蝶
LAN static ip就直接填
其他就用dhcp
应该是把?
大概吧:P

作者: starshus   发布时间: 2005-05-01