68user's page 掲示板

Prev< No. 1654〜1664> Next  [最新発言に戻る] [過去ログ一覧]
No. 1654 # O.Z 2001/01/24 (水) 11:29:05
むむ、どうやら私の書き方は、かなり不適切だったようです
”特定”ではなく、”任意”という言葉を使うべきでした

内から外はNATが使えるけど、外から内は何を使うのか
というのがそもそもの疑問だったのです
結局RASも内の一部になるという技術のようですし、
IPv4のうちは、外から内は実質不可能なのかな、というのが感想です

お二人のNATの説明はとても参考になりました
まだしばらくはNATのお世話になりそうですしね

No. 1655 # YAGI [E-mail] 2001/01/24 (水) 17:25:54
>1618 gixs様
レスが遅くなってしまい、すいません。
文章の書き方はすみませんでした。
他の人にも、時系列で書いた方が分かりやすいと指摘を受けました。

一度、リブートをしまして1からはじめてみましたので
手順を書いてみます。
1.NISサーバの設定
    NIS管理しようとしているユーザの作成/etc/passwd
    smitty chypdom
    smitty mkmaster
    コマンドを発行し正常終了しました。
2.NISクライアントの設定
    smitty chypdomでNISサーバと同じドメインを入力しました
    smitty mkclientで開始時期を決め実行しました。
    /etc/passwdをNIS管理用に編集しました

passwdを保存すると、クライアントのログインが不可となってしまうのです。
ypcat passwdも応答がない状態になってしまいます。

私のほうでも、色々と思い当たる物は考えてみたのですが、
NIS以前に
1.会社の引越しがあってIPが変わった
ということもあったのです。

ただ、私のほうで何をどう見てよいかわからないレベルなもので
他の人にも聞いたりしているのですが、特に問題ないのではという回答なのです。

もし、思い当たる点があれば教えていただきたく思います。
IPが変わる際に設定しなければ行けないファイルhostsファイルなど
があれば、教えていただけると、非常にうれしいです。

毎回毎回、分かり図らい文章だと思いますが、よろしくお願い致します

No. 1656 # gixs 2001/01/24 (水) 21:59:48
> 文章の書き方はすみませんでした。

いえいえ、人のことを言えるほどでもありませんので。

NISクライアント側には、
1. そもそもNISの/etc/passwdが見えているか
2. 見えていたら、それをログイン時に参照できているか
の2段階のチェックポイントがあります。

> passwdを保存すると、クライアントのログインが不可となってしまうのです。
> ypcat passwdも応答がない状態になってしまいます。

ypcat passwdの応答が無いということは、まだ第1段階の問題のようです。

> 2.NISクライアントの設定
> smitty chypdomでNISサーバと同じドメインを入力しました
> smitty mkclientで開始時期を決め実行しました。
> /etc/passwdをNIS管理用に編集しました

smitty mkclientの時、NISサーバはホスト名で入力したのでしょうか、
それともIPアドレスですか?
ホスト名で入力するなら、ローカルの/etc/hostsにNISサーバのエントリが必要です。

IPアドレスで入力するなら、結局、

> マップの更新後に、stopsrc -s ypbind
> startsrc -s ypbind -a "ypsetme"
> ypset (ServerのIPアドレス)
> を行なったところ、無事に設定する事が出来ました。

これを、smittyが内部的に実行するだけだと思いますが。
(明示的にNISサーバを指定しなくても、ブロードキャストで見つけられる・・・はず、
ですが、何とも言えません)


ローカルの/etc/hostsにNISサーバのエントリがあるのに、
ホスト名での指定がうまく行かない場合、ホスト名の名前解決がうまくないのでしょう。

> 一度、/etc/netsvc.confを作り
> hosts=local,nisを作成してやって見たのですが

こう言っているので、問題無いとは思いますが。
ただ、古いAIXでは、このファイルは無かったはずです。

