zoukankan      html  css  js  c++  java
  • [全+转载] 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 #

  • 相关阅读:
    下载安装Cygwin
    WEB中调用Nutch执行JOB抓取
    IKAnalyzer 分词
    【转】JDBC连接数据库
    单例模式的常见写法
    14 Go's Declaration Syntax go语言声明语法
    13 JSON-RPC: a tale of interfaces
    12 Release History for go go语言的版本历史
    11 The Go Memory Model go语言内置模型
    09 Command Documentation 命令文档
  • 原文地址:https://www.cnblogs.com/asnjudy/p/4263445.html
Copyright © 2011-2022 走看看