Solaris で一枚の NIC に複数の IP アドレスを設定する方法のメモ。論理的インターフェイスとか、仮想インターフェイスと呼んだりするもの。
ネットワークインターフェイス (NIC) の情報は以下の通り。でも、これだけだと何もわからないなあ。
作業前に ifconfig して現在の状況を確認。
その後、ifconfig インターフェイスの作成と有効化。ブロードキャストアドレスはサブネットマスクから計算してくれるようなので明示的には指定していない。
ifconifg して確認。できてるできてる。
再起動後もこのインターフェイスが必要なので、起動スクリプトに追加しておきたい。でも、Solaris ではどこが適切なんだろう? ランレベル3のときに起動する Squid のためだけのインターフェイスなので、/etc/init.d に追加して /etc/rc3.d にシンボリックリンクを作ってもいいのだが、どちらかというとシステム系の設定だから、別のところがいいんだろうなあ。調査中。
確認すると、インターフェイスが無くなっている。これでよしと。
すると、ターミナルが反応しなくなった。ネットワークが全部切断されてるようだ。このテストマシンはキーボードもディスプレイも接続していないので、対処する方法がない。仕方ないので電源をプチって切りました。ごめんなさいごめんなさい。
- 対象マシンと OS
対象はいつもの Solaris 2.6 マシン。2006-05-11 の「Squid と Squirm でリダイレクタ付き SSL リバースプロキシ」で、SSL 用に IP アドレスを追加する必要が出たので設定。$ uname -a
SunOS lodis 5.6 Generic_105181-32 sun4u sparc SUNW,Ultra-1
ネットワークインターフェイス (NIC) の情報は以下の通り。でも、これだけだと何もわからないなあ。
$ dmesg
(略)
SUNW,hme0: FEPS (Rev Id = 22) Found
SUNW,hme0 at sbus0: SBus0 slot 0xe offset 0x8c00000 and slot 0xe offset 0x8c02000 and slot 0xe offset 0x8c04000 and slot 0xe offset 0x8c06000 and slot 0xe offset 0x8c07000 Onboard device sparc9 ipl 6
SUNW,hme0 is /sbus@1f,0/SUNW,hme@e,8c00000
SUNW,hme0: Using Internal Transceiver
SUNW,hme0: 100 Mbps full-duplex Link Up
作業前に ifconfig して現在の状況を確認。
$ /sbin/ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 10.64.128.202 netmask ffffff00 broadcast 10.64.128.255
- 論理インターフェイスの追加
まず、ホスト名定義ファイルを /etc に追加。ファイル名の書式は hostname.IF:N で、IF にインターフェイス名、N に 1 から始まる番号を入れる。私の環境だったら以下のようにした。# echo ivalice >/etc/hostname.hme0:1
その後、ifconfig インターフェイスの作成と有効化。ブロードキャストアドレスはサブネットマスクから計算してくれるようなので明示的には指定していない。
# ifconfig hme0:1 10.64.128.204 netmask 255.255.255.0 up
ifconifg して確認。できてるできてる。
# ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 10.64.128.202 netmask ffffff00 broadcast 10.64.128.255
ether 8:0:20:86:c3:47
hme0:1: flags=843<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.64.128.204 netmask ffffff00 broadcast 10.64.128.255
再起動後もこのインターフェイスが必要なので、起動スクリプトに追加しておきたい。でも、Solaris ではどこが適切なんだろう? ランレベル3のときに起動する Squid のためだけのインターフェイスなので、/etc/init.d に追加して /etc/rc3.d にシンボリックリンクを作ってもいいのだが、どちらかというとシステム系の設定だから、別のところがいいんだろうなあ。調査中。
- 論理インターフェイスの無効化
インターフェイスを無効化するには down を付けて ifconfig する。# ifconfig hme0:1 0 down
確認すると、インターフェイスが無くなっている。これでよしと。
# ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 10.64.128.202 netmask ffffff00 broadcast 10.64.128.255
ether 64:64:64:64:64:64
- man ifconfig
参考にした ifconfig の man page。LOGICAL INTERFACES
Solaris TCP/IP allows multiple logical interfaces to be
associated with a physical network interface. This allows a
single machine to be assigned multiple IP addresses, even
though it may have only one network interface. Physical
network interfaces have names of the form driver-name
physical-unit-number, while logical interfaces have names of
the form driver-name physical-unit-number:logical-unit-
number. A physical interface is configured into the system
using the plumb sub-command. For example:
ifconfig le0 plumb
Logical interfaces do not need to be "plumbed". Once a phy-
sical interface has been "plumbed", logical interfaces asso-
ciated with the physical interface can be configured by nam-
ing them in subsequent ifconfig commands. However, only
root can create or delete a logical interface. For example,
when executed by root the command:
ifconfig le0:1
allocates a logical interface associated with the physical
interface le0 and reports its status. When executed by a
non-privileged user, ifconfig will report the status of the
interface if it already exists, or give an error message if
it does not exist.
A logical interface can be configured with parameters
(address, netmask, and so on) different from the physical
interface with which it is associated. Logical interfaces
that are associated with the same physical interface can be
given different parameters as well. Each logical interface
must be associated with a physical interface. So, for exam-
ple, the logical interface le0:1 can only be configured
after the physical interface le0 has been plumbed.
To delete a logical interface, simply name the interface
specifying an address of 0, after ensuring that the inter-
face has been marked as "down". For example, the command:
ifconfig le0:1 0 down
will delete the logical interface le0:1.
- 失敗
調査の過程で /etc/hostname.IF:N ファイルを作らず、かつサブネットマスクを指定せず、そのうえ N に2を指定してテキトーに ifconfig してみた。# ifconfig hostname.hme0:2 10.64.128.204 up
すると、ターミナルが反応しなくなった。ネットワークが全部切断されてるようだ。このテストマシンはキーボードもディスプレイも接続していないので、対処する方法がない。仕方ないので電源をプチって切りました。ごめんなさいごめんなさい。
- すべての記事の見出し (全1029件)
- 全カテゴリの一覧と記事の数
- カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。
- .net (57件)
- 2ch (19件)
- amazon (5件)
- Apache (22件)
- bash (13件)
- Bookmarklet (9件)
- C# (45件)
- chalow (18件)
- ChangeLog メモ (20件)
- coLinux (2件)
- CSS (5件)
- Delphi (5件)
- DVD (6件)
- Excel (1件)
- F-ZERO (4件)
- FF12 (31件)
- ftp (8件)
- Google (21件)
- gpg (7件)
- HTML (19件)
- http (19件)
- IE (10件)
- IIS (4件)
- iPod (2件)
- JavaScript (14件)
- Linux (63件)
- MCP (6件)
- Mozilla (14件)
- MS SQL Server (30件)
- MySQL (4件)
- Namazu (3件)
- PC (48件)
- Perl (58件)
- PHP (2件)
- Postgres (36件)
- proftpd (2件)
- qmail (1件)
- RFC (4件)
- RSS (33件)
- Ruby (15件)
- samba (3件)
- sonic64.com (6件)
- SQL (15件)
- Squid (3件)
- ssh (7件)
- Subversion (3件)
- unix (31件)
- VSS (2件)
- Windows (34件)
- winny (9件)
- XML (9件)
- xyzzy (17件)
- おいでよ どうぶつの森 (19件)
- お菓子 (5件)
- アスキーアート (13件)
- アニメ (9件)
- クレジットカード (2件)
- ゲーム (120件)
- シェルスクリプト (18件)
- シレン2 (8件)
- セキュリティ (9件)
- ソフトウェア (21件)
- デザインパターン (2件)
- ネットワーク (30件)
- バックアップ (17件)
- プログラミング (14件)
- マリオカートDS (3件)
- メール (26件)
- メモ (116件)
- ラーメン (11件)
- 音楽 (59件)
- 給油 (3件)
- 三国志大戦 (13件)
- 車 (7件)
- 書斎 (4件)
- 食 (30件)
- 買い物 (17件)
- 簿記 (8件)
- 本 (32件)
- 漫画 (9件)
- 2007-04-23 (Mon)
- 2007-03-07 (Wed)
- 2007-02-27 (Tue)
- 2007-01-17 (Wed)
- 2007-01-15 (Mon)
- 2007-01-14 (Sun)
- 2007-01-08 (Mon)
- 2006-12-01 (Fri)
- 2006-11-22 (Wed)
- 2006-11-20 (Mon)
- 2006-11-19 (Sun)
- 2006-09-30 (Sat)
- 2006-08-29 (Tue)
- 2006-08-04 (Fri)
- 2006-07-27 (Thu)
- 2006-07-23 (Sun)
- 2006-07-17 (Mon)
- 2006-07-10 (Mon)
- 2006-07-06 (Thu)
- 2006-07-03 (Mon)
- 2006-06-29 (Thu)
- 2006-06-28 (Wed)
- 2006-06-27 (Tue)
- 2006-06-25 (Sun)
- 2006-06-19 (Mon)
- 2006-06-18 (Sun)
- 2006-06-15 (Thu)
- 2006-06-11 (Sun)
- 2006-06-01 (Thu)
- 2006-05-30 (Tue)
- プロファイル
- 斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
- リンク
- RSS
- スポンサードリンク
- Powered by
- ☆さくらインターネット☆