欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

FREEBSD手工配置网络

程序员文章站 2022-03-05 17:00:18
在FreeBSD系统中,网络能力十分重要,对于一个标准的FreeBSD系统,至少要有一个网络界面以便与其他计算机通信。最常见的网络界面为以太网卡。此外FreeBSD也支持Token Ring和FDDI,以... 08-09-08...
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,表明需要重新设置网络,才会进入配置界面。   使用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