ypcat passwdが応答の無い時、
ping [NISサーバのホスト名]
の応答はあるのでしょうか?
無いなら、ローカルの/etc/hostsを先に見ていないと判断できます。

> 毎回毎回、分かり図らい文章だと思いますが、よろしくお願い致します

# どうでもいい突っ込み。
# 「わかりづらい」なら、この誤変換は出ないと思います。

No. 1657 # perrolin 2001/01/25 (木) 01:38:58
>>1653 68user 様
>Net::SOCKS モジュールが参考になるかもしれません。

レスありがとうございます。
Net::SOCKS を使ったソースを参考にがんばってみたいと思います。

No. 1658 # YAGI [E-mail] 2001/01/25 (木) 11:05:46
>gixs様

>smitty mkclientの時、NISサーバはホスト名で入力したのでしょうか、
>それともIPアドレスですか?
この画面なのですが、AIXのバージョンが4.2.1の為に
smitty mkclientで表示される画面が、
「* NIS クライアントを開始する時期 両方」
しか、表示されないのです

>ypcat passwdが応答の無い時、
>ping [NISサーバのホスト名]
>の応答はあるのでしょうか?
試して見たのですが、応答ありませんでした。

># 「わかりづらい」なら、この誤変換は出ないと思います
タイプミスで「わかりずらい」と打っていました。^^;

No. 1659 # kaori [E-mail] 2001/01/25 (木) 16:12:33
  はじめまして。 kaoriと申します。

  Perl言語を勉強中です。 非常に参考になる情報をありがとうございます。
いつも感心しながら参考に勉強させてもらっています。

  どうしてもわからないので教えてください。
Socketの使い方はなんとなく判ったのですが、IPv6のSocketはどういうふうに
すればよいのでしょうか?
Socket6っていうのをインストールしてみましたが、よくわかりません。。

  私の環境は、FreeBSD-RELEASE4.1に、Perl5です。

  こんな感じで作っていて、IPv4ではちゃんと動作しています。

                $port = getservbyname($port_no,'tcp') || $port_no;
                $socket = IO::Socket::INET->new(PeerAddr => 127.0.0.1,
                                                                PeerPort => 80,
                                                                Proto => 'tcp',
                                                                );

  ご助言、よろしくお願いいたします。

No. 1660 # 68user 2001/01/25 (木) 18:52:18
>>1659 kaori
  - IPv6 環境が構築してあるか。ping6 コマンドを使って
      IPv6 で反応が返ってくるか (localhost 宛でもよい)。
  - perl が IPv6 に対応しているかどうか。perl-5.005_03 なら多分
      無理。5.6 か 5.7 で対応したかもしれません。Socket6 というのを
      使えば 5.005_03 でもいけるのかもしれませんが、僕は試したことが
      ありません。

それをクリアすれば、少しの例外を除いて基本的には書き方は同じです
(そうしないとソースレベルでの互換性が全くなくなるので)。例外と
いうのは gethostbyname の代わりに getaddrinfo を使うとか。

とりあえず perldoc Socket6 してみてください。サンプルの
ひとつでも載っているのではないでしょうか。

No. 1661 # 68user 2001/01/25 (木) 21:22:48
>>1660 68user
> 少しの例外を除いて基本的には書き方は同じです (そうしないと
> ソースレベルでの互換性が全くなくなるので)。例外というのは
> gethostbyname の代わりに getaddrinfo を使うとか。
あー激しく不正確だなぁ。gethostbyaddr で IPv6 なプログラムは
書けます。でも、AF_INET を AF_INET6 にしないといけないとか、
struct sockaddr_in を struct sockaddr_in6 にするだとか、
ソースレベルでの書き換えが必要になります。しかもそのように
書き換えると IPv4 では動きません。

そりゃまずいというわけで、IPv4 でも IPv6 でも同じ書き方が
できるような新しいライブラリが追加されました。getaddrinfo
という関数や AF_UNSPEC というアドレスファミリ (AF_INET とか
AF_INET6 とかを指定する必要がない) などなど。

