[全+转载] solaris 网络配置

=====================

较为重要的几个文件:

/etc/nodename                      主机名(即 hostname命令的输出)

/etc/defaultdomain                 默认域名

/etc/inet/hosts                      ip-hostname映射 (注:/etc/hosts连接到/etc/inet/hosts, 而/etc/inet/ipnodes又连接到/etc/hosts)

/etc/hostname.interface         网卡配置文件

/etc/defaultrouter                  默认网关

========================

 

1 网络设置

通过DHCP方式动态获取IP和netmask

ifconfig e1000g0 auto-dhcp

ifconfig e1000g0 dhcp start | drop | status

 

临时修改网卡IP和子网掩码设置:

ifconfig e1000g1 inet 192.168.56.103 netmask 255.255.255.0

 

加载物理网卡:

ifconfig e1000g1 plumb | unplumb

启动、关闭网卡:

ifconfig e1000g1 up | down

 

重新激活网卡:

ifconfig e1000g0 unplumb down

ifconfig e1000g0 plumb up

 

2 防火墙设置 -- 开放端口

查看端口占用:

netstat -na | grep -i listen

查看那个端口被哪个进程使用:

# for i in /proc/*

> do

> echo ---------- process $i ----------

> pfiles $i | grep -i "port: 32805"  ## 查看$i号进程的详细信息,搜索包含"port: 32805"的那行

> done

 

# pfiles <pid>

 

3 修改hostname (/etc/nodename)

# echo "asn-vm-solaris" > /etc/nodename

重启后生效

 

====================================

http://bbs.csdn.net/topics/290006534 的篇贴子的讨论

 

通常的设置方式有两种:

  a. 使用ifconfig命令

  b. 通过创建和修改相关配置文件

使用ifconfig命令,可以使设置立即生效,但设置是临时的,每次系统重启后,需要重新进行设置。

而创建和修改配置文件,可保存设置,系统每次启动时,会根据配置文件的内容自动对网卡进行设置。

1. 使用ifconfig命令对网卡进行设置

1) 激活网卡(# ifconfig plumb up)
激活网卡的意义在于将网卡驱动程序加载到Solaris系统的内核中,激活之后才可以进一步对网卡进行操作。

手动激活rh0,
# ifconfig rh0 plumb up

验证结果,
# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
rh0: flags=1000843 mtu 1500 index 2
inet 0.0.0.0 netmask 0
ether 0:8:d:6e:8b:f1
可以看到rh0已被激活,但还没有分配地址。

2) 分配地址
网卡地址分配通常包括静态分配dhcp动态分配两种方式。

a. 静态分配地址

# ifconfig <interface> inet <address>  netmask <netmask>

把IP: 129.158.215.204 , netmask: 255.255.255.0分配给rh0
# ifconfig rh0 129.158.215.204 netmask 255.255.255.0

验证结果:
# ifconfig rh0
rh0: flags=1000843 mtu 1500 index 2
inet 129.158.215.204 netmask ffffff00 broadcast 129.158.215.255
ether 0:8:d:6e:8b:f1
IP和子网掩码已生效。

b. 通过dhcp方式分配地址(命令 # ifconfig dhcp )

重新激活rh0:
# ifconfig rh0 unplumb down
# ifconfig rh0 plumb up

通过dhcp方式获得IP和子网掩码:
# ifconfig rh0 dhcp

验证结果:
# ifconfig rh0
rh0: flags=1004843 mtu 1500 index 2
inet 129.158.215.247 netmask ffffff00 broadcast 129.158.215.255
ether 0:8:d:6e:8b:f1
已自动获取到IP和子网掩码。

2. 通过配置文件对网卡进行设置

与网卡基本设置相关的配置文件放在/etc/inet/etc目录下

包括:
1) /etc/hosts -> /etc/inet/hosts (文件中的每一行记录表示hostname和ip地址的对应关系)
bash-3.2# cat inet/hosts

#

# Internet host table

#

127.0.0.1       localhost

::1     localhost

10.0.2.15       asn-vm-solaris  # Added by DHCP

 

2) /etc/hostname.e1000g1

bash-3.2# cat hostname.e1000g1

asn-vm-solaris

 

3) /etc/netmasks (文件中的每一行记录表示和netmask的对应关系)

 

4) /etc/dhcp.e1000g0 (dhcp)


创建和修改配置文件后,需要重启系统才能使设置生效。

--------------------------------------

配置示例:

1) 分配地址
同样包括静态分配和dhcp动态分配两种方式。

a) 静态分配地址(文件 /etc/hosts , /etc/netmask , /etc/hostname.)

1  自定义一个hostname,并指定IP地址
# vi /etc/hosts
加入一行记录:129.158.215.204 myhostname loghost
:x!保存退出。

2  定义子网掩码
# vi /etc/netmasks
加入一行记录:129.158.215.0 255.255.255.0
:wq保存退出。

3  将自定义的hostname关联到rh0
# vi hostname.rh0
加入一行记录:myhostname
:wq保存退出。


b) 通过dhcp方式分配地址(文件 /etc/hostaname. , /etc/dhcp. )

