カテゴリー : Unix

Solaris 10 で ipfilter を使用する方法

Solaris 10 で ipfilter を使用する方法は以下の通り。

1. ipf.confにフィルターを記述

# vi /etc/ipf/ipf.conf

2. ipfilterの有効化

# svcadm enable ipfilter

### 参考 ###

フィルターの有効化

# ipf -E

フィルターの無効化

# ipf -D

フィルターの初期化(IN/OUT)

# ipf -Fa

フィルターの初期化(INのみ)

# ipf -Fi

フィルターの初期化(OUTのみ)

# ipf -Fo

フィルターの読み込み

# ipf -f /etc/ipf/ipf.conf

フィルターの確認

# ipstat -io

フィルターログの確認

# ipmon

### サンプルフィルター ###

loすべて許可

pass in quick on lo0 all
pass out quick on lo0 all

hme0上でICMP許可

pass in quick on hme0 proto icmp all keep state
pass out quick on hme0 proto icmp all keep state

hme0上でTCP許可

pass in quick on hme0 proto tcp from any to any keep state
pass out quick on hme0 proto tcp from any to any keep state

hme0上でUDP許可

pass in quick on hme0 proto udp from any to any keep state
pass out quick on hme0 proto udp from any to any keep state

hme0上でその他の通信をすべて遮断

block in log on hme0 all
block out log on hme0 all

環境:
Solaris 10 u10 (sparc)

Solaris 10 に Dovecot 2.1 をインストールする方法

Solaris 10 に Dovecot 2.1 をインストールする方法は以下の通り。

1. 環境変数PATHに以下を追加( /etc/profile )

/usr/local/bin
/usr/local/sbin

【設定例】

PATH=/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/local/bin:/usr/local/sbin
export PATH

2. 環境変数MANPATHに以下を追加( /etc/profile )

/usr/local/share/man

【設定例】

MANPATH=/usr/share/man:/usr/sfw/man:/usr/openwin/share/man:/usr/local/man:/usr/local/share/man
export MANPATH

3. su実行時のSUPATHを設定( /etc/default/su )

【設定例】

SUPATH=/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/local/bin:/usr/local/sbin

4 . Dovecot用ユーザを作成

# groupadd -g 97 dovecot
# groupadd -g 497 dovenull
# useradd -u 97 -s /bin/false -d /dev/null -g dovecot dovecot
# useradd -u 498 -s /bin/false -d /dev/null -g dovenull dovenull

5. 一般ユーザーでログインし、作業ディレクトリを作成

$ mkdir dovecot
$ cd dovecot

6. Dovecotのダウンロード、インストール

$ wget http://dovecot.org/releases/2.1/dovecot-2.1.7.tar.gz
$ gunzip -c dovecot-2.1.7.tar.gz | tar xvf -
$ cd dovecot-2.1.7
$ ./configure
$ make
$ su
# make install
# cp doc/example-config/dovecot.conf /usr/local/etc/dovecot/
# cp -r doc/example-config/conf.d /usr/local/etc/dovecot/

7. Dovecotの設定(次のファイルを編集)

