» サーバへの接続に時間がかかる

IRCサーバに接続したときに、以下のようなメッセージが表示された後、数分間経過しなければログインできないことがあります。

*Reply(020) Please wait while we process your connection.

この間、IRCサーバはクライアントホストが不正中継に利用されていないかを調べています。

具体的には、192.244.23.0/24からのアクセスについて にあるように、IRCサーバからクライアントホストの TCP 80、113、1080、3128、8000、8080、10080 番のポートに対して接続を試みます。そして、もし接続に成功したとすれば、不正中継に利用される可能性があるものと判断し、IRCサーバへの接続は拒否されます。逆に、接続に失敗したと判断できた時点で、IRCサーバへの接続は受け入れられます。

ここで問題になるのは、クライアントホストへの経路にNATルータやファイアウォールがある場合です。その場合には、IRCサーバからクライアントホストに対して接続を試みても、NATルータやファイアウォールがパケットを棄却し、何も応答を返さないことが多いようです。このようなケースでは、IRCサーバがクライアントホストへの接続を失敗したと判断するためには、接続のタイムアウトまで待つしかありません。つまり、IRCクライアントはその待ち時間の間、IRCサーバへのログインを待たされることになります。

解決策としては、IRCサーバがクライアントホストに接続を試みた場合に、すぐに拒否の応答を返すようにすればいいでしょう。

しかし、たいていのNATルータやファイアウォールは、そのような機能を持っていないので、OS で処理してやる必要があります。つまり、NATルータやファイアウォールの設定で TCP 80、113、1080、3128、8000、8080、10080 番のポートを使っている PC に通してやることで、そのポートへのアクセスに対して、OS から拒否のパケットを返すようにすればいいわけです。そうすると、IRCサーバに接続してからすぐにログインできるようになります。

なお、この設定をする場合には、使っている PC の TCP 80、113、1080、3128、8000、8080、10080 番のポートが外部に対してさらされるので、セキュリティには十分に注意してください。各自の責任でお願いします。

Created by Psychs.