1  创建空文件hostname.rh0
# touch /etc/hostname.rh0

2  创建文件dhcp.rh0
# touch /etcdhcp.rh0
需要的话还可以在该文件中填入超时时间(秒),比如:30

 

 

2) 重启系统
# reboot

3) 常见问题:
在/etc/hosts文件中修改了IP地址,重启后,发现机器的IP地址还是原来的,是怎么回事?
问题可能出在/etc/inet/ipnodes文件。该文件的语法跟/etc/hosts相同,但优先级高于/etc/hosts。

如果/etc/inet/ipnodes文件中保留了原来的IP地址,那么/etc/hosts中相同hostname的IP设置将被忽略。

将ipnodes文件中的IP地址一行删掉,或改成新的IP地址,重启后,问题就消失了。

3. sys-unconfig
如果觉得使用ifconfig命令和手工修改配置文件太麻烦,可运行sys-unconfig命令,以交互方式对系统重新进行设置。执行
# sys-unconfig
重启后,系统会提示对网卡进行设置,并将设置结果自动保存到配置文件中。

 

===========================================

 

1、查找网卡设备名称 

more  /etc/path_to_inst |grep net 

 

2、网卡默认都是禁用的,使用ifconfig –a命令无法看到,必须首先启用 网卡启用命令:ifconfig pcn0 plumb 

动态生效:ifconfig pcn0 inet 192.168.56.103 netmask 255.255.255.0 up 

 

3、添加静态地址,保证小型机重启后生效 

a)添加hostname文件  - - - 域名

/etc/hostname.pcn0                 //此处的文件名必须是“hostname+. +网卡名”的形式 

内容:asn-vm-solaris

 

b)修改hosts文件 cd /etc vi hosts 添加: 

192.168.56.103        asn-vm-solaris

注意:IP地址后面的机器名必须和/etc/hostname.pcn0文件中的机器名相同 

 

C)添加新的IP的子网掩码 

cd /etc vi netmask 

增加一行新的IP的掩码 

192.168.56.103        255.255.255.0

 

 

4、添加新的网关地址  - - - getway

a)动态生效 

route add 192.168.56.1/192.168.1.1

 

b)静态重启生效

cd /etc/rc3.d

vi S101route

增加一行:route add 10.71.122.0/25 10.71.13.1 

 

c)如需修改默认路由

vi /etc/defaultrouter 修改里面的IP地址

 

 

===============================

 

solaris下增加网卡的注意事项:

 

1.Solaris 软件在/etc目录下存放网络配置文件

所有的配置数据比如ip地址、网关等可以被定义或者在运行层进行修改,

而只有那些存放在/etc目录文件中的定义可以在系统重启后可以保存下来,永久生效。   

 

可以在这些文件中找到主机名(hostname):   

/etc/nodename  

/etc/hostname.接口名,如果不知道接口名,可在path_to_inst文件中查找。   

/etc/hosts 

/etc/netmasks,该文件格式为:网络号     子网掩码  

/etc/net/{ticlts,ticots,ticotsord}/hosts  

/etc/nodename 这个文件定义了系统名,

从网络的观点看,一个有多块网卡和多个ip地址的系统可以有多个名字,每个都在/etc/inet/hosts中有定义。 

这些名字中的任何一个都等价于系统名( nodename),但是他们不是必须的 

 

2. 有时候,对于只有一块网卡的系统定义2个ip地址是很有用的

这时可以通过编辑hostname.interfacename:number来实现

比如可以编辑:hostname.pcn0和hostname.pcn0:1就可以了

 

3. 如果机器上有两个以上可用的网络接口,Solaris会自动启用IP转发

要检查IP转发是否已经启用:ndd -get /dev/ip_forwarding

启用IP转发:ndd -set /dev/ip_forwarding 1

关闭IP转发:ndd -set /dev/ip_forwarding 0

 

另一种关闭IP转发的方法是创建/etc/norouter文件,例如touch /etc/norouter

 

 

配置网卡: 

solaris10中添加网卡以及绑定多IP 

一、添加网卡:  

  首先关闭电源插入新网卡,

    使用ifconfig interface_name plumb激活网卡,

    然后向其添加IP地址。

 

示例如下:  

# ifconfig pcn1 plumb  

# ifconfig -a  

 

lo0:  flags=2001000849   mtu 8232 index 1

    inet 127.0.0.1  netmask ff000000  

 

pcn0: flags=1000843  mtu 1500 index 2

    inet 192.168.1.129  netmask ffffff00       broadcast 192.168.1.255 

    ether 0:c:29:d4:89:f  

pcn1: flags=1000842 mtu 1500 index 4

    inet 0.0.0.0      netmask 0 

    ether 0:c:29:d4:89:19

这时候还没有配置IP

所以如上所示,接着配置IP地址:

#ifconfig pcn1 192.168.1.131 netmask 255.255.255.0 up

#ifconfig -a  

 

lo0:  flags=2001000849  mtu 8232  index 1

    inet 127.0.0.1  netmask ff000000

 

