68user's page 掲示板

Prev< No. 3748〜3771> Next  [最新発言に戻る] [過去ログ一覧]
No. 3748 # hash 2004/06/04 (金) 21:45:55
LAN内だけで有効なドメイン名(hogehoge.example等)を使いたいのですが、
そういったことは可能でしょうか?

具体的にはLAN内のWEBサーバに名前でアクセスしたり、
LAN内のメールアドレスを作りたいのです。

なんだか、漠然とした質問で申し訳ありません。
このようなことができるのであれば、解説しているサイトや、
検索に有効なキーワードでも教えていただけると幸いです。

サーバ構成は以下のようになっています。
・OS RedHat Linux8
・MTA sendmail 8
・DNS bind 9
・MUA OutLook Express 6(Windows2000, XP Pro)

WEBサーバにはローカルIPアドレスでアクセスし、
メールはWEBアプリからpostmaster@host.localdomainのように送信して、
POPはOutlook Expressで受信しています。

No. 3749 # hash 2004/06/04 (金) 21:51:53
>>3748 hash
> WEBサーバにはローカルIPアドレスでアクセスし、
> メールはWEBアプリからpostmaster@host.localdomainのように送信して、
> POPはOutlook Expressで受信しています。

度々すいません。
なんだか、意味のわからない文章になっていました。

現在は引用部分のように利用しているということです。
いろいろと面倒なので、何とかしたいと思って色々調べているのですが、
今のところ手がかりも見つからず質問させていただいた次第です。

No. 3750 # 金床 2004/06/05 (土) 06:10:55
>>3746 68user
興味があったので調べてみました。

現状のftp-client.cはデータコネクションでのデータ転送終了時にソケットのcloseを行っていないため、
サーバー側からのFIN-ACKパケットに対してFIN-ACKを送り返しません。

このため、データコネクションの切断について、クライアントからのFIN-ACKパケットを待つProFTPDと、
FIN-ACKパケットを特に待たない他のFTPDとの実装の差が、今回の問題であるプログラムの動作の差になっている
ようです。

>データコネクションはサーバ側から切ってくれると認識していたのですが、間違いなのかもしれません。
データコネクションの切断はサーバー側から行います。原理的に考えても、ファイルやファイルリストのサイズを
送信前に調べることはできませんので、これは間違いありません。

「サーバー側から切断」とはつまりサーバー側からFIN-ACKパケットが送信されるということです。
この際にreadが0を返すので、プログラムはwhileループを抜けます。
ここにclose(data_socket);を追加するとFIN-ACKを返信するようになり、ProFTPDはデータコネクションの切断が
正常に行われたと考え、処理が進みます。

つまり、close(data_socket);を追加することは「切断をクライアント側から行う」ことにはなりません。

以上、まとまりがなく申し訳ありませんが、参考になれば幸いです。

No. 3751 # TSURU 2004/06/05 (土) 17:31:35
初めて投稿します。

現在、sendmail 8.12.9 でSTARTTSLコマンドを有効にしてSSL接続を行っています。
デフォルトでは、SSLプロトコルバージョンは3.1です。これを、SSLプロトコル
バージョン3.0にする必要があるため、プロトコルバージョンが3.1の実行ファイル
と、3.0の実行ファイルを両方作成し、必要に応じて、実行ファイルを置き換えて、
sendmail を起動しなおして、sendmail に接続しています。
プロトコルバージョン3.0のものをコンパイルし、インストールした直後では、
正常にSSLプロトコルバージョンは3.0で通信できました。しかし、一旦、
SSLプロトコルバージョン3.1の実行ファイルに置き換えて起動し、数時間後に、
再度プロトコルバージョン3.0の実行ファイルで起動したところ、プロトコルバー
ジョン3.0では通信できないというおかしな状況になってしまいました。
プロトコルバージョン3.0で、通信できずにエラーとなった時の、
/var/log/syslog に出力された、sendmail のエラーメッセージは以下の
とおりです。

Jun 4 13:52:27 xxxx sm-mta[7195]: STARTTLS=server: 7195:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:290:

プロトコルバージョン3.0にする方法は、SSL_CTX_new() の引数に、
サーバの時はSSLv3_server_method()、クライアントの時は、SSLv3_client_method()を指定するという方法で行っています。
SSLライブラリは、OpenSSL 0.9.6c[engine] を使用しています。

どなたか、原因や対応方法などわかる人がいたら、ご教示していただきたいと
思います。
よろしくお願いします。

No. 3752 # bon 2004/06/05 (土) 18:29:25
お世話になります。
solaris9のx86版で、syslogの設定について質問なのです。
inetdから起動されるデーモンで、
クライアントのIP等の情報を/var/adm/messagesに出力させるには、
/etc/init.d/inetsvc内の最後を、「/usr/sbin/inetd -s -t」として、
マシンを再起動すれば良いらしいのですが、そのようにしてからtelnetで試したところ、
どうしてもログに出力されません。
/etc/syslog.confの設定はデフォルトのままで、
「*.err;kern.debug;daemon.notice;mail.crit /var/adm/messages」
の設定はコメントアウト等されていません。
他に何か設定すべき場所等ありますでしょうか?
宜しくお願い致します。