というわけで、IPv6 only のプログラムは簡単に書けますが、
書いちゃいけません。IPv4/v6 両方で動くようなプログラムを
作るべきです。

あと、FreeBSD 4.1-RELEASE のデフォルト状態なら IPv6 対応の
はずですね。/etc/inetd.conf の
    #echo stream tcp6 nowait root internal
あたりを有効にして inetd を再起動して、それとお話しする
クライアントを書いてみるといいでしょう。

以上、IPv6 アプリを書いたことのない者 (IPv6 を使ったことさえ
ない) のたわごとでした。

No. 1662 # 68user 2001/01/25 (木) 21:47:20
しつこくて失礼。perl5.005_03 に Socket6 モジュールを入れてみました。

>>1660 68user
> とりあえず perldoc Socket6 してみてください。サンプルの
> ひとつでも載っているのではないでしょうか。
ばっちり載ってますね。これをちょいといじって
    % netstat -a | grep tcp6 | grep echo
    tcp6 0 0 *.echo *.* LISTEN
なサーバにつなげようとしたら、
    Can't load '/home/68user/p5-module/i386-freebsd/auto/Socket6/Socket6.so'
    for module Socket6: /home/68user/p5-module/i386-freebsd/auto/Socket6/Socket6.so:
    Undefined symbol "in6addr_any" at /usr/local/lib/perl5/5.00503/i386-freebsd/DynaLoader.pm
    line 169.
だそうで。原因究明はまた後日…と言いたいところだけれど、
こりゃ僕のレベルではいかんともしがたいですな。

No. 1663 # 68user 2001/01/25 (木) 22:04:27
あーしつこい。でも初 IPv6 体験の記念に (やってることは
しょぼいなぁ)。

4.1-RELEASE あたりなら、telnet も IPv6 ready なので、
    % telnet ::1 echo
で IPv6 で localhost の echo サーバとお話できます。
netstat で tcp6 なコネクションが張られていること、
tcpdump で IPv6 なデータグラムが流れていることを
確認してください。
    % tcpdump -i lo0
    21:56:30.055419 localhost.1206 > localhost.echo: . ack 5 win 57344 (DF) [tos 0x10]
            4510 0028 0eca 4000 4006 2df4 7f00 0001
            ...
    21:54:41.404023 localhost.1204 > localhost.echo: S 705795707:705795707(0) win 16384 <mss 16324>
            6000 0000 0018 0640 0000 0000 0000 0000
            ...
先頭1バイトが4なのが IPv4、6 が IPv6 です。

No. 1664 # gixs 2001/01/25 (木) 22:09:21
> この画面なのですが、AIXのバージョンが4.2.1の為に
> smitty mkclientで表示される画面が、
> 「* NIS クライアントを開始する時期両方」
> しか、表示されないのです

確認しました。
となると、ブロードキャストでNISサーバを見つけるはずですね。

> >ypcat passwdが応答の無い時、
> >ping [NISサーバのホスト名]
> >の応答はあるのでしょうか?
> 試して見たのですが、応答ありませんでした。

ローカルの/etc/hostsにNISサーバのエントリがあっても、応答無しですか?

あまり引き延ばして、却って失望が大きくなってしまうのが辛いので、
状況をまとめます。

/etc/hostsにNISサーバのエントリがあるとして、

1. ping [NISサーバのホスト名]が応答なし
少しだけ脈あり。名前解決の順序がおかしいようです。
FAQの1.800(http://www.landfield.com/faqs/aix-faq/part3/)
にありますが、環境変数NSORDERがあるとか?(可能性は低いですが)

2. ping [NISサーバのホスト名]が応答あり
今さら、この結論も気が引けますが、
ypwhich [NISサーバのIPアドレス]
でうまくいくなら、それで結果オーライにしてしまってよいのではないでしょうか。

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