FREEBSD手工配置网络
人气:0
在FreeBSD系统中,网络能力十分重要,对于一个标准的FreeBSD系统,至少要有一个网络界面以便与其他计算机通信。最常见的网络界面为以太网卡。此外FreeBSD也支持Token Ring和FDDI,以及普通电话拨号连接、ISDN、ATM等广域网连接方式。在计算机网络领域内最常使用的连接方式是本地多台计算机使用局域网互联,再通过一台专用计算机与广域网连接,因此一个计算机最常使用的是局域网连接方式,并且局域网是永久连接方式,设置十分简单。
FreeBSD对网卡的支持是在系统内核中实现的,要使一个网卡工作正常,就需要系统内核拥有这个网卡的驱动,并配置好它占用的硬件资源。为了保证网卡被正确的检测到,应该使用dmesg来查看系统的检测信息。
使用sysinstall可以完成最基本的网络配置,可以配置主机名、域名、IP地址、缺省网关、DNS服务器等。配置的这些内容被写入系统的配置文件rc.conf中保留下来。当系统安装完成之后,在sysinstall的网络配置界面下试图重新配置网络时,由于网络正在运行,sysinstall将提示 “Running multi- user, assume that the network is already configured?” 此时需要回答No,表明需要重新设置网络,才会进入配置界面。
其中xl0标识一个3c905B的网络界面,inet为inetnet的简写,标识IP协议,FreeBSD也支持其他几种协议,如ipx、atalk等。设置本网络界面地址为192.168.1.64,网络掩码为255.255.255.0,up表示将这个网络界面运行起来。通常不需要这么复杂的写法,简单的使用下面命令将使用缺省网络掩码配置这个网络。
使用down参数可以简单停止网络界面的工作:
此外,还可以在一个网络界面上捆绑上多个IP地址,第二个及其之后的IP地址可以使用alias参数指定,如果不再想使用这个地址,可以使用delete命令删除这个ip别名。
ifconfig的另一个重要的作用是用来观察当前网络的所有界面的配置状态,-a参数将列出所有界面的配置信息。更改配置之后最好使用这个命令查看效果。
上图显示的信息包括各个网络界面,如以太网界面xl0,并行口界面lp0,用于ppp拨号的tun0和ppp0界面,用于slip拨号的sl0界面等各个网络界面的设置数据。
对于点对点的PPP界面,ppp0或tun0,通常要求指定另一端的IP地址,如果没有另一端的IP地址,就不能正常设置网络,事实上PPP软件会自动完成这些设置,而不需手工执行ifconfig。
更复杂的情况下,网络中可以有多个路由器,每个路由器负责到一些网络的转发任务,因此应该在计算机中配置这个网络上所有路由器及这些路由器负责的网络的路由数据。可以使用route命令增加到各个网络的静态路由数据,其中-net参数是一个可选参数,否则route从所给予的IP地址中判断它是网络还是计算机,同样可以指定 -host参数为一个远程计算机指定路由。
这个语句将在路由表中增加到网络192.168.2.0和192.168.3.0的路由,其中ip地址后面的24用于指示网络掩码,它代表二进制方式的网络掩码前面非0位的长度,24个非0位的掩码等价于255.255.255.0。如果没有指定网络掩码,route就使用该ip对应的缺省网络掩码。
设置完路由表之后,可以使用netstat -r命令来查看当前的路由表的内容。
除了显示到达其他网络的路由器之外,路由表中,还能显示出到达本地网段计算机的方式,例如link#1表示通过第一个网络界面,也能显示直接连接的其他主机的MAC地址。
其中network_interfaces定义了多个网络界面的名字,此后相对应的ifconfig_xl0等项的值是相应的 ifconfig的参数。同样static_routes参数也使用相同方式,来定义多个静态路由。
因此人们发展了一种分级的方式管理名字与IP地址对应关系,称为域名解析系统。在这个系统中采用一种分级结构,每个组织负责自己的域及通过这个域内的名字服务器,对域内的计算机名字和IP地址的对应关系进行维护,每个域内还可以划分为几个不同的子域,子域由子域内的名字服务器负责解析,这样就降低了维护任务的复杂程度。通过标准协议DNS,Internet上所有的名字服务器可以相互交换数据,这样每台计算机都能通过查询名字服务器来查询Internet上所有的计算机名字。
要使用域名解析系统DNS,当用作普通的DNS客户时,只需配置/etc/resolv.conf文件,指出所使用的名字服务器。
这个配置文件指出本机使用的域为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,(Berkeley Internet Name Domain)这是DNS域名系统的标准实现,第二行为hosts,因此这表示先查找DNS服务器,然后再查找本机中的文件hosts。由于从DNS 服务器上查找名字可以得到域名的全部信息,因此如果本机具备DNS名字的情况下,应该设置为查找DNS服务器优先。
虽然一般DNS名字解析速度并不会造成太大的影响,但如果本地的DNS反应较慢或者这台FreeBSD计算机的名字没有登记到DNS服务器上,那么服务器试图查找本机名字的行动就影响网络应用程序的连接速度,造成很多依赖于主机名的应用程序启动非常缓慢,为了加速计算机名字解析速度,可以更改这个文件设置为先查找本机文件优先。
可以使用ping来判断与远程计算机是否能够连通。
要想知道这台计算机是怎样和远程计算机相连接的,可以使用traceroute来获得从本机达到远程计算机所经过的路由器,以及到达各个路由器的开销等信息。
由于traceroute会在网络上产生大量的数据流,因此一般不要频繁使用这个命令,以免造成无谓的网络流量。
为了获得从一个计算机名字获得其IP地址,或者从IP地址得到计算机名字,可以直接使用nslookup来查询DNS服务器。
nslookup不仅能用于查询普通的IP地址,还可以查询其他更复杂的DNS信息,如某个域的名字服务器的地址,邮件服务器地址等。
- 手工配置网络
- 配置计算机名字
# hostname wb.example.com.cn
# hostname wb.example.com.cn |
- 配置网络界面
# ifconfig xl0 inet 192.168.1.64 netmask 255.255.255.0 up |
# ifconfig xl0 192.168.1.64 |
# ifconfig xl0 down |
# ifconfig xl0 192.168.100.100 alias
# ifconfig xl0 delete 192.168.100.100 |
# 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 |
# ifconfig tun0 inet 10.10.1.42 10.10.1.29 |
- 配置路由表
# route add default 192.168.1.254 |
# route add -net 192.168.10.0/24 192.168.1.253
# route add -net 192.168.20.0 192.168.1.253 |
# 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 |
- 保存配置
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” |
- 配置名字解析
# 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 |
# cat /etc/resolv.conf
domain example.com.cn nameserver 192.168.1.250 nameserver 192.168.2.210 |
bind
hosts |
- 使用基本网络工具
# 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 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 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 * * |
$ 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 |
加载全部内容