harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

GNU/Linux MAIL network postfix

postfix + pop before SMTP

投稿日:2004年10月20日

Last Updated on 2022年3月13日 by かんりにん

▼dracインストールとローカルでの動作確認
2004/10/20

dracはpop before SMTPを実装するためのアプリです。
といっても、この後SMTP-authへ変更してしまいましたが…

【参照サイト】
お世話になっています。

PostfixをPOP before SMTPで利用
http://tsuttayo.sytes.net/postfix/popsmtp.html

postfix + courier-imap(pop3d) + dracでPOP before SMTP
http://cmf.ohtanz.com/pbs.html

1)ファイルダウンロード

$ wget ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z

2)ファイルの移動と展開

$ su -
Password:
# cd /usr/local/src
# mkdir
# cp /home/user/drac.tar.Z /usr/local/src/drac/
# exit
$ cd /usr/local/src/drac/
$ tar zxvf drac.tar.Z
COPYRIGHT
Changes
INSTALL
PORTING
README
version.h
dracauth.3
rpc.dracd.1m
dracd.allow-sample
dracd-setup
dracd-setup.linux
Makefile
drac.x
dracauth.c
rpc.dracd.c
testing.c

 

3)設定ファイルのディレクティブ書き換え

変更するファイルは

  • Makefile
  • rpc.dracd.c
  • dracd-setup.linux

の3つ。

Makefile

$ cp Makefile Makefile.org
$ vi Makefile

 

《設定変更箇所》

INSTALL = install
EBIN = /usr/sbin
MAN = /usr/share/man/man
DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH
CFLAGS = $(DEFS) -g
LDLIBS = -ldb
TSTLIBS = -L. -ldrac
RPCGENFLAGS = -C -I
MANADM = 8

rpc.dracd.c


$ cp rpc.dracd.c rpc.dracd.c.org
$ vi rpc.dracd.c

《設定変更箇所》

#define DBFILE "/etc/postfix/dracd.db"
#define ALFILE "/etc/postfix/dracd.allow"

dracd-setup.linux

$ cp dracd-setup.linux dracd-setup.linux.org
$ vi dracd-setup.linux

 

《設定変更箇所》

daemon rpc.dracd -i -e 10
  • 「-i」は起動時にdracd.dbを初期化するオプション
  • 「-e m」は最後に認証してからの有効期限(m分)

4)コンパイルとインストール

$ make
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o testing.o testing.c
rpcgen drac.x
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o dracauth.o dracauth.c
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o drac_xdr.o drac_xdr.c
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o drac_clnt.o drac_clnt.c
rm -f libdrac.a
ar cq libdrac.a dracauth.o drac_xdr.o drac_clnt.o
: libdrac.a
cc -o testing testing.o -L. -ldrac -lnsl
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o rpc.dracd.o rpc.dracd.c
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o drac_svc.o drac_svc.c
cc -o rpc.dracd rpc.dracd.o drac_xdr.o drac_svc.o -ldb
$ su -
Password:
# cd /usr/local/src/drac/
# make install
install -c -o bin -g bin -m 0755 rpc.dracd /usr/sbin
# cp dracd-setup.linux /etc/rc.d/init.d/dracd

 

5)シンボリックリンク作成

# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc3.d/S78dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc5.d/S78dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc6.d/K22dracd

 

6)dracd.allowをコピーして編集

# cp dracd.allow-sample /etc/postfix/dracd.allow
[root@example postfix]# cd /etc/postfix/
[root@example postfix]# vi dracd.allow

 

《設定変更箇所》

#255.255.255.255 192.168.16.8 ← ここをコメントにする
255.255.255.255 127.0.0.1

 

7)qpopper用ライブラリをコピー

qpopperインストール時に必要。

# cd /usr/local/src/drac/
# cp libdrac.a /usr/lib/
# ls -al /usr/lib | grep libdrac.a
-rw-r--r-- 1 root root 21638 Oct 25 18:21 libdrac.a

 

8)dracデーモンを起動

portmap起動

# /etc/init.d/portmap start
Starting portmapper: [ OK ]

 

dracd起動

# /etc/rc.d/init.d/dracd start
Starting rpc.dracd daemon:
# ps -aef | grep dracd
root 26105 1 0 18:26 pts/2 00:00:00 /bin/sh - /etc/rc.d/init.d/dracd start
root 26107 26105 0 18:26 pts/2 00:00:00 initlog -q -c rpc.dracd 5
root 26108 26107 0 18:26 pts/2 00:00:00 rpc.dracd 5
root 26110 25862 0 18:26 pts/2 00:00:00 grep dracd

 

9)ローカル動作確認

# su - user
$ cd /usr/local/src/drac/
$ ./testing localhost 10.20.30.40
$ db_dump -p /etc/postfix/dracd.db
VERSION=3
format=print
type=hash
h_nelem=2
db_pagesize=512
HEADER=END
10.20.30.40
1098699135
DATA=END
$

以上でローカル動作確認テスト完了。

-GNU/Linux, MAIL, network, postfix
-,

執筆者:


comment

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA


関連記事

no image

ssh 公開鍵認証と公開鍵の登録

[pukiwiki]   **▼ssh 公開鍵認証と公開鍵の登録 [#q473bc7b] 作業自体は簡単なんですが ユーザー名やらいろいろこんがらがるので、メモを作成します。 ”【ローカル …

[メモ][juniper] SRX(JunOS) FTPS設定追加

  社内から外部のFTPサービスへ接続する際、通常のFTPでは問題ないものの、FTPS(FTP Over SSL/TLS)で接続しようとしたところ、認証が通ったところで応答がなくなり、そのままタイムア …

no image

lsyncdのエラー修正(監視対象ファイル数の上限値変更)

lsyncdでのバックアップファイルの同期がうまくいってないな~、と思って調べたら、カーネルパラメータ”max_user_watches”の上限値を超えたためlsyncdのプロ …

no image

courier-imapのインストール(RPMパッケージの作成)

[pukiwiki]   *▼courier-imapのインストール(RPMパッケージの作成) ※CentOS4 POP/IMAPサーバ用にインストールするcourier-imapだが バージョン4か …

no image

[juniper] SRX(JunOS) ルーティング不具合修正(非対称ルートへの対応)

  SSGシリーズからSRX220にリプレイスを行った際に、VPNを経由したリモートオフィスとのLAN通信がうまくいかない事象が起きたので、トラブルシュート。 ・社内LANにおいてゲートウェイが複数あ …