No. 3753 # zsh 2004/06/06 (日) 20:42:55
>>3752 bon
/etc/default/inetdに
ENABLE_CONNECTION_LOGGING=YES
の指定が必要です。

No. 3754 # zsh 2004/06/06 (日) 20:50:30
>>3748 hash
>WEBサーバにはローカルIPアドレスでアクセスし、
>メールはWEBアプリからpostmaster@host.localdomainのように送信して、
>POPはOutlook Expressで受信しています。

これが今の運用だとすると、
postmaster@host.localdomain
と指定している時点でローカルのドメインを使えているように見えますが・・・
クライアントからホスト名でアクセスするだけだったら
hostsファイルに指定してやれば良い気がします。

No. 3755 # bon 2004/06/06 (日) 21:41:14
>> 3753 zsh様
やっと動きました!
ありがとうございました。

No. 3756 # marlboro 2004/06/08 (火) 21:00:42
>>3746 68user
ありがとうございました。
動作確認できました。やはり6分待たされるんですよね。
>ProFTPD を相手にすると再現することがわかりました (一番
>最初に試すべきことでしたね)。
最初にお伝えするべきでした。

No. 3757 # 68user 2004/06/08 (火) 22:25:42
>>3747 kouzu
> RAID1+0(ミラー+ストライピング)を構成するのは
> アリなのでしょうか?
わかりません。RAID1 しかやったことがないです。

システム領域は RAID1 しか対応していないミドルウェアも
あるようですのでね。どう考えてもお仕事なようですから、
素人のアドバイスなど聞かず、まずは Veritas 社に問い
合わせることをお勧めします。

>>3750 金床
なるほど、勉強になります。サーバプログラムの書き方の違いとしては、
    クライアントの FIN-ACK を待たない
        ⇒ close か、shutdown(fd, SHUT_RDWR)
    クライアントの FIN-ACK を待つ
        ⇒ shutdown(fd, SHUT_WR) して、read が 0 を返すのを待つ
てな感じなんでしょうかねぇ。

>>3751 TSURU
単に 3.0 サーバに 3.1 プロトコルでお話しているということは
ないですよね? tcpdump や ethereal などでプロトコルバージョンを
確認しても間違いはありませんか?

SMTP over TLS は使ったことがないため、たいしたことは言えなくて
申し訳ないです。

No. 3758 # TSURU 2004/06/08 (火) 22:29:20
>>3751 TSURU
こんばんは。
V3.0で通信できない、という件ですが、設定方法を変えたら、正常にV3.0で通信
できるようになりました。
具体的には、sendmail.cfにて、CipherList を設定する方法で、できるように
なりました。
お騒がせしました。
68userさん、レスをいただきありがとうございます。

ありがとうございました。

No. 3759 # 68user 2004/06/08 (火) 22:35:42
>>3758 TSURU
V3.0 と V3.1 で sendmail.cf を共用にしていたため、
V3.1 でしか使用できない Cipher を V3.0 で使おうとして
エラーになっていた、ということでしょうか?

No. 3760 # TSURU 2004/06/08 (火) 23:10:56
>>3759 68user
いや、それはないと思います。
sendmail.cfファイルも、V3.0用とV3.1用で別々に作成して、置き換えて使っています。
僕も、それほどSSLについて詳しいわけではありませんが、
SSLプロトコルバージョンと暗号化アルゴリズム(Cipher)は、直接は関連性はないように
思います。
おそらく、この認識で合っているとは思いますが。

No. 3761 # 68user 2004/06/08 (火) 23:31:37
>>3760 TSURU
SSL3.0 と TLS1.0 (≒SSL3.1) の仕様上は、使用できる暗号
スイートに違いがあります。たとえば SSL3.0 では FORTEZZA
が使用できましたが、TLS1.0 では削除されました。また、AES
関連の暗号スイートについては、TLS のみに追加されました。
今後も新規暗号スイートは TLS のみに追加されていくでしょう。

http://www21.ocn.ne.jp/~k-west/SSLandTLS/rfc2246-Ja.txt
http://www21.ocn.ne.jp/~k-west/SSLandTLS/draft302-Ja.txt
http://www21.ocn.ne.jp/~k-west/SSLandTLS/rfc3268-Ja.txt

# ただし実装においては SSL3.0 と TLS1.0 はコードを共有して
# いるでしょうから、もしかしたら SSL3.0 で AES が使用できる
# ような実装もあるのかもしれません。

よって、暗号スイートの違いから接続がうまくいかなかったのでは
ないかと考えた次第です。

後学のために教えていただきたいのですが、
>>3758 TSURU
> sendmail.cfにて、CipherList を設定する方法
何と書くとうまくいかなくて、何と書くとうまくいったのか
お教えいただけますか?

