10配置就是改改node文件,11就完全不一样了,不能通过修改文件来实现,必须用命令。
11 引入了两个新命令来进行手动管理网络:dladm
和 ipadm
,二者结合使用可以取代 ifconfig
。与 ifconfig
不同,由 dladm
和 ipadm
所做的更改在重新启动后持久保存。它们有着通用、一致的命令格式,并且与 ifconfig
不同,它们的输出可以解析,从而可在脚本中使用。
dladm
可执行数据链路(第 2 层)管理,配置物理链路、聚合、VLAN、IP 隧道和 InfiniBand 分区。它还管理链路层属性。
ipadm
可配置 IP 接口、IP 地址和 TCP/IP 协议属性。它还可取代 ndd
来进行网络层和传输层调优。
此外,Oracle Solaris 11 添加了使用网络配置文件自动配置网络的功能。配置文件由两个管理命令(netadm
和 netcfg
)管理,用一个实体描述网络接口、名称服务、路由和 IP 过滤器和 IPsec 策略的配置。
Oracle Solaris 11 使用基于配置文件的网络配置,其配置模式有两种:手动配置和自动配置,DefaultFixed
网络配置文件 (NCP) 或 Automatic
NCP。
自动的话就是使用DHCP,默认是自动,改成手动需要命令:
netadm enable -p ncp DefaultFixed
然后在看一下
netadm list
netadm: DefaultFixed NCP is enabled; automatic network management is not available. ‘netadm list‘ is only supported when automatic network management is active.
如果想改成自动
netadm enable -p ncp Automatic
改成手动之后,需要确认一下物理网卡
dladm show-phys
可能看到如下的列表
LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 1000 full e1000g0 net1 Ethernet unknown 0 unknown pcn0
看一下链路情况
dladm show-link
- LINK CLASS MTU STATE OVER
net1 phys 1500 up --
net0 phys 1500 up --
为net0网络接口建立ip链路
ipadm create-ip net0 看一下情况 ipadm show-if IFNAME CLASS STATE ACTIVE OVER lo0 loopback ok yes --- net0 ip down no --- 可以看到net0已经被创建了ip的链路,但是现在的状态是down,也不活动,应该是没有IP的原因。配置IP地址。 ipadm create-addr -T static -a 192.168.1.20/24 net0/v4 -T static是静态,-a是地址,后面跟ip地址,掩码也直接使用prefix书写/24,net0是针对那个接口,后面的/v4只是描述。 在看看情况 ipadm show-if IFNAME CLASS STATE ACTIVE OVER lo0 loopback ok yes --- net0 ip ok yes ---
果然状态都好了。
看看配置的IP地址
ipadm show-addr
ADDROBJ TYPE STATIC ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 192.168.1.20/24 lo0/v6 static ok ::1/128
添加一个默认路由
route -p add default 192.168.1.1 SMF 服务 svc:/network/dns/client 管理,过去位于 /etc/resolv.conf 中的配置信息。 SMF 服务 svc:/system/name-service/switch 管理,过去位于 /etc/nsswitch.conf 中的配置信息。 在两种情况下,配置信息还存储在老式文件中,以便与可能读取它们的其他应用程序兼容。 不应直接编辑这些老式文件。对属性的更改只有在刷新、重新启动或启用服务后才会反映到老式文件中。
svccfg -s svc:/network/dns/client setprop config/search=‘("xu.shen.com" "shen.com")‘
svccfg -s svc:/network/dns/client listprop config/search config/search astring "xu.shen.com" "shen.com"
svccfg -s svc:/network/dns/client setprop config/nameserver=net_address: ‘(10.167.162.20 10.167.162.36)‘ svccfg -s svc:/network/dns/client listprop config/nameserver config/nameserver net_address 10.167.162.20 10.167.162.36
完了要刷新一下
svcadm refresh svc:/network/dns/client svcadm restart svc:/network/dns/client
如果ping了,发现
send to Network is unreachable
当第一次从Automatic NCP 转换到 DefaultFixed NCP 时,网络会出问题,是bug吧。
刷新
svcadm refresh svc:/network/location:default
或者直接关了
svcadm disable svc:/network/location:default