Skip to main content

スポンサードリンク

Solaris10 ネットワーク設定

Posted in

Solaris10でのネットワーク設定について説明します。ただし、以下の例ではIPV6は有効にしていません。

Solaris9の設定方法とほとんど同じです。ただ、inetsvcがSMF管理下になったので、ルーティングの章の(4)静的なルーティング情報を追加する方法のみ変更しています。また、ipnodesの設定についても注意してください。。

 

■IPアドレス、ネットマスク

Solarisはサーバーとして利用することが多いので、ここでは固定IPアドレスで設定する場合についてのみ説明し、DHCPを使用する場合は省略します。

関係する設定ファイルは下記のとおりです。

  • /etc/hostname.xxxx xxxxのところにはネットワークインターフェイスの名前が入ります。 例えば、V100の場合は、dmfe0、dmfe1です。機種によって異なりますので、ハードウェアのマニュアルを参照してください。 このファイルには、ネットワークインターフェイスに付けられたホスト名を格納します。
  • /etc/nodename マシンの代表ホスト名を格納します。 hostnameコマンドで返されるのはこの名前です。
  • /etc/inet/ipnodes ホスト名とIPアドレスの対応を格納します (IPV6アドレスも登録できます)。IPV4アドレスは、ipnodesファイルと下記のhostsファイルの両方に登録可能ですが、ipnodesの登録が優先されます。ipnodesファイルに登録されていない場合に、hostsファイルを参照に行きます。Solaris10のインストールでは、両ファイルにホストとIPアドレスの対応が登録されるようですので、修正する場合は両ファイルを修正するようにしてください。
  • /etc/inet/hosts ホスト名とIPアドレスの対応を格納します。 /etc/hostname.xxxx、/etc/nodename内定義のホスト名は必須です。
  • /etc/inet/netmasks ネットワークアドレスとそのネットマスク値を格納します。

実際のV100の場合の設定例を以下に記載します。

/etc/hostname.dmfe0 

terra-dmfe0

/etc/hostname.dmfe1 

terra-dmfe1

/etc/nodename

terra

/etc/inet/ipnodes

127.0.0.1          localhost      
192.168.100.10 terra-dmfe0  terra loghost
192.168.200.10 terra-dmfe1
192.168.100.1   router1
192.168.100.2   router2

/etc/inet/hosts

127.0.0.1          localhost      
192.168.100.10 terra-dmfe0  terra loghost
192.168.200.10 terra-dmfe1
192.168.100.1   router1
192.168.100.2   router2

/etc/inet/netmasks

192.168.100.0  255.255.255.0
192.168.200.0  255.255.255.0
192.168.150.0  255.255.255.0

 

■ルーティング

(1)関係する設定ファイルは下記のとおりです。

  • /etc/defaultrouter デフォルトルータのIPアドレスあるいはホスト名を格納します。このファイルが存在する場合は、静的なルーティングだとみなされます。
  • /etc/gateways このファイルが存在する場合は、強制的にルータとして構成されます。
  • /etc/notrouter このファイルが存在する場合は、強制的にルータではないとして構成されます。

(2)静的なルーティングを行う場合の設定例

/etc/defaultrouter

192.168.100.1 #router1といったホスト名での設定は、名前解決が自己マシン内で必ず可能な場合のみに限ってください。

/etc/gateways /etc/notrouter 

ルータとして構成する場合は、/etc/gateways、構成しない場合は、/etc/notrouterの空のファイルを作成してください。(厳密に言うと両方とも不要な場合もありますが、省略します。)

(3)動的なルーティングを行う場合の設定例

/etc/defaultrouter

ファイルを作成しない、あるいは、空ファイルにします。

/etc/gateways /etc/notrouter 

ルータとして構成する場合は、/etc/gateways、構成しない場合は、/etc/notrouterの空のファイルを作成してください。(厳密に言うと両方とも不要な場合もありますが、省略します。)

(4)静的なルーティング情報を追加する方法

solaris10からシステムを再起動しても設定が保持されるように、永続的にルーティング情報を追加できるようになりました。下記のように、-pオプションを付けると、永続的であることを指示します。

/usr/sbin/route -p add net 192.168.150 192.168.100.2

静的なルーティング情報を追加するinitスクリプトを作成します。

/etc/init.d/addroute

#!/sbin/sh
case "$1" in
'start')
 (
 /usr/bin/echo "Adding IPv4 static route for XXXX:" \
 "add net 192.168.150: gateway router2"
 /usr/sbin/route add net 192.168.150 192.168.100.2 >/dev/null
 ) &
 exit 0
 ;;

'stop')
 (
 /usr/bin/echo "Removing IPv4 static route for XXXX:" \
 "remove net 192.168.150: gateway router2"
 /usr/sbin/route delete net 192.168.150 192.168.100.2 >/dev/null
 ) &
 exit 0
 ;;

*)
 /usr/bin/echo "Usage: $0 { start | stop }"
 exit 1
 ;;
esac

システム起動時にランレベル2で実行するように設定します。

# chown root:sys /etc/init.d/addroute
# chmod 744 /etc/init.d/addroute
# ln /etc/init.d/addroute /etc/rc2.d/S73addroute

 

■ネームサービス

/etc/nsswitch.confに、使用するネームサービスを記述します。ネームサービスとしては、files,dns,nis,nisplus,ldapが利用できます。各ネームサービスに対応したnsswitch.confの構成ファイル例が、/etc/nsswitch.xxxx (xxxx=files,dns,nis,nisplus,ldap)にあります。

利用したいネームサービスに対応した構成ファイル例を/etc/nsswitch.confにコピーして利用すれば良いでしょう。例えば、ホスト名の解決を、/etc/inet/hosts,dnsの順に検索したい場合は、/etc/nsswitch.dnsを/etc/nsswitch.confにコピーして利用します。

また、dnsを使用する場合は、/etc/resolv.confの設定も必要です。

/etc/resolv.conf

domain mydomain.com    <-- ドメイン名です。
nameserver 0.0.0.0       <-- ネームサーバーが自マシンの場合。
nameserver 111.22.3.5    <-- ネームサーバーが他マシンの場合、そのIPアドレス。

 

■ルーティングの確認

最後に、システムを再起動し、ルーティングの確認をします。

# netstat -r
Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
192.168.100.0        terra-dmfe0           U         1    391  dmfe0
192.168.150.0        router2                UG        1     12
192.168.200.0         terra-dmfe1           U         1      8  dmfe1
BASE-ADDRESS.MCAST.NET terra-dmfe0           U         1      0  dmfe0
default              router1                   UG        1  16679
localhost            localhost            UH        7  26188  lo0
 

以上が、もたつき無く表示されれば、OKです。もし、表示が遅い場合は、何か設定に問題がある可能性があります。
snoopコマンド等で、ネットワーク上のパケット送受信の状況を確認してみて下さい。