Loading...

2009-08-14

OpenSolaris Tips: Howto manage Static IP Wired Network on OpenSolaris 2009.06

OpenSolaris 2009.06上での 固定IP(有線LAN)/Network の設定メモ

動作環境: OpenSolaris 2009.06 Release
$ uname -a
SunOS satellite 5.11 snv_111b i86pc i386 i86pc

Platform: Toshiba dynabook Satellite J50 173L/5X,
CPU: Pentium M740 (1.73GHz), RAM 2048MB(533MHz), Graphics: Intel 915GM Express (128MB shared memory), LCD: 15inch 1440x1050 (24bit), HDD 40GB-osol/80GB SATA 5400rpm.
Wired LAN: Marvel 88E8053 PCI-Express GigaBit Ethertnet (internal)

1. nwamd - Network Auto-Magic Daemon
OpenSolaris 2008.05 以降では、デフォルト状態で nwamd - Network Auto-Magic Daemon - が起動していて、ネットワークの自動設定(無線LAN / 有線LAN / DHCP)が行われる。
ネットワークサービスは、サービス管理機能 smf によって次のサービス識別子で管理される。 svc:/network/physical

有効化、無効化、再起動の要求など、このサービスに関する管理作業は、svcadm コマンドを使用して実行することができる。 また、サービスの状態は、svcs コマンドを使用して照会することができる。
この デーモンが有効になっているかどうかを確認するには、コマンド行で次のコマンドを入力する。

baian@satellite:~$ pfexec svcs svc:/network/physical
STATE   STIME  FMRI
disabled 18:10:46 svc:/network/physical:default # 手動モード
online 18:10:50 svc:/network/physical:nwam # Auto-Magic モード

2つのインスタンスが、一方は無効 (disabled)、他方はオンライン (online) として表示される。nwam インスタンスがオンラインの場合、このデーモン(nwamd)が実行される。
2 つのインスタンスはネットワーク構成の 2 つのモードに対応している。default インスタンスは手動モード、nwam インスタンスは Auto-Magic モードである。

手動モードから Auto-Magic モードに切り替えるには、次のコマンドを実行する。
# svcadm disable svc:/network/physical:default
# svcadm enable svc:/network/physical:nwam

Auto-Magic モードから手動モードに切り替えるには、次のコマンドを実行する。
# svcadm enable svc:/network/physical:default
# svcadm disable svc:/network/physical:nwam

注意: このようにモードを切り替えると、すべてのネットワークインタフェースがいったんダウンしてから再度起動する。したがって、このプロセスで異なる IP アドレスが設定された場合、既存のアプリケーションやセッションは中断される可能性がある

2. nwamの停止
固定IPで稼働させるときには、nwam を停止させる必要がある。
まずは、Auto-Magic モードから手動モードに切り替える。
baian@satellite:~$ pfexec svcadm enable svc:/network/physical:default
baian@satellite:~$ pfexec svcadm disable svc:/network/physical:nwam

baian@satellite:~$ pfexec svcs svc:/network/physical
STATE STIME FMRI
disabled 18:16:19 svc:/network/physical:nwam
online 18:16:24 svc:/network/physical:default

3. 固定IP の設定
3-1. DHCPクライアントに設定
[システム]-[システム管理]-[ネットワーク] で、NIC を DHCPクライアントに設定する。

 

ひとまず、LAN内の他のマシンへ ping を打つことができるし、nslookup で DNSサーバ も引けるようになる。
しかし、nwam を disable にすると、Firefox も自力では名前解決ができないので、ウェブサイトの閲覧ができない。

 

3-2. ネットワークの基本的な設定
1. /etc/nsswitch.conf の準備 :名前解決できるように設定
nsswitch.conf は、名前解決の方法を定義しているファイルである。 dns で名前解決を行う雛形が用意されているので、それで上書きする。
# cp /etc/nsswitch.dns /etc/nsswitch.conf
# cat /etc/nsswitch.conf
passwd:     files
group:      files
hosts:      files dns
ipnodes:    files dns
networks: files
protocols: files
rpc: files
ethers: files
netmasks: files
bootparams: files
publickey: files# At present there isn't a 'files' backend for netgroup;  the system will
#   figure it out pretty quickly, and won't use netgroups at all.
netgroup:   files
automount:  files
aliases:    files
services:   files
printers: user files
auth_attr: filesprof_attr:  files
project:    files
tnrhtp:  files
tnrhdb:   files


2. /etc/hosts ( /etc/inet/hosts のシンボリックリンク)
名前解決をするときには、まずこのファイルを見る。
host name: satellite を /etc/hosts に追記する。
baian@satellite:~$ pfexec vi /etc/hosts 
27 ::1 localhost 
28 127.0.0.1 satellite.baian-inc.jp satellite localhost loghost


手動モード (default インスタンス) を再起動させる。

baian@satellite:~$ pfexec svcadm restart svc:/network/physical:default

