• 締切済み

qmailをtcpserverで起動

qmailのデーモンはなぜxinetdではないのですか? qmailの起動元をxinetdでなくtcpserverにするメリットを教えて下さい。 tcpserverはinetdのようなものですか? tcpserverはinetdのようにqmailの起動元以外のソフトでも使われていますか?

みんなの回答

回答No.1

> qmailのデーモンはなぜxinetdではないのですか? SMTP や POP3 のサービスのことを言っているのだと思いますが、別に xinetd 経由でも構わないですよ。実際、xinetd での設定を説明している書籍や Web ページもあります。 > qmailの起動元をxinetdでなくtcpserverにするメリットを教えて下さい。 アクセス制御がしやすいから、でしょうか。tcpserver は cdb ファイルというデータベースを参照して接続の可否を決めたり、条件(IP やホスト名)に応じて付加情報(環境変数)を設定できます。 もちろん xinetd でもできますが、tcpserver の参照する cdb ファイルはデータベースになっているため、テキストファイルで設定する xinetd よりもデータの参照が早い、というメリットがあると思います。 > tcpserverはinetdのようなものですか? そんなところですね。ただ、(x)inetd が一つのプロセスで全ての TCP 接続を制御するのが前提なのに対し、tcpserver は一つのプロセスは一つのサービスだけ、というのが普通です。なのでメールサービスを提供しようとすると POP3、SMTP、IMAP4 があれば 3つの tcpserver を起動することになります。 > tcpserverはinetdのようにqmailの起動元以外のソフトでも使われていますか? 質問の趣旨が良く分からないのですが、tcpserver を qmail 以外でも使うか、ということですよね? 知ってる範囲では apache、proftpd などの起動に tcpserver を使っている例を知っています。 参考になれば幸いです。

