[全+转载] 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
1
# ndd /dev/ce link_status
1
#
-------------------------------------------
root@HN-C-NPMSVR # ndd /dev/eri link_status
1
root@HN-C-NPMSVR # ndd /dev/eri link_speed
1
root@HN-C-NPMSVR # ndd /dev/eri link_mode
1
root@HN-C-NPMSVR #