baian@satellite:~$ ifconfig -a
lo0: flags=2001000849IPv4,VIRTUAL> mtu 8232 index 1
    inet 127.0.0.1 netmask ff000000
vboxnet0: flags=1004843DHCP,IPv4> mtu 1500 index 4
    inet 0.0.0.0 netmask ff000000
myk0: flags=1004843DHCP,IPv4> mtu 1500 index 5
    inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255
lo0: flags=2002000849 mtu 8252 index 1
    inet6 ::1/128 
dladm コマンドを与えて、NIC の物理インタフェースのリンク状態をみる。
baian@satellite:~$ dladm show-link
LINK        CLASS    MTU    STATE    OVER
myk0        phys     1500   unknown  --
vboxnet0    phys     1500   unknown  --

baian@satellite:~$ dladm show-phys
LINK         MEDIA                STATE      SPEED  DUPLEX    DEVICE
myk0         Ethernet             unknown    100    full      myk0
vboxnet0     Ethernet             unknown    0      unknown   vboxnet0

有線LAN: myk0 は Full Duplex 100M でリンクアップしている。
----------------------------------------------------------------------
Reference:  man dladm(1M)  - administer data links - System Administration Commands

ひとまずこれで、一通りネットワーク(DHCPで) が使えるようになった。
Firefox を起動してみる。 正常に Web サイトが閲覧できた。



3-2. 固定IPへの移行
[システム]-[システム管理]-[ネットワーク] で、NIC に、固定IPを割り当てる。


4. Networking 関連各設定項目の定義付けされる場所 

IPアドレス(物理インタフェース)
baian@satellite:~$ cat /etc/hostname.myk0
192.168.1.2

ネットマスク
baian@satellite:~$ cat /etc/netmasks
192.168.1.0 255.255.255.0

デフォルト・ゲートウェイ
baian@satellite:~$ cat /etc/defaultrouter
192.168.1.1

ホスト名
baian@satellite:~$ cat /etc/nodename
satellite
※ hostname コマンドは、このファイルの内容を返す

ドメイン名およびDNSサーバ
baian@satellite:~$ cat /etc/resolv.conf
domain baian-inc.jp
nameserver 192.168.1.1

ホスト 
baian@satellite:~$ cat /etc/hosts
# ::1 localhost
127.0.0.1 localhost
192.168.1.2 satellite satellite.baian-inc.jp loghost

※ Open Solaris では、 /etc/hosts は、 /etc/inet/hosts のシンボリックリンクとなっている。
$ ls -l /etc/hosts
lrwxrwxrwx 1 root root 12 2009-08-11 18:58 /etc/hosts -> /etc/inet/hosts

/etc/inet/ipnodes は、 /etc/hosts のシンボリックリンクとなっている。

baian@satellite:~$ ls -l /etc/inet/ipnodes
lrwxrwxrwx 1 root root 7 2009-07-16 12:58 /etc/inet/ipnodes -> ./hosts



5. ネットワーク設定 を確認(ネットワークの状態を表示) するには、
baian@satellite:/etc/inet$ netstat -r
 

Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface
-------------------- -------------------- ----- ----- ---------- ---------
default                  setup.html           UG        1        110         
192.168.1.0        satellite.baian-inc.jp U         1       3  myk0    
192.168.56.0      192.168.56.1         U        1            0  vboxnet0
localhost               localhost              UH        1           6  lo0     

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use    If 
--------------------------- --------------------------- ----- --- ------- -----
localhost                         localhost                        UH      1       0  lo0 


baian@satellite:~$ ifconfig -a

lo0: flags=2001000849 mtu 8232 index 1
    inet 127.0.0.1 netmask ff000000
myk0: flags=1000843 mtu 1500 index 2
    inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255
vboxnet0: flags=1000843 mtu 1500 index 3
    inet 192.168.56.1 netmask ffffff00 broadcast 192.168.56.255
lo0: flags=2002000849 mtu 8252 index 1
    inet6 ::1/128


アクティブな有線ネットワークが接続されていることを示す「ネットワークモニター」アプレット


デスクトップパネルにデフォルトで表示される、「ネットワークモニター」アプレットは、複数のネットワーク接続を同時に監視する機能がある。 この機能は 固定IP ネットワークを設定している場合に役立つ。 このアイ コンは、ネットワークが現在データを送信または受信しているかどうかが示される。 

ネットワーク・デバイスの状態を表示する監視アプレット (gnome-netstatus-applet)  のプロパティ: 「ネットワークモニター」アプレット アイコンをマウス・右クリックして得られる。 下図参照。
本システムのアクティブ・ネットワークインタフェースは myk0 である。 ここで、前述の固定IP設定値が反映されて表示される。





参考: OpenSolaris 2009.06 入門/ ネットワーク接続のステータスの確認
     crossbow を自在に使いたいなら、nwam は disable だろ - 気になるもの。        
           OpenSolaris 固定IP
           man  nwamd(1M),   ifconfig(1M),  dladm(1M),   netstat(1M)

0 Comments::