関連するQ&A

  • tcpserverのオプションの意味

    tcpserverを使ってqmailを起動する際に、 tcpserver -HR -x /etc/tcp.smtp.cdb -u 1001 -g 1001 0 smtp /var/qmail/bin/qmail-smtpd & のようにコマンドを入れますが、GIDの「1001」とポート番号「smtp」の間の「0」は何のオプションなのでしょう? いろいろと調べましたが、「0」以外のものが見当たらないのです。 よろしくお願いします。

  • 先日のqmail質問の続き・・・

    TurboLinux6.1Serverを使っています 前回の質問は http://oshiete1.goo.ne.jp/kotaeru.php3?q=165851 qmailを使ってメールをやり取りしようと思っているのですが。 うまくいきません,qmail,checkpassword,tcpserverはインストール済みで 設定もあっていると思うのですが /etc/inetd.conf や /etc/service などの設定方法がわかりません 教えてもらえませんでしょうか。お願いします。

  • qmailのパフォーマンス向上方法について

    Linuxサーバでqmail(MTA)を構築しています。 CPUはPIII-1G、メモリは512MBです。 1000件のメール送信パフォーマンステストをしたところ、 3分30秒もかかってしまいました。 tcpserverを使ってsmtpデーモンを起動したり、 tcpserverの起動オプションを変更したり、 /var/qmail/control/配下の制御ファイルを調整したりしていますが、 1000件メール:4分30秒から3分30秒と、 たったの1分しかパフォーマンス向上できませんでした。 聞くところによると、1分で7000件も送信することも可能だとか? そこで、qmailを使ったメール送信(smtp)のパフォーマンス向上をするための (より詳しい)テクニック・または参考ホームページなどをお教えいただければと思います。 よろしくお願いいたします。

  • qmail,tcpserverを使用した、pop before smtpの運用について

    玄箱(非HG)の標準OSで、qmail(v1.05パッチ適用済み)、tcpserver(v0.88)、checkpassword(v0.81、open-smtpのパッチ適用済み)を使用して、外部ネットワークからのpop before smtpによる接続環境を作ろうとしたのですが、tcpserver、checkpasswordをインストールし、全ての設定を終えた後に、qmailの起動スクリプト(qstart)を実行すると、以下のようなエラーが出て、強制的にサービスが終了させられてしまいます。 tcpserver: fatal: unable to bind: address already used tcpserver: fatal: unable to bind: address already used ./qstart: /var/qmail/bin/splog: No such file or directory ./qstart: ger: command not found インターネットで情報を探したところ、複数のサービスがsmtpポートを使用しているためにエラーが起こっているとの情報を得ましたが、netstat -apコマンドにて確認をしてもsmtpポートを使用している他のサービスは無く、解決する事は出来ませんでした。 今回、サーバを構築するために参考にしたページは以下のところです。 http://www.fmmc.or.jp/~fm/nwmg/TL6.1Svr/secure/mailserver10.html#s_1_i4 よろしければ、解決方法をご教示願います。

  • qmailの設定でエラー

    はじめまして。 現在redhatlinux7.2およびqmail、tcpserverを用いて@ITというHPの「実用qmailサーバ運用・管理術」を参考にメールサーバを構築していますが、 記事どおりにしているつもりなのですがうまくいきません。 具体的には/etc/rc.d/init.d/qmailとして起動させようとすると、tcpserver: fatal: unable to bind: address already used”と表示されクライアント(OE6)から接続できません。 ちなみにqmailを停止した状態にもかかわらずnmapでスキャンするとpop3がopenになってます。そこでlsof -i:110で調べてみると、 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME tcpserver 790 root 3u IPv4 1084 TCP *:pop3 (LISTEN) となっています。また、qmailを停止した状態でtelnetでポート110を叩くと接続が確立して しまいます。しかし認証でエラーとなります。 起動スクリプトには-R,-H,-l0オプションを追加している以外一字一句記事と同じでした。 なお、以前は問題なく動作していたのですがrelay-ctrlを導入するにあたり起動スクリプト を書き換えたらエラーが出たためまたqmail-pop3dのみ使用するようにしたら上記のような 状態となりました。 どこをチェックしたらいいかとか、原因と思わしきところですとか是非アドバイスを下さい。 よろしくお願いいたします。

  • qmail 587にすると外部から受信が出来なくなる

    こんばんわ。 運用の方にも書いたのですが、 纏まってなかったので、消せるようになったら、 そちらは削除しておきます。 それまでマルチになりますが、すいません。。。 現象としては、 OP25Bの対策として587でqmailを起動すると、 外部からのメールが受信出来なくなります。 25に戻すと外部からも送受信出来ますので、 587に変更した箇所が問題点と思われます。 回避方法は御座いませんでしょうか? 環境 Fedora7 qmail+vpopmail+qmail-vida-0.53+ucspi-tcp-0.88 .qmail-defaultの中身は、 | /var/qmail/bin/fastforward -p -d /etc/aliases.cdb | /var/qmail/bin/dot-forward `/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`/.forward | /home/vpopmail/bin/vdelivermail '' delete 変更した点、 # vi /etc/init.d/qmail 上略 # SMTP tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \ -x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp \ qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\ splogger smtp & 下略 から 上略 # SMTP tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \ -x /home/vpopmail/etc/tcp.smtp.cdb 0 587 \ qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\ splogger smtp & 下略 に変更しました。 -x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp \ qmail-smtpd の一行のsmtpを587に変更しただけです。 # /etc/init.d/qmail restart 確認した事は下記です。 # ps aux | grep qmail qmails 4821 0.0 0.0 1768 416 pts/0 S 19:29 0:00 qmail-send vpopmail 4822 0.0 0.0 1616 324 pts/0 S 19:29 0:00 tcpserver -qv -l0 -HR -u 89 -g 89 -x /home/vpopmail/etc/tcp.smtp.cdb 0 587 qmail-smtpd localhost.localdomain /home/vpopmail/bin/vchkpw /bin/true vpopmail 4824 0.0 0.0 1796 532 pts/0 S 19:29 0:00 tcpserver -qvRH -u 89 -g 89 0 pop3 qmail-popup localhost.localdomain /home/vpopmail/bin/vchkpw qmail-pop3d Maildir qmaill 4833 0.0 0.0 1732 480 pts/0 S 19:29 0:00 splogger qmail root 4834 0.0 0.0 1732 328 pts/0 S 19:29 0:00 qmail-lspawn |dot-forward .forward?./Maildir/ qmailr 4835 0.0 0.0 1728 332 pts/0 S 19:29 0:00 qmail-rspawn qmailq 4836 0.0 0.0 1720 348 pts/0 S 19:29 0:00 qmail-clean root 4840 0.0 0.0 1952 536 pts/0 S+ 19:29 0:00 grep qmail # /usr/sbin/lsof -i:587 tcpserver 4822 vpopmail 3u IPv4 9725221 TCP *:submission (LISTEN) # /usr/sbin/lsof -i:25 tcpserver 4824 vpopmail 3u IPv4 9725242 TCP *:pop3 (LISTEN) # view /var/log/maillog Jul 29 19:31:57 localhost pop3: 1217327517.240915 tcpserver: pid 4975 from 外部IP Jul 29 19:31:57 localhost pop3: 1217327517.242517 tcpserver: ok 4975 :サーバーIP:110 :外部IP::1916 Jul 29 19:31:57 localhost pop3: 1217327517.354649 tcpserver: end 4975 status 256 Jul 29 19:31:57 localhost pop3: 1217327517.354704 tcpserver: status: 0/40

  • qmailのpop3が authorization faild

    只今、qmailの構築中ですが、サーバ単体でのテストで どうしても受信がエラーになってしまします どなたか助けてください qmail自体というよりも、shellの使い方が間違っている 気がします 環境: redhat6.2、qmail-1.03、 tcpserver(ucspi-tcp-0.88)、 checkpassword-0.81、 Maildir形式、pop(apopではない) 現象: (1)qmail(qmail-inject)にて自分宛に送る /home/user/Maildir/new/にデータ存在確認(成功) (2)スクリプトを/var/qmail/rc(後述)にて作成 (3)自分自身でメール受信 (失敗) > telnet localhost pop3 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. +OK <812.998537941@l2.sunam.com> >user yamada +OK >pass **** -ERR authorization failed Connection closed by foreign host. /var/log/maillogには、 -ERR this user has no $HOME/Maildir ? と出力される ※尚、ユーザホームに、Maildirは作成済 ※スクリプトの内容を直接手入力するとなぜか正常に 受信できます!? スクリプトの問題? どなたか、お助けください よろしくお願いします ※/var/qmail/rc(起動スクリプト) #!/bin/sh exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start ./Maildir/ splogger qmail & #qmail for tcpserver /usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v \ -u 506 -g 505 0 smtp /var/qmail/bin/qmail-smtp \ 2>&1 | /var/qmail/bin/splogger smtpd 3 & #qmail-pop3d for tcpserver /usr/local/bin/tcpserver -x /etc/tcp.pop3.cdb \ -v 0 pop-3 /var/qmail/bin/qmail-popup \ www.doamin.com /bin/checkpassword \ /var/qmail/bin/qmail-pop3d Maildir 2>&1 \ | /var/qmail/bin/splogger pop3d 3 & 以上

  • inetdとxinetd

    xinetdを使いたいのですが、inetdもインストールされていないといけないのでしょうか? inetdが無い状態でxinetdを起動しましたが、netstatで見ても21が開いていないので、inetdをインストールしていないことが原因ではないかと疑っているところです。

  • qmailでSMTPリレーを防ぐには

    いつも質問してばかりですみません。。。 qmailでSMTPリレーを防ぐには、どうしたら良いのでしょう? tcpserver や inetd では、接続そのものが拒絶されてしまい、 宛先が自ドメインのメールを受取れないことになってしまいます。 以前のsendmail使っていた時は、CFを使って MAIL_RELAY_RESTRICTION=yes LOCAL_HOST_DOMAIN=/etc/mail/sendmail.localdomain という指定でSMTPリレーを防止していました。 つまり、 From: To: (あるいは RCPT:) フィールド両方が他ドメインの場合は、rejectする設定にしたいのです。 参考になるURL情報でも頂けると助かります。よろしくお願い致します。

  • inetd (centos)

    基本的な質問で恐縮ですが、CentOS4系ではデフォルトでinetdが標準となっているのでしょうか?それともxinetdなのでしょうか?もしくはその両方で【/etc/rc.d/init.d/】配下にあるスクリプトはinetdで起動され、【cd /etc/xinetd.d/】配下にあるスクリプトはxinetdで起動するように設定されているのでしょうか? また、xinetdの設定ファイルは【/etc/xinetd.conf】にあるのですが、 inetdの設定ファイルはどこにありますでしょうか? ご存知の方、いましたら宜しくお願い致します。