在bge0网卡上增加ip别名:

ifconfig bge0 add alias xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx up  

说明:这里掩码的设定是这样的,同一个网断的第一个ip掩码按照真实的掩码设置。在这个网段下面再增加ip时,掩码就是255.255.255.255了!切记!

在bge0网卡上删除ip别名:

ifconfig bge0 -alias xxx.xxx.xxx.xxx 

下路由配置

配置路由 在同一个局域网上的计算机是直接连通的,但是不同的网络上的计算机并没有直接相连,只能通过一台特殊的专用计算机 -路由器来完成连通。路由器连接有多个网络界面,每一个网络界面连接到一个相应的网络上,具有一个这个网络上的IP地址,因此,网络内部的计算机可以和路由器本身相互通信。 当网络内部的计算机要向外连接的时候,数据包实际是交给路由器的,路由器再将数据包从连接外部网络的网络界面上转发出去,数据包经过这样一个一个的转发过程,直到到达目的地。对于网络内部的计算机来讲,没有必要了解数据包的整个转发的路径和经过的所有路由器的信息,只需要知道第一步需要将数据包交给哪一个路由器就可以了。因此,计算机必须知道与它直接相连接的路由器的有关信息,这个过程就是路由配置的过程。 进行路由配置有两种途径,一种是由管理员设置所有的路由信息,由于数据是手工设置,因此称为静态路由设置。另一个是启动一个支持路由交换协议的进程,自动侦测网络上的所有路由器及其相关信息,这称为动态路由设置。 在 FreeBSD系统不用做专门路由器的情况下,一般地说使用静态路由设置足够满足网络通信的需要。

  1. 缺省网关 在最简单的情况下,一个网络向外通过一个路由器完成向外连接,这个路由器被称为缺省网关,它负责几乎所有的向外连接任务。假设缺省网关的地址为 192.168.1.254, 则设置缺省网关的命令为:

    freebsd# route add default 192.168.1.254 add net default: gateway 192.168.1.254 //成功配置缺省网关 add net default: gateway 192.168.1.254: File exists //如果系统已经设置了缺省网关,那么系统会报告错误 freebsd# route delete default delete net default //成功删除缺省网关 freebsd# route flush //清除所有路由 default 192.168.1.254 done

上述命令执行之后立即生效,因此,可能会影响已经建立的连接。为了保存缺省网关的配置,同样也需要将配置写入系统配置文件 rc.conf。 defaultrouter=“192.168.1.254” 仅仅配置缺省网关的大部分情况是在计算机处于整个互联网的边缘,网络中仅仅需要一个路由器接入互联网就可以了。 2) 其他静态路由设置 更复杂的情况下,计算机所处的网络与多个网络相连接,网络中存在多个路由器,每个路由器负责到一些网络的转发任务,而不负责到全部网络的转发任务。这种情况下,如果将所有的数据都发给一个路由器,那么原则上它只能正确转发目的是它自己负责的网络的数据。实际使用当中,路由器将使用 ICMP协议,向发送数据的主机报告路由错误。 因此,应该在计算机中配置这个网络上所有路由器及这些路由器负责的相应网络的路由数据,以便计算机选择正确的路由器转发数据包。同样,也必须使用 route命令增加到各个网络的静态路由数据。

freebsd# route add 192.168.10.0/24 192.168.1.253
freebsd# route add 192.168.20.0/24 192.168.1.253
freebsd# route add 192.168.30.0/25 192.168.1.253
freebsd# route add 192.168.30.128 192.168.1.253
freebsd# route add 192.168.40.0 -netmask 255.255.255.0 192.168.1.253

上面指令给出了几种不同的情况, IP地址之后的 ′ /24 ′ 指明子网掩码的长度是 24位,它代表二进制方式的网络掩码前面非0位的长度,24个非0位的掩码等价于255.255.255.0,也可以忽略这个部分,系统使用网络地址的缺省掩码,例如192.168.20.0属于一个C类地址,因此网络掩码是255.255.255.0。但是,如果不是标准的A、B、C类地址,而是一个被划分过的子网,就必须指明子网掩码,例如192.168.30.0/25,必须指明掩码长度是25位,否则系统使用缺省的掩码。如果不使用掩码长度的形式,则可以使用 ′ -netmask ′ 参数的形式指明网络掩码。 即便如此,上面的指令也不是没有问题。对于标准的网络地址, route指令能确定网络地址和掩码,但是对于象192.168.30.128这样的地址,在通常情况下,它属于一个计算机的普通IP地址,route指令也能设置通向单独计算机的路由,因此上面的命令将设置一个通向192.168.30.128这一个主机的路由。系统将返回:

freebsd# route add 192.168.30.128 192.168.1.253
add host 192.168.30.128: gateway 192.168.1.253

而其他情况下将返回 ” add net …” ,表明地址代表一个网络而不是一个单独的计算机。然而,很多情况下,这个地址被用作一个网络地址,是一个代表从 192.168.30.128到192.168.30.255整个网络的网络地址,它的掩码为25位长的255.255.255.128。 甚至在一些极端的情况下,地址 192.168.10.0也可以用来代表一个具体的计算机的IP地址,而不是一个网络地址。 为了指定这些非标准情况,必须使用额外的参数。

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

上面指令中的 -net参数是一个可选参数,它明确指出这个路由是通向一个网络的路由数据,否则route只能从所给予的IP地址中判断它是网络还是计算机,就有可能发生与管理员想法并不一致的设置。同样可以指定-host参数为一个单独的远程计算机指定路由。

freebsd# route add -host 192.168.20.0 192.168.1.253

非缺省网关的静态路由设置同样也需要保存在 rc.conf中,以备下次启动时自动配置。

static_routes="static1 static2"
route_static1="-net 192.168.10.0/24 192.168.1.253"
route_static2="-net 192.168.20.0/24 192.168.1.253"

保存静态路由的方法略为复杂,这是因为静态路由的数量并不确定,因此首先给静态路由确定一个名字,例如 static1、static2等,使static_routes变量中包含这些名字,然后将具体的路由设置保存在route_static1等类似的由静态路由的名字组成的变量中。 3) 查看路由信息 设置完路由表之后,可以使用 netstat -r命令来查看当前的路由表的内容。

# netstat -nr
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

http://blog.csdn.net/marcolu/archive/2004/08/05/66012.aspx http://bbs.itzero.com/redirect.php?tid=97614&goto;=lastpost