いつも勉強させて頂いております。
Postfixの設定についてわからないことがあり、自力で解決すべく頑張ったのですが、如何せん非力なため壁にぶつかってしまいました……。
環境は Fedora Core 2 + Postfix 2 です。
IMAP環境を作りたく Courier-IMAP 3 を予定していますが、Courier-IMAP 3 はまだインストールしていません。
で、Postfixのmain.cfのmynetworksの設定なのですが
mynetworks = 192.168.0.0/24, 127.0.0.0/8
とすると「Relay access denied」というエラーになり送信できません。
mynetworks = 192.168.0.0/24, 127.0.0.0/8, 2XX.1XX.6X.2XX
のようにグローバルアドレスを追加すると問題なく送信できます(XXで伏せていますが数字です)
しかしながらDDNSを利用している私の環境ではグローバルアドレスは変わってしまいますので、いつまでもこの設定では使えません。
何か、良きアドバイスはございませんでしょうか?
それとも、私は何か間違って設定しているのでしょうか?
何卒、よろしくお願い致します。
> mynetworks = 192.168.0.0/24, 127.0.0.0/8
> とすると「Relay access denied」というエラーになり送信できません。
送信、ドコからやろうとしているのでしょうか?
内部LANからの場合でしたら、192.168.〜の方を内部LANを示すモノにすればよろしいかと。
> mynetworks = 192.168.0.0/24, 127.0.0.0/8, 2XX.1XX.6X.2XX
> のようにグローバルアドレスを追加すると問題なく送信できます(XXで伏せていますが数字です)
外部ネットワークから…でしょうか?
その場合、認証を使うようにした方がいいと思いますが。
さもないと不正中継の踏み台にされるだけかと。
おやじさんのページでもそのように紹介されています。
http://www.aconus.com/~oyaji/mail2/smtp-auth.htm
お返事ありがとうございます。
> > mynetworks = 192.168.0.0/24, 127.0.0.0/8
> > とすると「Relay access denied」というエラーになり送信できません。
>
> 送信、ドコからやろうとしているのでしょうか?
ドコモからではありません。
自宅にサーバがあり、同じLAN内にある他のパソコンからメールを外部に送信しようと試みています。
> 内部LANからの場合でしたら、192.168.〜の方を内部LANを示すモノにすればよろしいかと。
まったく非力で申し訳ありません「192.168.〜の方を内部LANを示すモノ」とはどういう意味なのでしょうか?
> 外部ネットワークから…でしょうか?
> その場合、認証を使うようにした方がいいと思いますが。
> さもないと不正中継の踏み台にされるだけかと。
はい、今のチャレンジがうまくいきましたら、外部からも使いたく思いますので、すぐにSMTP AUTHを導入する方向へ挑戦するつもりです。
よろしくお願い致します。
ifconfig,ipconfifg or winipcfgの結果はいかがでしょう?
クライアントに確実に192.168.0.0/24の範囲でIPが振られていますか?
#「ドコモから」ではなくて「ドコから」ですね :-)
お返事ありがとうございます。
> ifconfigの結果はいかがでしょう?サーバに確実に192.168.0.0/24の範囲でIPが振られていますか?
以下のような状態なのですが、これで分かりますでしょうか?
inet addr:192.168.0.203 Bcast:192.168.0.255 Mask:255.255.255.0
> #「ドコモから」ではなくて「ドコから」ですね :-)
誠に失礼致しました。m(__)m (^^;)
すみません、レスいただいたときにちょうど記事を修正して
しまいまいた。
まあ、クライアント側も大丈夫そうな雰囲気ですね・・・。
> 以下のような状態なのですが、これで分かりますでしょうか?
> inet addr:192.168.0.203 Bcast:192.168.0.255 Mask:255.255.255.0
mynetworksパラメータと、クライアントのアドレスは問題なさそうですね。
それなのにグローバルIPアドレスが必要というのも??
おやじさんのページで記述されているPostfixの設定を参考にして処理していると思われますが…
ホスト名やドメイン名の問題でしょうか??
DNSが構築されていなかった場合、Postfixって正しく動作するんでしょうか???
「ホスト名の設定」のところで解説されているようですが。
(ウチはDDNSで引けるようにしてあるので…(あと、もっぱら受信専用と化しているので))
このページに再三出ていますがこんな場合はログを見る。
送れる場合、送れない場合両方行ってログを見てください。
いったい何処からのアクセスになっていますか
> 環境は Fedora Core 2 + Postfix 2 です。
> IMAP環境を作りたく Courier-IMAP 3 を予定していますが、Courier-IMAP 3 はまだインストールしていません。
>
> で、Postfixのmain.cfのmynetworksの設定なのですが
>
> mynetworks = 192.168.0.0/24, 127.0.0.0/8
> とすると「Relay access denied」というエラーになり送信できません。
祇園さんがおっしゃっているとおり、ログをしっかり見ないとだめです。
「Relay access denied」となっている理由が同一メッセージ内にありますので、このあたりのログ全体を(余計なものは不要)を載せてくださったほうが早いと思います。
> mynetworks = 192.168.0.0/24, 127.0.0.0/8, 2XX.1XX.6X.2XX
> のようにグローバルアドレスを追加すると問題なく送信できます(XXで伏せていますが数字です)
この現象はよくわかりませんが、myhostname, mydomain, myorigin, inet_interfaces, mydestination, mynetworks, relay_domains を教えてくれませんか?
こんにちは。
> mynetworks = 192.168.0.0/24, 127.0.0.0/8
サブネットマスク、の問題です。
これは私もはまったのですが、もしもクライアントのIPが
192.168.0.14以上だともうだめです。
なぜなら、24は2進数に変換すれば、11000ですよね。
4桁の2進数で表現できるのは、0から15までです。0000と1111は使えないので、これを引くと、つまり13台分しかIPの割り当てがないのです!
したがってそれよりも大きな値をクライアントが持っているならば、クライアントは認識されないと思います。
なので一番簡単な方法は、192.168.0.0/0とすることです。これにより、ほとんどの場合うまくいくのでは?と思いますが。
> とすると「Relay access denied」というエラーになり送信できません。
クライアントが認識できないのですから、そりゃそうでしょう。
> mynetworks = 192.168.0.0/24, 127.0.0.0/8, 2XX.1XX.6X.2XX
> のようにグローバルアドレスを追加すると問題なく送信できます(XXで伏せていますが数字です)
これは危険な設定です!もしも外からあなたのIPが分かったりすれば、不正中継の踏み台にされてしまいます!
hostコマンドを使えば、いくらDynamicIPといえども、すぐにIPがばれてしまいます。
> しかしながらDDNSを利用している私の環境ではグローバルアドレスは変わってしまいますので、いつまでもこの設定では使えません。
危ないこと限りないです。。。
早急にPostfixのクライアントを、ローカルユーザーに限定されることをお勧めします。外部の人間に使わせたいのであれば、それなりの設定をする必要があります。
> > mynetworks = 192.168.0.0/24, 127.0.0.0/8
> サブネットマスク、の問題です。
> これは私もはまったのですが、もしもクライアントのIPが
> 192.168.0.14以上だともうだめです。
> なぜなら、24は2進数に変換すれば、11000ですよね。
> 4桁の2進数で表現できるのは、0から15までです。
> 0000と1111は使えないので、これを引くと、つまり13台分しかIPの割り当てがないのです!
この場合(192.168.0.0/24)の24はそういうイミではありません。
上位から24Bitがサブネットマスクということで、この場合は255.255.255.0というコトになります。
よって、使えるホストのIPアドレスは192.168.0.1〜192.168.0.254です。
> > > mynetworks = 192.168.0.0/24, 127.0.0.0/8
> > サブネットマスク、の問題です。
> > これは私もはまったのですが、もしもクライアントのIPが
> > 192.168.0.14以上だともうだめです。
> > なぜなら、24は2進数に変換すれば、11000ですよね。
> > 4桁の2進数で表現できるのは、0から15までです。
> > 0000と1111は使えないので、これを引くと、つまり13台分しかIPの割り当てがないのです!
おもしろい解釈だけど、瀬戸っぷさんが述べている通り
ビットマスク表記なんですよ。
> おもしろい解釈だけど、瀬戸っぷさんが述べている通り
> ビットマスク表記なんですよ。
そうだったのですか。。。勉強になりました。
上位24ビットであれば、
1111 1111 1111 1111 1111 1111 0000 0000なので255-2=253台割り当てができますね。
従って13台しか割り当てがいらないのであれば、192.168.0.0/28で良いのですね。
では、127.0.0.0/8の場合は、
1111 1111 0000 0000 0000 0000 0000 0000で、255^3-2 通りのアドレスが割り当てできるようになってしまいませんか?
実際にこういうことは可能なのでしょうか?
ローカルループバックアドレスは127.0.0.1と決まっているらしいので、
極端な話127.0.0.0/31でも差し支えないことになりませんか?
> では、127.0.0.0/8の場合は、
> 1111 1111 0000 0000 0000 0000 0000 0000で、255^3-2 通りのアドレスが割り当てできるようになってしまいませんか?
> 実際にこういうことは可能なのでしょうか?
可能です。無意味ではありますが。
/etc/hostsにlocalhostが記述されているので127.0.0.1が慣例として使われるだけで、
127.1.1.1でも通信は可能です。
> ローカルループバックアドレスは127.0.0.1と決まっているらしいので、
> 極端な話127.0.0.0/31でも差し支えないことになりませんか?
127.0.0.1しか使わないのであれば、とりあえず問題はない…でしょうか?
ネットワークアドレスとブロードキャストアドレスがあるので、
127.0.0.0/30かとは思いますが。
ループバックアドレスにブロードキャストもなにもないとは思いますが……
ネットマスクが8(255.0.0.0)なのは、ループバックアドレスがクラスAのアドレスだから…かと。
http://www.s-me.co.jp/tech/ip/ip06.shtml