`
rootsoso
  • 浏览: 69319 次
  • 性别: Icon_minigender_1
  • 来自: 马勒隔壁
社区版块
存档分类
最新评论

Freebsd手工设置系统参数

阅读更多

 简要说明


      FreeBSD对网卡的支持是在系统内核中实现的,要使一个网卡工作正常,就需要系统内核拥有这个网卡的驱动,并配置好它占用的硬件资源。为了保证网卡被正确的检测到,应该使用dmesg来查看系统的检测信息。 
  使用sysinstall可以完成最基本的网络配置,可以配置主机名、域名、IP地址、缺省网关、DNS服务器等。配置的这些内容被写入系统的配置文件rc.conf中保留下来。当系统安装完成之后,在sysinstall的网络配置界面下试图重新配置网络时,由于网络正在运行, sysinstall将提示 “Running multi- user, assume that the network is already configured?” 此时需要回答No,表明需要重新设置网络,才会进入配置界面。


手工配置网络

  使用sysinstall进行网络配置的优点是所有的网络数据将在同一个界面下进行设置,不容易发生错误和遗漏现象。但熟练的Unix用户在平时维护系统的时候更喜欢使用手工配置,因为手工配置有很多优点:


熟悉命令之后,手工配置更快速,并且不需要重新启动; 
能够使用配置命令的高级特性; 
更容易维护配置文件,找出系统故障; 
能更深刻的了解系统配置是如何进行的。

  仅仅使用sysinstall进行设置,不可能对系统设置有深刻的了解,因而一旦发生问题,就容易束手无策。对于管理员来讲,不能被动的仅仅停留在能够使用和操作的阶段,而是要了解系统是如何进行工作的,才能更好的进行系统维护和管理。因而需要使用命令行方式。一旦熟悉之后,就会发现命令行才能提供全部灵活的操作能力,而全屏幕方式限制很多,过于呆板。


配置计算机名字


  每个系统都应该有一个名字,这个名字通常在系统安装时确定,可以使用hostname命令来获得当前系统的名字。同样设置计算机的名字也需要使用hostname命令,但这需要root权限:

# hostname wb.example.com.cn
# hostname wb.example.com.cn


配置网络界面

  网络界面实际就是网卡的驱动程序,操作系统使用它与网络硬件打交道,而配置网络界面的操作应该通过命令ifconfig来完成。理解了IP协议之后,使用ifconfig设置网络界面相当简单。

# ifconfig xl0 inet 192.168.1.64 netmask 255.255.255.0 up

  其中xl0标识一个3c905B的网络界面,inet为inetnet的简写,标识IP协议,FreeBSD也支持其他几种协议,如ipx、 atalk等。设置本网络界面地址为192.168.1.64,网络掩码为255.255.255.0,up表示将这个网络界面运行起来。通常不需要这么复杂的写法,简单的使用下面命令将使用缺省网络掩码配置这个网络。

# ifconfig xl0 192.168.1.64

  使用down参数可以简单停止网络界面的工作:

# ifconfig xl0 down

  此外,还可以在一个网络界面上捆绑上多个IP地址,第二个及其之后的IP地址可以使用alias参数指定,如果不再想使用这个地址,可以使用delete命令删除这个ip别名。

# ifconfig xl0 192.168.100.100 alias
# ifconfig xl0 delete 192.168.100.100

  ifconfig的另一个重要的作用是用来观察当前网络的所有界面的配置状态,-a参数将列出所有界面的配置信息。更改配置之后最好使用这个命令查看效果。

# ifconfig -a


xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.1.64 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:90:27:4e:f6:67 
        media: autoselect
        supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full
-duplex> 10baseT/UTP
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000

  上图显示的信息包括各个网络界面,如以太网界面xl0,并行口界面lp0,用于ppp拨号的tun0和ppp0界面,用于slip拨号的sl0界面等各个网络界面的设置数据。

  对于点对点的PPP界面,ppp0或tun0,通常要求指定另一端的IP地址,如果没有另一端的IP地址,就不能正常设置网络,事实上PPP软件会自动完成这些设置,而不需手工执行ifconfig。

# ifconfig tun0 inet 10.10.1.42 10.10.1.29

 

如果还有疑问,可以看一下http://www.freebsdchina.org/forum/viewtopic.php?t=41258&highlight=   第六楼(千万别忘了还有一个defaltrouter=|192.168.1.1" . 最重要的网关。要不你只能做一个无头苍蝇,只能回来转了。


配置路由表

  在同一个局域网上的计算机是直接连通的,但是不同的网络上的计算机并没有直接相连,只能通过一台特殊的专用计算机-路由器来完成连通。路由器连接有多个网络界面,每一个网络界面连接到一个相应的网络上,有一个相应的IP地址。而网络内部的计算机要向外连接,必须通过路由器进行转接,因此计算机必须知道路由器的IP地址。

  缺省网关就是一个网络中的最基本的路由器,负责几乎所有的向外连接任务。假设缺省网关的地址为 192.168.1.254,则设置缺省网关的命令为:

# route add default 192.168.1.254

  更复杂的情况下,网络中可以有多个路由器,每个路由器负责到一些网络的转发任务,因此应该在计算机中配置这个网络上所有路由器及这些路由器负责的网络的路由数据。可以使用route命令增加到各个网络的静态路由数据,其中-net参数是一个可选参数,否则route从所给予的IP地址中判断它是网络还是计算机,同样可以指定 -host参数为一个远程计算机指定路由。

# route add -net 192.168.10.0/24 192.168.1.253
# route add -net 192.168.20.0 192.168.1.253

  这个语句将在路由表中增加到网络192.168.2.0和192.168.3.0的路由,其中ip地址后面的24用于指示网络掩码,它代表二进制方式的网络掩码前面非0位的长度,24个非0位的掩码等价于255.255.255.0。如果没有指定网络掩码,route就使用该ip对应的缺省网络掩码。

  设置完路由表之后,可以使用netstat -r命令来查看当前的路由表的内容。

# netstat -r  


Routing tables

Internet:
Destination        Gateway            Flags     Refs     Use     Netif Expire
default            192.168.1.254      UGSc        1      941      xl0
127.0.0.1          127.0.0.1          UH          1      644      lo0
192.168.1          link#1             UC          0        0      xl0
192.168.1.254      0:e0:1e:ce:85:a9   UHLW        2        0      xl0
192.168.1.64       0:90:27:4e:f6:67   UHLW        1        6      lo0
192.168.1.253      link#1             UHLW        2        0      xl0
192.168.10         192.168.1.253      UGSc        0        0      xl0
192.168.20         192.168.1.253      UGSc        0        0      xl0

  除了显示到达其他网络的路由器之外,路由表中,还能显示出到达本地网段计算机的方式,例如link#1表示通过第一个网络界面,也能显示直接连接的其他主机的MAC地址。


保存配置

  上面的命令都是立即生效的命令,但是并没有将信息写入配置文件中,因此要想让系统重起之后配置仍然有效,就必须更改配置文件/etc/rc.conf。这里可以设置主机名,各个网络界面的属性,以及各个路由设置等。

hostname="wb.example.com.cn"
network_interfaces="xl0 ppp0 lo0" 
ifconfig_xl0="inet 192.168.1.64 netmask 255.255.255.0"
ifconfig_ppp0="inet 10.10.1.42 10.10.1.29"
ifconfig_lo0="inet 127.0.0.1"
defaultrouter=”192.168.1.254”
static_routes=”static_route1 static_route2”
static_route1=”-net 192.168.10.0/24 192.168.1.253”
static_route2=”-net 192.168.20.0/24 192.168.1.253”

  其中network_interfaces定义了多个网络界面的名字,此后相对应的ifconfig_xl0等项的值是相应的 ifconfig的参数。同样static_routes参数也使用相同方式,来定义多个静态路由。


配置名字解析

  在Inetnet发展的早期,仅仅使用主机名配置文件来作主机名/IP之间的映射,这对于互连的计算机较少时十分有效,而随着相连的计算机的增多,hosts文件会越来越大,如果用当前Internet上的计算机数量去衡量的话,使用hosts文件根本不可能。

# cat /etc/hosts
127.0.0.1   localhost 
192.168.1.64 wb.example.com.cn wb
192.168.1.254 gateway 
192.168.1.253 gateway2
192.168.1.252 gateway3
202.102.245.49 www.online.ha.cn

  因此人们发展了一种分级的方式管理名字与IP地址对应关系,称为域名解析系统。在这个系统中采用一种分级结构,每个组织负责自己的域及通过这个域内的名字服务器,对域内的计算机名字和IP地址的对应关系进行维护,每个域内还可以划分为几个不同的子域,子域由子域内的名字服务器负责解析,这样就降低了维护任务的复杂程度。通过标准协议DNS,Internet上所有的名字服务器可以相互交换数据,这样每台计算机都能通过查询名字服务器来查询 Internet上所有的计算机名字。

  要使用域名解析系统DNS,当用作普通的DNS客户时,只需配置/etc/resolv.conf文件,指出所使用的名字服务器。

# cat /etc/resolv.conf
domain example.com.cn
nameserver 192.168.1.250
nameserver 192.168.2.210

  这个配置文件指出本机使用的域为example.com.cn,这样如果查名字www,将会首先使用 www.example.com.cn作为全名。这里定义了两个名字服务器,第一个为192.168.1.250,第二个为备用名字服务器192.168.2.210。

  注意,因为此时还不能通过DNS查询名字,因此这里要使用IP地址而非主机名来指定名字服务器。

  由于可以同时使用/etc/hosts主机文件和/etc/resolv.conf中配置的DNS服务器都能进行计算机名字与IP 地址之间的转换,就可以规定查找的顺序,在/etc/host.conf文件中规定了进行名字转换时查找的顺序。

bind
hosts   

  系统缺省设置的顺序如上,第一行为bind,(Berkeley Internet Name Domain)这是DNS域名系统的标准实现,第二行为hosts,因此这表示先查找DNS服务器,然后再查找本机中的文件hosts。由于从DNS 服务器上查找名字可以得到域名的全部信息,因此如果本机具备DNS名字的情况下,应该设置为查找DNS服务器优先。

  虽然一般DNS名字解析速度并不会造成太大的影响,但如果本地的DNS反应较慢或者这台FreeBSD计算机的名字没有登记到DNS服务器上,那么服务器试图查找本机名字的行动就影响网络应用程序的连接速度,造成很多依赖于主机名的应用程序启动非常缓慢,为了加速计算机名字解析速度,可以更改这个文件设置为先查找本机文件优先。

呵呵,有时你看到机器启动画面,急死了。


使用基本网络工具

  当配置好网络之后,就可以使用系统提供的网络程序来访问网络,如使用ftp来从远程计算机上下载文件、telnet登录上远程系统等。FreeBSD下不但提供了这些普通的网络应用程序,而且还提供了相当丰富网络工具,帮助进行判断网络状态,发现网络故障。

  最基本的查看本地网络设置的程序,包括前面提到的设置程序ifconfig、route,以及查看网络状态的程序netstat。还有另外的一些程序,可以用来判断网络连接状态。

  前面提到的netstat的用法是使用-r参数来获得路由器的信息,而不使用这个参数启动netstat将报告当前的连接状态,包括TCP/IP连接和Unix socket连接。

# netstat


Active Internet connections
Proto Recv-Q Send-Q Local Address          Foreign Address        (state)
tcp        0      2 wb.online.ha.cn.telne www.1030                ESTABLISHED
tcp        0      0 wb.online.ha.cn.49157 wcarchive.cdrom..20    ESTABLISHED
tcp        0      0 wb.online.ha.cn.1139 wcarchive.cdrom..ftp   ESTABLISHED
tcp        0      0 wb.online.ha.cn.telne www.1029                ESTABLISHED
tcp       56      0 wb.online.ha.cn.1138 wcarchive.cdrom..ftp   CLOSE_WAIT
tcp        0      0 wb.online.ha.cn.telne www.1028                ESTABLISHED
tcp        0      0 wb.online.ha.cn.telne www.1027                ESTABLISHED
tcp        0      0 wb.online.ha.cn.1101 email.9999             ESTABLISHED
Active UNIX domain sockets
Address Type   Recv-Q Send-Q    Inode     Conn     Refs Nextref Addr
f458af00 dgram       0      0        0 f4571fc0        0 f458ae40
f458ae40 dgram       0      0        0 f4571fc0        0 f458af40
f458af40 dgram       0      0        0 f4571fc0        0 f458af80
f458af80 dgram       0      0        0 f4571fc0        0 f458afc0
f458afc0 dgram       0      0        0 f4571fc0        0        0
f4571fc0 dgram       0      0 f45705c0        0 f458af00        0 /var/run/log

  可以使用ping来判断与远程计算机是否能够连通。

$ ping ftp.freebsd.org
PING wcarchive.cdrom.com (209.155.82.18): 56 data bytes
64 bytes from 209.155.82.18: icmp_seq=1 ttl=240 time=520.726 ms
64 bytes from 209.155.82.18: icmp_seq=2 ttl=240 time=773.465 ms
^C

  要想知道这台计算机是怎样和远程计算机相连接的,可以使用traceroute来获得从本机达到远程计算机所经过的路由器,以及到达各个路由器的开销等信息。

$ traceroute www.pku.edu.cn
traceroute to sun1000e.pku.edu.cn (162.105.254.12), 30 hops max, 40 byte packets
1 202.102.245.1 (202.102.245.1) 1.078 ms 0.862 ms 0.850 ms
2 202.102.235.165 (202.102.235.165) 157.337 ms 157.957 ms 174.054 ms
3 202.97.26.217 (202.97.26.217) 134.037 ms 57.994 ms 55.602 ms
4 1S7-rtr1-r-1-hbwh.cn.net (202.97.26.165) 274.626 ms 120.154 ms 580.097 ms
5 202.97.10.113 (202.97.10.113) 623.421 ms 888.556 ms 794.748 ms
6 6A05-rtr2-c-1-bjbj.cn.net (202.97.1.189) 411.728 ms 247.819 ms 245.688 ms
7 202.97.9.1 (202.97.9.1) 762.538 ms 945.893 ms 920.904 ms
8 202.97.8.254 (202.97.8.254) 1181.508 ms 1107.783 ms 374.649 ms
9 1F0-rtr1-r-1-bjbj.cn.net (202.97.2.14) 960.674 ms 635.770 ms 700.182 ms
10 202.97.16.190 (202.97.16.190) 391.926 ms 214.433 ms 721.839 ms
11 * 202.112.63.100 (202.112.63.100) 313.066 ms *
12 * * *
13 * * beijing-rgw-lan.cernet.net (202.112.1.66) 434.928 ms
14 * * *
15 * 202.112.5.194 (202.112.5.194) 282.973 ms 340.009 ms
16 sun1000e.pku.edu.cn (202.112.7.12) 827.202 ms * *

  由于traceroute会在网络上产生大量的数据流,因此一般不要频繁使用这个命令,以免造成无谓的网络流量。 〔对不对,大量数据流怎么产生的?)

  为了获得从一个计算机名字获得其IP地址,或者从IP地址得到计算机名字,可以直接使用nslookup来查询DNS服务器。

$ nslookup ftp.freebsd.org 
Server: ns.hazzptt.net.cn
Address: 202.102.224.68

Non-authoritative answer:
Name:    wcarchive.cdrom.com
Address: 209.155.82.18
Aliases: ftp.freebsd.org
$ nslookup 209.155.82.18
Server: ns.hazzptt.net.cn
Address: 202.102.224.68

Name:    wcarchive.cdrom.com
Address: 209.155.82.18

  nslookup不仅能用于查询普通的IP地址,还可以查询其他更复杂的DNS信息,如某个域的名字服务器的地址,邮件服务器地址等

From :http://blog.chinaunix.net/u/6719/showart_115769.html

 

 

==================

   主机名字设置不对话,可能出错哦。

分享到:
评论

相关推荐

    搭建一个大型网站架构的实验环境(FreeBSD系统设置篇)

    搭建一个大型网站架构的实验环境,特别是在FreeBSD系统设置篇中,涉及到了多个关键的知识点,包括系统安装后的基础设置、网络配置、SSH服务配置、密钥认证以及系统的升级等。下面将对这些知识点进行详细解析。 ### ...

    FreeBSD安装设置大全(中文版)

    这份“FreeBSD安装设置大全”旨在为用户提供详尽的指南,帮助他们顺利地安装和配置FreeBSD系统。无论你是初学者还是经验丰富的系统管理员,都可以通过这份资料深入理解FreeBSD的安装过程和后期设置。 **一、FreeBSD...

    FreeBSD操作系统的设计和实现

    FreeBSD是一个高性能的UNIX操作系统,具有高度的可靠性和强大的网络功能。它在学术和商业领域都有广泛的应用,是学习操作系统设计和实现的一个重要平台。《FreeBSD操作系统的设计和实现》这本书详细介绍了FreeBSD的...

    FREEBSD操作系统设计与实现.pdf

    全书共5部分14章。第一部分包括前3章,是对FreeBSD历史、设计和内核服务的综述性介绍...本书适合FreeBSD操作系统技术支持人员、应用程序开发人员、系统管理员和系统程序员阅读,也可供对学习FreeBSD感兴趣的读者参考。

    FREEBSD 文件系统 文件浏览工具

    此外,保持系统更新、合理使用权限设置、避免非正常关机,以及使用稳定的电源,都可以减少文件系统损坏的风险。 总之,理解和掌握FREEBSD的文件系统及其相关的浏览工具,对于系统管理员和开发者来说至关重要。通过...

    FreeBSD网络操作系统视频教程

    教程名称:FreeBSD网络操作系统视频教程课程目录:【】Apachel服务器系列之一(楚广明网络教程之八)【】FreeBSD之Samba服务器(楚广明系列课程之五)【】FreeBSD基本文件配置(楚广明系列之二)【】freebsd安装(楚广明...

    FreeBSD 9.2 64位 迷你系统安装镜像

    这是一个 FreeBSD 9.2 版本的 64位系统镜像文件,文件名为 'mfsbsd-se-9.2-RELEASE-amd64.iso'。这个镜像文件可以用于创建 FreeBSD 9.2 版本的操作系统环境,适用于 64位的硬件架构。下载后,可以通过刻录或者虚拟机...

    FreeBSD系统结构手册(高清PDF中文版)

    1. **配置与管理工具**:FreeBSD提供了许多命令行工具,如sysctl用于动态调整内核参数,rc.conf用于配置系统服务。 2. **性能监控**:FreeBSD内置了top、vmstat、iostat等工具,帮助管理员监控系统性能和资源使用...

    FreeBSD系统编程 中文版

    **FreeBSD系统编程**是针对使用FreeBSD操作系统进行软件开发和系统级编程的专题知识领域。FreeBSD是一种基于Unix的开源操作系统,以其稳定性和高性能而受到开发者们的青睐。本篇将深入探讨FreeBSD Unix系统编程的...

    FreeBSD系统结构官方简体中文手册txt

    根据提供的文件信息,我们可以从标题、描述以及部分内容中提取出关于FreeBSD系统结构的重要知识点。 ### 标题:FreeBSD系统结构官方简体中文手册txt 该标题表明这是一份官方发布的、关于FreeBSD系统结构的手册,...

    FreeBSD操作系统设计与实现

    FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持。并且一些原来BSD UNIX的开发者后来转到FreeBSD的开发,使得FreeBSD...

    FREEBSD7.0 系统恢复安装图解

    安装完成后,可以基于之前的系统参数进行设置,大部分配置会保留,少数如/etc/passwd和/etc/group等会重新创建。 如果系统用户信息丢失,但有备份,可以在安装完毕后,重启进入单用户模式。在启动菜单选择[6.Escape...

    FREEBSD操作系统设计与实现 清晰中文版+英文原版 (共2卷) part2

    FREEBSD操作系统设计与实现 清晰中文版+英文原版 (共2卷) part2

    freeBSD系统结构手册

    ### FreeBSD系统结构手册关键知识点解析 #### 一、FreeBSD简介 - **系统定义**:FreeBSD是一款基于Unix的操作系统,其目标在于提供一个稳定、高效且可定制的基础平台,适用于服务器、个人计算机及嵌入式系统等多种...

    FreeBSD 系统结构手册.chm

    自己制作的最新版的FreeBSD 系统结构手册

    FreeBSD 8.4安装指南

    FreeBSD 8.4是FreeBSD操作系统的一个稳定版本,它基于FreeBSD的开源Unix-like系统,以其稳定性、安全性和灵活性而著称。本指南将详细阐述FreeBSD 8.4的安装过程,以及如何在安装完成后部署Panabit网络管理软件。 一...

    FreeBSD系统编程.doc

    FreeBSD系统编程是针对FreeBSD操作系统进行应用程序开发和系统维护的技术。在FreeBSD中,`make`是一个核心的工具,用于管理和构建项目,特别是跟踪文件之间的依赖关系,以自动化构建过程。以下是关于FreeBSD系统编程...

    FreeBSD邮件系统安装详细指南

    Extman是Extmail的后台管理工具,用于管理邮件账户和邮件系统设置。 ##### 7.1 下载Extman 从官方网站或其他可靠源下载最新版本的Extman。 ##### 7.2 设置Apache 调整Apache的配置,确保Extman能够通过Web界面...

Global site tag (gtag.js) - Google Analytics