pcn0: flags=1000843  mtu 1500  index 2

    inet 192.168.1.129  netmask ffffff00       broadcast 192.168.1.255

    ether 0:c:29:d4:89:f

 

pcn1: flags=1000843  mtu 1500  index 4

    inet 192.168.1.131  netmask ffffff00       broadcast 192.168.1.255

    ether 0:c:29:d4:89:19

 

# ping 192.168.1.131

192.168.1.131 is alive

这样的配置在系统重新启动后会自动消失的,为了不让它消失,须作如下处理: 

 

# vi /etc/hosts  

# Internet host table

::1    localhost

127.0.0.1          localhost

192.168.1.129          sol10         sol10

192.168.1.124          solaris10  solaris10

192.168.1.112          xzxj            xzxj

192.168.1.131          zfs-zones          zfs-zones  

加入"192.168.1.131 zfs-zones zfs-zones" 这条记录后保存退出。

 

如果你的第二块网卡和第一块网卡不在同一网段的话 ,你还要修改/etc/netmasks文件,加入对应网段的子网掩码。

 

接着创建/etc/hostname.pcn1文件,加入这个网卡所对应的主机名。重启后查看。

# reboot  或 shutdown -y -i6 -g0   或 init 6

# ifconfig -a  

lo0:  flags=2001000849  mtu 8232  index 1 

    inet 127.0.0.1  netmask ff000000

pcn0: flags=1000843  mtu 1500  index 2

    inet 192.168.1.129  netmask ffffff00  broadcast 192.168.1.255

    ether 0:c:29:d4:89:f  

pcn1: flags=1000843  mtu 1500  index 3

    inet 192.168.1.131  netmask ffffff00  broadcast 192.168.1.255

    ether 0:c:29:d4:89:19

 

 

二、绑定多个IP: 

举例说明,网卡名pcn0:

# vi /etc/hosts

127.0.0.1     localhost  

192.168.1.123 sol10       sol10

192.168.1.15  webserver1

192.168.1.65  webserver2

 

# vi /etc/netmasks  

192.168.1.0     255.255.255.0

 

#vi /etc/hostname.pcn0

sol10  

创建以下两个文件/etc/hostname.pcn0:1和/etc/hostname.pcn0:2

内容如下:  

#vi /etc/hostname.pcn0:1

webserver1  

#vi /etc/hostname.pcn0:2

Webserver2 

 

设置生效 

#ifconfig pcn0:1 plumb

#ifconfig pcn0:2 plumb

# ifconfig pcn0   inet 192.168.1.123 netmask 255.255.255.0 up

# ifconfig pcn0:1 inet 192.168.1.15  netmask 255.255.255.0 up

# ifconfig pcn0:2 inet 192.168.1.65  netmask 255.255.255.0 up

重启系统,查看

# init 6   或者reboot  #ifconfig -a

 

 

三、Solaris下修改mac地址 

 

用ifconfig 命令即可修改mac地址,假设接口名为nge0,要将mac地址修改为aa:bb:cc: dd :ee:ff

 

可以运行如下命令:  

# ifconfig nge0 ether aa:bb:cc:dd:ee:ff

 

要永久生效,在/etc/hostname.nge0添一行  ether aa:bb:cc:dd:ee:ff

 

查看工作模式:  

solaris查看网卡工作状态和速度8.9 10 Mbit 还是100 Mbit,半双工还是全双工?

可以使用命令 ndd /dev/查询网络接口的状态,状态通常为 le、hme、eri 或 qfe:  

- ndd /dev/eri link_status: 0 = 故障,1 = 正常

- ndd /dev/eri link_speed: 0 = 10 Mbit,1 = 100 Mbit

- ndd /dev/eri link_mode: 0 = 半双工,1 = 全双工

 

所有网络接口参数的 Solaris OS 缺省值为“自动协商”。

如果连接的网络设备不能进行自动协商,则可以手动设置所有参数。可以通过将所有不需要的属性设置为零来实现此操作

以下是 10 Mbit 半双工的示例: 

ndd -set /dev/eri adv_100fdx_cap 0

ndd -set /dev/eri adv_100hdx_cap 0

ndd -set /dev/eri adv_10fdx_cap 0

ndd -set /dev/eri adv_10hdx_cap 1

ndd -set /dev/eri adv_autoneg_cap 0

使用 ifconfig unplumb 关闭接口,然后使用 ifconfig plumb 将其重新启动

还可以在/etc/system 文件中定义设置 (set eri:adv_10hdx_cap = 1)。  

# ndd /dev/ce link_speed 

1000 

speed 

# ndd /dev/ce link_mode 

# ndd /dev/ce link_status 

#  

-------------------------------------------  

root@HN-C-NPMSVR # ndd /dev/eri link_status 

root@HN-C-NPMSVR # ndd /dev/eri link_speed 

root@HN-C-NPMSVR # ndd /dev/eri link_mode  

root@HN-C-NPMSVR #

 

posted @ 2015-01-30 23:50  asnjudy  阅读(3717)  评论(0编辑  收藏  举报