web-dev-qa-db-ja.com

モデム経由で2台のコンピューターを接続する(RJ11)

古いダイヤルアップエクスペリエンスを再現したいのですが、実際に電話会社のダイヤルアップ番号に電話をかけることはありません。だから私は、Linuxマシンがpppサーバーをホストし、RJ11ワイヤーを介してwin98マシンからのダイヤルアップ通話を受け入れ、インターネット接続を共有できるのではないかと考えました。そのようなことは可能ですか?

7
user73672

Linuxは永遠にpppをサポートしてきました。 pppdを実行し、リッスンするシリアルポートなどを指定するパラメーターを指定して、ppp0(またはその他の)インターフェイスを作成します。その後、他のインターフェースと同様に、ルーティングとファイアウォールを(iptablesを使用して)構成できます。

したがって、pppをいじるだけの場合は、2つのシステムのシリアルポートを接続するヌルモデムケーブルを使用して行うことができます。シリアルポートの速度を33.6Kpbs以下に設定し、ppp接続を介してインターネットをルーティングしている場合は、速度のかなり優れたダイヤルアップモデムシミュレーションが得られます。

「pppクライアント」がWindowsの場合、Windowsはもう一方の端がモデムであると主張します。これが意味することは、Windowsはシリアルポートを介してpppの通信を開始する前に、常にシリアルポートを介して「AT」コマンドを送信しようとするということです。 ATコマンドはモデムによってローカルに理解されますが、pppの一部ではありません。恐れることはありません。Linux "ppp" "chat"スクリプトをサポート Windowsは期待しています。

これは、私がそれをいじっていたときにこれをすべて開始したpppdコマンドの抜粋です。これをテンプレートとして使用し、それに応じて置き換えることができます。

pppd 115200 netmask $LOCAL_NET_MASK crtscts connect 'chat -v -f /etc/admin/network/winclient.chat' lock local ms-dns $LOCAL_IP ms-wins $LOCAL_IP persist proxyarp silent $PPP_IFACE_ADDRESS $TTY noauth

Linuxでは、通常、モデムはシリアルポートを介して接続されるか、PCIカードまたはオンボードチップセットによってエミュレートされます(外部はLinuxではるかにうまく機能します)。モデムは、V.92または電話回線を介して実際に音を出すプロトコルを実装しています。

その部分をシミュレートしたい場合は、 Softmodem を試すことができます。これは、JACKを介してオーディオの入力と出力を受け取り、実際にモデムが実行するはずのオーディオの「変調/復調」部分を実行します(ただし、14Kpbsに制限されています)。サーバーで動作させることはできませんでしたが、JACK(またはPCスピーカー以外のサーバー上の実際のオーディオデバイス...)の経験はあまりありません。

2
LawrenceC

電話回線シミュレーター(電話が流れる電流をデバイスに供給するデバイス)を使用すると、これを実行できる可能性があります jagshouse には、それらの構築方法について詳しく説明した記事があります。

グーグルですばやく検索すると、DIYに興味がない場合は、同じデバイスの ビルド済みの市販モデル があることもわかります。

ラインシミュレータは、従来の電話回線を介して接続されている2つの電話の効果を複製し、ATコマンドを使用して一方から他方に通信できるようにする必要があります。

1
jackhauser

2つのモデムを何らかの形式の電話交換システムと接続する必要があります。それらを一緒に配線するだけでは十分ではありません-PSTN(電話システム)は実際には、信号の呼び出しなどのためにワイヤを介して電力を供給します。

電話交換なしで得られる最も近い方法は、ヌルモデムケーブルを使用して2つのシリアルポートをリンクし、実際のダイヤル部分をなくすことです。

1
Majenko