FreeBSD的ifconfig命令添加IP地址的格式 出处 http://www.siutung.org/post/206/

ifconfig 网卡接口 inet ip地址 netmask 子网掩码 [alias]

说明:
       网上很多地方都把netmask给省略了,其实是这是不应该的,如果省略了子网掩码,系统会自动给用户一个默认的子网掩码,而我们手工设的子网掩码便无效。
       假 设我们给网卡设临时的IP:10.1.1.1 netmask 255.255.255.0与另一台计算机互联,如果省去了netmask,那么系统会自动根据使用者给定的IP地址类型来分配相应的 IP,10.1.1.1是A类IP地址,那么系统自动生成的子网掩码就是255.0.0.0,这与我们的需求是不同的。

例子:
[root@FreeBSD ~]# ifconfig le0 10.1.1.30 netmask 255.255.255.0 alias
[root@FreeBSD ~]# ifconfig le0 inet 10.1.1.31 255.255.255.0 alias
[root@FreeBSD ~]# ifconfig le0 inet 10.1.1.32 alias
[root@FreeBSD ~]# ifconfig le0 inet 172.21.1.89 alias
[root@FreeBSD ~]# ifconfig le0 inet 192.21.1.80 alias
[root@FreeBSD ~]# ifconfig le0
le0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500

options=8<VLAN_MTU>
ether 00:0c:29:2f:e9:d5
inet 10.1.1.30 netmask 0xffffff00 broadcast 10.1.1.255
inet 10.1.1.31 netmask 0xff000000 broadcast 255.255.255.0
inet 10.1.1.32 netmask 0xff000000 broadcast 10.255.255.255
inet 172.21.1.89 netmask 0xffff0000 broadcast 172.21.255.255
inet 192.21.1.80 netmask 0xffffff00 broadcast 192.21.1.255
media: Ethernet autoselect
status: active

       从上面可以得出,如果省略掉netmask,则后面的掩码数字就失效了,ifconfig会给你的ip设置一个默认掩码。
       什 么叫默认掩码?从上得出,当你的IP为A类地址的话,子网掩码为0xff000000,也就是255.0.0.0;如果你的IP为B类地址的话,子网掩码 为0xffff0000,也就是255.255.0.0;当你的IP为C类地址的话,子网掩码为0xffffff00,也就是 255.255.255.0。