Skip to content

Solaris 11手工网络配置

Solaris 11的网络管理相对于以前发生了很大的变化。新版本中是基于配置文件(network configuration profile,或ncp)来管理的。而且在实现时,把网络栈隔离为物理层(硬件)/驱动层/链路层/协议层(或IP层,对TCP/IP来说)。

系统安装后会自动检测网卡硬件,分配合适的驱动,为网卡创建通用的链路层名称。想要手工指定IP地址,管理员需要手工创建IP层接口,然后为这个IP层接口分配IP地址。这一点和以前的Solaris版本以及Linux差异是很大的。感觉更复杂、麻烦了一些。好处是功能更加强大,在你熟悉了这种配置以后你反而会觉得更方便了一些。
1. 要确定网络管理模式 (fixed or automatic), 使用下面的命令:

netadm list -x

如果网络管理为固定模式,netadm会给出以下信息:

netadm: DefaultFixed NCP is enabled; automatic network management is not available.
’netadm list’ is only supported when automatic network management is active.

否则,它会列出当前活动的网络配置资料(NCP):

# netadm list -x
TYPE  PROFILE  STATE  AUXILIARY STATE
ncp  Automatic online  active
……
netadm enable -p ncp DefaultFixed  ## 切换为手工配置模式(固定网络管理)
netadm enable -p ncp Automatic     ## 切换为自动配置模式

2. ipadm 和 dladm命令只能用于固定网络管理模式(DefaultFixed),netcfg命令只能用于自动网络管理模式

3. 启用固定网络管理模式(手动管理):

# netadm enable -p ncp DefaultFixed

4. 给网卡配置IP地址

先获取网卡及其链路层名称:

dladm show-phys  #查看物理网卡
dladm show-link  #查看网卡数据链路层名称及其对应网卡

再看看要配置的网卡是否有IP层接口,如果没有则需要创建一个:
ipadm show-if    #查看当前已经配置的接口(和物理网卡不是一个概念,这个是协议层的接口)

创建IP层接口,如net0(此名称应该和网卡的链路层接口名称一致):

ipadm create-ip net0  #如果要配置的网卡没有对应的IP层接口,则需要先创建一个,否则是无法为网卡配置IP地址的

最后配置IP地址:
# ipadm create-addr -T address-type -a address/prefixlen  addrobj

如:
# ipadm create-addr -T static    -a 192.168.84.3/24   net0/v4static

其中:

address-type:
Specifies the type of IP address that is assigned to the interface, which is one
of the following: static, dhcp, or addrconf. Addrconf refers to
automatically generated IPv6 addresses.
address:
Specifies the IP address to configure on the interface. You can specify either
just a local address, or both a local address and a remote address in the case
of tunnel configuration. Typically, you assign only a local address. In this
case, you specify the address directly with the -a option, such as: -a address.
The address is automatically considered a local address.
interface
refers to the IP interface to which the address is assigned. The
interface variable must reflect the name of the datalink on which the IP
interface is configured.

addrobj
Specifies an identifier for the unique IP address or set of addresses that is
used in the system. The addresses can be either IPv4 or IPv6 types. The
identifier uses the format interface/user_specified_string.

查看接口:
# ipadm show-if [interface]

查看地址:
# ipadm show-addr [addrobj]

 

5. 最后,如果需要,配置默认网关:

route -p add default 192.168.84.1

 

最后,可参考Oracle technetwork上的一篇博文,更加全面:

http://www.oracle.com/technetwork/articles/servers-storage-admin/s11-network-config-1632927.html

Avatar

专业Linux/Unix/Windows系统管理员,开源技术爱好者。对操作系统底层技术,TCP/IP协议栈以及信息系统安全有强烈兴趣。电脑技术之外,则喜欢书法,古典诗词,数码摄影和背包行。

Sidebar