No. 3762 # TSURU 2004/06/09 (水) 23:37:31
>>3761 68user

1.通信できなかった場合
sendmail.cfで、CipherList は特に設定していない。
また、SSL_CTX_new() の引数にSSLv3_server_method()、
又は、SSLv3_client_method()を指定する。
この方法だと、通信できなくなった。

2.通信できた場合
sendmail.cfで、CipherList に、DEFAULT:+SSLV3 を指定する。
また、SSL_CTX_new() の引数にSSLv23_server_method()、
又は、SSLv23_client_method()を指定する。
(つまり、sendmail のソースコードをいじらないままの状態です。)
この方法で、正常に通信できるようになりました。

No. 3763 # aits 2004/06/09 (水) 23:37:44
どなたかご教授下さい。

すでに動いているSolaris8の機器に新規Diskを追加し、Formatコマンドでパーティション切って、
labelしたあとにリブートする必要はありますか?
リブートしないと反映しないのですかね?
リブートは必要ないと思っていますが。。

No. 3764 # 68user 2004/06/10 (木) 00:40:32
>>3762 TSURU
ありがとうございます。暇を見つけて試してみたいと思います。

>>3763 aits
リブートして /etc/vfstab の内容が正しいことを検証しておく
方がよいと思われますが、リブートが必須かどうかと問われれば、
必須ではありません。リブートせずに、そのまま mount できます。

No. 3765 # 金床 2004/06/10 (木) 10:25:20
>>3757 68user

>サーバプログラムの書き方の違いとしては、
> クライアントの FIN-ACK を待たない
> ⇒ close か、shutdown(fd, SHUT_RDWR)
> クライアントの FIN-ACK を待つ
> ⇒ shutdown(fd, SHUT_WR) して、read が 0 を返すのを待つ
> てな感じなんでしょうかねぇ。

ProFTPDのソースを見てみました。ご指摘の通り、
shutdown(fd, SHUT_WR)
になっていました。
#実際にはSHUT_WRはハードコーディングされて1になっていましたが

shutdown後にreadしているかどうかまでは追えていません。
時間があるときにコードを書いてshutdownの動作を確かめてみたいと思ってます。


ちなみにProFTPDのこの部分を
shutdown(fd, SHUT_RDWR)
に変えてみたところ、closeを追加しないftp-client.cでも処理が止まらずに進むことを確認できました。

No. 3766 # 初心者 2004/06/10 (木) 23:15:30
unix上でzip圧縮した際にパスワードを設定したいのですが、
どなたかご存知な方いらっしゃいいますか?
windowsだと基本的にzip圧縮の際にパスワードを設定できるように
なっているのですが・・・。
一応manコマンドで調べると-eという暗号化のオプションが存在する
ようなのですが出来ません。
環境はsolarisです。よろしくお願いします。

No. 3767 # hash 2004/06/11 (金) 00:08:24
>>3754 zsh
> クライアントからホスト名でアクセスするだけだったら
> hostsファイルに指定してやれば良い気がします。

お返事ありがとうございます。
全クライアント(Win2000)のhostsファイルを変更するのは
大変(そんなに数はないのですが)なのでDNSにローカルのbindを指定して使っています。

ということは、bindのゾーン設定が悪いんですね。
とりあえず切り分けができたのでもう少し試行錯誤してみます。
報告できるようなことがあれば、また報告させていただきたいと思います。

ありがとうございました。

No. 3768 # hash 2004/06/11 (金) 00:27:09
>>3766 初心者

$zip -e out.zip target.o
Enter password:
Verify password:
    adding: target.o (stored 80%)

で出来ました。
RedHatですが、同じだと思います。

No. 3769 # 68user 2004/06/11 (金) 00:56:56
>>3766 初心者
> unix上でzip圧縮した際にパスワードを設定したいのですが、
Solaris 標準の zip は、おそらく暗号化ライブラリなしで
コンパイルされていると思うんですよね。たぶん。

FreeBSD の ports
        http://www.jp.freebsd.org/cgi/cvsweb.cgi/ports/archivers/zip/Makefile?rev=1.29
を参考に、zcrypt29-exportable.zip を持ってきたり、
-DUSE_CRYPT を指定したりして自分でソースからコンパイル
すれば大丈夫でしょう。

もしかしたら
    SunSite
        http://sunsite.tus.ac.jp/sun/solbin/
のバイナリパッケージが暗号化機能付きでコンパイルされて
いるかもしれません (試していません)。

No. 3770 # zsh 2004/06/11 (金) 17:04:11
>>3769 68user
Solaris標準・SunSiteのバイナリパッケージ共に暗号機能なしのようです。

No. 3771 # den 2004/06/13 (日) 18:34:51
Servlet を C の exe からソケットを使って起動させようとしているのですが
うまく起動しません。

どなたかわかる方はいませんか?

Prev< No. 3748〜3771> Next  [最新発言に戻る] [過去ログ一覧]