狐の王国


2003年03月11日(火) [過去の今日]

#1 irchat-pjでNAT越しのDCC SEND

うちのルータはBizIP8のISDNとその29マスクビットのネットワークとY!BBのADSLとLANとで総計4つのネットワークを繋いでるので、LinuxカーネルのIRCモジュールを使ってもうまくDCC出来なかったりした。しかし、一応DCC SENDを送った時点でlocalhostはDCCの準備が出来てるはずだし、相手方に転送してるポートとADSL側のIPアドレスさえ渡してあげればDCCは可能なはずである。

付属のdcc.cを見てみたが、どうも自分のIPアドレスは指定できないようで、IRCサーバのIPをあげるとそこに問い合わせてるように見えた。しかし、返り値としては自分のIPアドレスを単一の整数で表したものを返してくる、ように見える。なぜならirchat-pjはそのIPアドレスを相手に伝えてる、ということはわかったからだ。

ということでいじった結果が これ 。 dccプログラムにユーザが設定したdccportとdccaddrを渡してやり、なおかつperlでdccaddrを単一の整数に変換したものをDCC SENDに用いるようにした。perlを使わなきゃいけなかったのは悔しいのだが、elispはほとんどさわった事無いのでしょうがない、と自分に言い訳。そのperlスクリプトは こちら 。 これで.emacsなどに

(setq dccaddr "192.168.0.1")
(setq dccport "6667")

のようにグローバルIPとルータで転送してるポートを書いてやれば通った。かなり強引な方法ではあるのだが……。

しかし、普通のルータならポート番号だけ指定できれば、あとはdccコマンドに任せてIP取りに行けば済むんだろうな……たぶん。

(@708)

この記事のURI

最近の記事

以上、1 日分

タイトル一覧


カテゴリ分類
Powered by hns-2.19.8, HyperNikkiSystem Project

過去にこの日記が置いてあったcgi.misao.gr.jpは廃止されました。それによって記事へのURIが変わってしまっています。cgi.misao.gr.jpをwww.misao.gr.jpと置き換えるだけで同じ記事にアクセスできるはずです。

Sugano "狐志庵" Yoshihisa(E) @ 美紗緒ネットワーク <koshian@misao.gr.jp>
日記管理ページ