/usr/local/etc/dovecot/dovecot.conf
/usr/local/etc/dovecot/conf.d/*.conf

8. IPCパラメータの変更

# ulimit -n 1024
# echo "set rlim_fd_cur = 1024" >> /etc/system

9. Dovecotの起動

# dovecot

### 参考 ###

Dovecotの停止

# dovecot stop

Dovecotの設定を確認

# doveconf

環境:
Solaris 10 u10 (sparc)
Dovecot-2.1.7

Solaris 10 で推奨パッチをあてる方法

Solaris 10 で推奨パッチをあてる方法は以下の通り。

1. 推奨パッチをダウンロード

ファイル名:
10_Recommended.zip (sparc)
10_x86_Recommended.zip (x86)

2. 推奨パッチをインストール

# unzip -q 10_Recommended.zip
# init S
# cd 10_Recommended
# ./installcluster --<PASSCODE>

PASSCODEは次のファイルの中に書いてある

10_Recommended.README
10_Recommended.html
10_x86_Recommended.README
10_x86_Recommended.html

3. 再起動

# sync;sync;sync
# shutdown -y -g0 -i6

環境:
Solaris 10 u10

Solaris 10 に Postfix 2.9 をインストールする方法

Solaris10にPostfixをインストールする方法は以下の通り。

1. 環境変数PATHに以下を追加( /etc/profile )

/usr/local/bin
/usr/local/sbin

【設定例】

PATH=/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/local/bin:/usr/local/sbin
export PATH

2. 環境変数MANPATHに以下を追加( /etc/profile )

/usr/local/man

【設定例】

MANPATH=/usr/share/man:/usr/sfw/man:/usr/openwin/share/man:/usr/local/man
export MANPATH

3. su実行時のSUPATHを設定( /etc/default/su )

【設定例】

SUPATH=/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/local/bin:/usr/local/sbin

4 . Postfix用ユーザを作成

# groupadd -g 88 postfix
# groupadd -g 89 postdrop
# useradd -u 88 -s /bin/false -d /dev/null -g postfix postfix

5. ライブラリパスの追加

# crle -u -l /usr/local/BerkeleyDB/lib

確認

# crle -v

Configuration file [version 4]: /var/ld/ld.config
  Platform:     32-bit MSB SPARC
  デフォルトライブラリパス (ELF):       /lib:/usr/lib:/usr/local/BerkeleyDB/lib
  トラステッドディレクトリ (ELF):       /lib/secure:/usr/lib/secure  (システムデフォルト)

6. 一般ユーザーでログインし、作業ディレクトリを作成

$ mkdir postfix
$ cd postfix/

7. libtoolのダウンロード、インストール

$ wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz
$ gunzip -c libtool-2.4.2.tar.gz | tar xvf -
$ cd libtool-2.4.2
$ ./configure
$ make
$ su
# make install
# exit
$ cd ../

8. OracleのサイトからBerkeley DBをダウンロード(Oracleアカウントが必要)

Oracle Berkeley DB Downloads

9. Berkeley DBのインストール

$ gunzip -c db-5.3.21.tar.gz | tar xvf -
$ cd db-5.3.21/build_unix/
$ ../dist/configure
$ make
$ su
# make install
# ln -s /usr/local/BerkeleyDB.5.3 /usr/local/BerkeleyDB
# exit
$ cd ../../

10. Postfixのダウンロード、インストール

$ wget http://mirror.ramix.jp/postfix-release/official/postfix-2.9.3.tar.gz
$ gunzip -c postfix-2.9.3.tar.gz | tar xvf -
$ cd postfix-2.9.3
$ make makefiles CCARGS="-DHAS_DB -I/usr/local/BerkeleyDB/include" \
  AUXLIBS="-L/usr/local/BerkeleyDB/lib -ldb"
$ make
$ su
# make install

いくつか質問されるが、すべてエンター(デフォルトのまま)にした

Please specify the prefix for installed file names. Specify this ONLY
if you are building ready-to-install packages for distribution to OTHER
machines. See PACKAGE_README for instructions.
install_root: [/]
Please specify a directory for scratch files while installing Postfix.
You must have write permission in this directory.
tempdir: [/export/home/kurumi/postfix/postfix-2.9.3]
Please specify the final destination directory for installed Postfix
configuration files.
config_directory: [/etc/postfix]
Please specify the final destination directory for installed Postfix
administrative commands. This directory should be in the command search
path of adminstrative users.
command_directory: [/usr/sbin]
Please specify the final destination directory for installed Postfix
daemon programs. This directory should not be in the command search
path of any users.
daemon_directory: [/usr/libexec/postfix]
Please specify the final destination directory for Postfix-writable
data files such as caches or random numbers. This directory should not
be shared with non-Postfix software.
data_directory: [/var/lib/postfix]
Please specify the destination directory for the Postfix HTML files.
Specify "no" if you do not want to install these files.
html_directory: [no]
Please specify the owner of the Postfix queue. Specify an account with
numerical user ID and group ID values that are not used by any other
accounts on the system.
mail_owner: [postfix]
Please specify the final destination pathname for the installed Postfix
mailq command. This is the Sendmail-compatible mail queue listing
command.
mailq_path: [/usr/bin/mailq]
Please specify the destination directory for the Postfix on-line manual
pages. You can no longer specify "no" here.
manpage_directory: [/usr/local/man]
Please specify the final destination pathname for the installed Postfix
newaliases command. This is the Sendmail-compatible command to build
alias databases for the Postfix local delivery agent.
newaliases_path: [/usr/bin/newaliases]
Please specify the final destination directory for Postfix queues.
queue_directory: [/var/spool/postfix]
Please specify the destination directory for the Postfix README files.
Specify "no" if you do not want to install these files.
readme_directory: [no]
Please specify the final destination pathname for the installed Postfix
sendmail command. This is the Sendmail-compatible mail posting
interface.
sendmail_path: [/usr/lib/sendmail]
Please specify the group for mail submission and for queue management
commands. Specify a group name with a numerical group ID that is not
shared with other accounts, not even with the Postfix mail_owner
account. You can no longer specify "no" here.
setgid_group: [postdrop]

11. Postfixの設定(次のファイルを編集)

/etc/postfix/main.cf
/etc/postfix/master.cf
/etc/aliases

12. sendmailの停止

# svcadm disable sendmail

13. Postfixの起動

# postalias hash:/etc/aliases
# postfix start

### 参考 ###

Postfixの停止

# postfix stop

Postfixの設定を確認

# postconf

環境:
Solaris 10 u10 (sparc)
Postfix-2.9.3

UNIX 時間を表示する方法

UNIX時間を表示する方法は以下の通り。

現時の時間をUNIX時間で表示する。

# date +%s

1分後の時間をUNIX時間で表示する。

# date --date '1minute' +%s

1時間後の時間をUNIX時間で表示する。

# date --date '1hour' +%s

1日後の時間をUNIX時間で表示する。

# date --date '1day' +%s

1ヶ月後の時間をUNIX時間で表示する。

# date --date '1month' +%s

1年後の時間をUNIX時間で表示する。

# date --date '1year' +%s

3年前の時間をUNIX時間で表示する。

# date --date '3years ago' +%s

指定したUNIX時間を表示する。

# date --date @1317126648

Xming を使用してOpenSolaris 2009.06 に GUI で接続する方法

Xmingを使用してOpenSolaris 2009.06 にGUIで接続する方法は以下の通り。
(前提条件: Windowsファイアウォールが適切に設定されていること)

1. /etc/X11/gdm/custom.conf を以下のように変更する

[xdmcp]
Enable=true

2. GDMを再起動する

# gdm-restart

3. WindowsでXmingを起動して接続する

環境:
OpenSolaris 2009.06 (x86)

Xming を使用して Solaris 10 に GUI で接続する方法

Xmingを使用してSolaris 10 にGUIで接続する方法は以下の通り。
(前提条件: Windowsファイアウォールが適切に設定されていること)

Solaris 10では、デフォルト状態で接続できる。
ただし、フォントが正常に表示されなかった。

1. /usr/openwin/lib/X11/fontserver.cfg を変更する

catalogue= へ以下のパスを追加する(改行しないこと)

/usr/openwin/lib/locale/ja/X11/fonts/75dpi
/usr/openwin/lib/locale/ja/X11/fonts/TT
/usr/openwin/lib/locale/ja/X11/fonts/TTbitmaps
/usr/openwin/lib/locale/ja/X11/fonts/UTF8

2. fontserverを再起動する

# svcadm restart xfs

3. WindowsでXmingを起動して接続する

環境:
Solaris 10 9/10 u9 (x86)

Solaris 10 の ZFS で NFS 共有を構成する方法

Solaris 10のZFSでNFS共有を構成する方法は以下の通り。

1. ZFSボリュームを作成する

# zfs set sharenfs=off rpool/export/share

2. NFS共有を有効にする

# zfs set sharenfs=on rpool/export/share

3. NFS構成の確認

# share
# zfs get sharenfs rpool/export/share

環境:
Solaris 10 10/09 (x86)

Solaris 10 の ZFS で iSCSI ターゲットを構成する方法

Soalris 10のZFSでiSCSIターゲットを構成する方法は以下の通り。

1. ZFSボリュームを作成する

# zfs create -V 100g rpool/iscsi01

2. iSCSIターゲットとして構成する

# zfs set shareiscsi=on rpool/iscsi01

3. iSCSI構成の確認

# iscsitadm list target
# zfs get shareiscsi rpool/iscsi01

環境:
Solaris 10 10/09 (x86)

パスワード入力なしで、SSH 接続する方法

パスワード入力なしで、SSH接続する方法は以下の通り。
server01のhogeユーザからserver02のhogeユーザで接続するケースを想定。

server01にて以下の作業をする

1. hogeユーザでserver01へログイン

2. 秘密鍵・公開鍵を作成(すでに作成されている場合は不要)

$ ssh-keygen -t rsa1 -P "" # SSH Version 1
$ ssh-keygen -t rsa -P "" # SSH Version 2 (RSA)
$ ssh-keygen -t dsa -P "" # SSH Version 2 (DSA)

3. 作成された公開鍵をserver02へコピーする
(パスワード入力なしでSSH接続させるユーザのホームディレクトリへのコピーを推奨)
公開鍵はデフォルトで以下のファイル名となっている。

~/.ssh/identity.pub # SSH Version 1
~/.ssh/rsa.pub # SSH Version 2 (RSA)
~/.ssh/dsa.pub # SSH Version 2 (DSA)

server02にて、以下の作業をする
(パスワード入力なしでSSH接続させるユーザのホームディレクトリに公開鍵をコピーしているものとする)

1. hogeユーザでserver02へログイン

2. コピーした公開鍵をファイルに追記する
(コピーした公開鍵は不要になった段階で削除する)

$ cat identity.pub >> ~/.ssh/authorized_keys # SSH Version 1
$ cat rsa.pub >> ~/.ssh/authorized_keys # SSH Version 2 (RSA)
$ cat dsa.pub >> ~/.ssh/authorized_keys # SSH Version 2 (DSA)

3. authorized_keysのパーミッションの変更

$ chmod 600 ~/.ssh/authorized_keys

以上で、server02へパスワードなしでhogeユーザがSSHで接続できる。
server01, server02で逆の手順を踏むことで相互に接続可能となる。

鍵を使ってログインさせるユーザごとに、上記の作業が必要。

### 参考 ###

TERATERMから鍵を使ってserver02へ接続する場合

1. TERATERMのメニュー「設定」→「SSH鍵生成」を選択

2. 鍵の種類とビット数を設定し、「生成」ボタンを押す
(デフォルト値: RSA,2048ビット)

3. 鍵のパスフレーズとパスフレーズの確認に同じ文字列を入力する
(パスフレーズを空欄にしておくと、ユーザ名と秘密鍵のみでログインできる)

4. 「公開鍵の保存」ボタンを押し、公開鍵(id_rsa.pub / RSA鍵の場合)を保存する

5. 「秘密鍵の保存」ボタンを押し、秘密鍵(id_rsa / RSA鍵の場合)を保存する

6. 作成した公開鍵をserver02にコピーする

以降はserver02の手順。

TOP

INFORMATION

当サイトは備忘録であり、その内容を保証するものではありません。 当サイトまたはリンク先によるいかなるトラブルや損害に関しても、一切の責任を負いかねます。 当サイトの内容を無断で転用したり、転載する等の行為はおやめください。