solaris11 网络配置
Oracle Solaris 11 引入了两个新命令来进行手动管理网络:dladm 和 ipadm,二者结合使用可以取代 ifconfig。与 ifconfig 不同,由 dladm 和 ipadm 所做的更改在重新启动后持久保存。它们有着通用、一致的命令格式,并且与 ifconfig 不同,它们的输出可以解析,从而可在脚本中使用。
dladm 可执行数据链路(第 2 层)管理,配置物理链路、聚合、VLAN、IP 隧道和 InfiniBand 分区。它还管理链路层属性。
ipadm 可配置 IP 接口、IP 地址和 TCP/IP 协议属性。它还可取代 ndd 来进行网络层和传输层调优。
1 切换手动和自动网络模式
Oracle Solaris 11 使用基于配置文件的网络配置,其配置模式有两种:手动配置和自动配置。自动配置可以参考
这里
可以使用 netadm 查看系统上哪些网络配置文件是活动的:
-
root@solaris:~# netadm list
-
TYPE PROFILE STATE
-
ncp Automatic online
-
ncu:phys net0 online
-
ncu:ip net0 online
-
loc Automatic online
-
loc NoNet offline
-
loc User online
要切换到 DefaultFixed NCP,从而启用手动联网,运行以下命令:
-
root@solaris:~# netadm enable -p ncp DefaultFixed
-
root@solaris:~# netadm list
-
TYPE PROFILE STATE
-
ncp Automatic disabled
-
ncp DefaultFixed online
-
loc Automatic offline
-
loc NoNet offline
-
loc DefaultFixed online
2 配置静态 IP 地址
创建静态 IP 地址是分两步进行,一是创建 IP 接口,二是创建 IP 地址。一个 IP 接口可以关联多个 IP 地址。IP 地址对象的名称采用这种形式 接口/描述。
-
查看网络硬件
root@solaris:~# dladm show-phys [-m(注:显示MAC地址)]
LINK MEDIA STATE SPEED DUPLEX DEVICE
net1 Ethernet up 1000 full e1000g1
net0 Ethernet up 1000 full e1000g0
查看link
root@solaris:~#dladm show-link
LINK CLASS MTU STATE OVER
net1 phys 1500 up --
net0 phys 1500 up --
-
root@solaris:~# ipadm create-ip net0
-
-
root@solaris:~# ipadm show-if
-
IFNAME CLASS STATE ACTIVE OVER
-
lo0 loopback ok yes ---
-
net0 ip down no ---
-
root@solaris:~# ipadm create-addr -T static -a 10.163.198.20/24 net0/acme
-
root@solaris:~# ipadm show-if
-
IFNAME CLASS STATE ACTIVE OVER
-
lo0 loopback ok yes ---
-
net0 ip ok yes ---
-
-
root@solaris:~# ipadm show-addr
-
ADDROBJ TYPE STATIC ADDR
-
lo0/v4 static ok 127.0.0.1/8
-
net0/acme static ok 10.163.198.20/24
-
lo0/v6 static ok ::1/128
3 配置网关
-
root@solaris:~# route -p add default 10.163.198.1
-
add net default: gateway 10.163.198.1
-
add persistent net default: gateway 10.163.198.1
-
-
设置其他路由,经由特定interface
-
# route add -host 172.29.4.4 10.4.2.254 -ifp net4
# route add 192.168.3.0/24 192.168.3.1 -ifp net4
4 配置DNS
-
root@solaris:~# svccfg -s dns/client
-
svc:/network/dns/client> setprop config/nameserver = (8.8.8.8 8.8.4.4)
-
svc:/network/dns/client> setprop config/search = ("domain1.com" "domain2.com")
-
svc:/network/dns/client> listprop config
-
config application
-
config/value_authorization astring solaris.smf.value.name-service.dns.client
-
config/nameserver net_address 8.8.8.8 8.8.4.4
-
svc:/network/dns/client> exit
-
root@solaris:~#
-
root@solaris:~# svcadm refresh dns/client
-
root@solaris:~# svcadm restart dns/client
5 配置name-server
-
root@solaris:~# svccfg -s name-service/switch
-
svc:/system/name-service/switch> setprop config/host = "files dns"
-
svc:/system/name-service/switch> listprop config
-
config application
-
config/default astring files
-
config/value_authorization astring solaris.smf.value.name-service.switch
-
config/printer astring "user files"
-
config/host astring "files dns"
-
svc:/system/name-service/switch> exit
6 设置主机名
在 Oracle Solaris 11 中,已经删除 /etc/nodename 并代之以 svc:/system/identity:node 服务的 config/nodename 属性。
-
root@solaris:~# svccfg -s svc:/system/identity:node setprop config/nodename = astring: hostname
-
root@solaris:~# svcadm refresh svc:/system/identity:node
-
root@solaris:~# svcadm restart identity:node
这种设置主机名的方式适用于自动和手动网络配置。
在 Oracle Solaris 11 中,主机 /etc/hosts 中的项现与 localhost 中的一样。在先前版本的 Oracle Solaris 中,此项与第一个网络接口关联。
-
root@solaris:~# cat /etc/hosts
-
#
-
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
-
# Use is subject to license terms.
-
#
-
# Internet host table
-
#
-
::1 solaris localhost
-
127.0.0.1 solaris localhost loghost
Network Is Unreachable
当第一次从Automatic NCP 转换到 DefaultFixed NCP 时,网络会出问题
-
# ping 192.168.10.3
-
ping: send to Network is unreachable
-
-
# svcs ipfilter
-
STATE STIME FMRI
-
online Oct_17 svc:/network/ipfilter:default
-
-
# ipfstat -io
-
block out log all
-
pass out quick on lo0 all
-
pass out quick proto udp from any to any port = bootps
-
block in log all
-
pass in quick on lo0 all
-
pass in quick proto udp from any to any port = bootpc
-
-
# ipfstat -io6
-
block out log all
-
pass out quick on lo0 all
-
pass out quick proto udp from ::/0 to ::/0 port = dhcpv6-server
-
pass out quick proto ipv6-icmp from ::/0 to ::/0
-
block in log all
-
pass in quick on lo0 all
-
pass in quick proto udp from ::/0 to ::/0 port = dhcpv6-client
-
pass in quick proto ipv6-icmp from ::/0 to ::/0
解决办法为,刷新svc:/network/location:default SMF 服务,或者直接关闭。
-
# svcadm refresh svc:/network/location:default
-
or
-
# svcadm disable svc:/network/location:default
阅读(6036) | 评论(0) | 转发(0) |