| 開発者 | Danny Gasparovski、Kelly Price (メンテナー) |
|---|---|
| 初回リリース | 1995年3月30日 |
| 安定リリース | 1.0.17 / 2006年1月8日 |
| オペレーティング·システム | Unixライク |
| プラットフォーム | シェルアカウント |
| タイプ | ダイヤルアップアクセス |
| ライセンス | BSD ライクな、修正された4 条項 BSD ライセンス |
| Webサイト | slirp.sf.net |
Slirp(大文字でSLiRPと表記されることもある)は、テキストベースのシェルアカウントを使用してインターネットへの PPP 、 SLIP 、または CSLIP 接続をエミュレートするソフトウェアプログラムです。専用のダイヤルアップ PPP 接続とブロードバンドインターネットアクセスが広く利用可能になり、安価になったため、当初の目的はほとんど使われなくなりました。その後、シリアルポートを介してPDAなどのモバイルデバイスを接続するために使用されるようになりました。もう1つの重要な使用例は、ファイアウォールピアシング/ポート転送です。[1] [2] Slirpの一般的な使用法の1つは、ポート転送が制限されているSSHセッションを介して汎用ネットワーク接続を作成することです。別の使用例は、特権のないコンテナの外部接続を作成することです。
使用法
シェル アカウントは通常、コマンド ラインまたはテキストベースのソフトウェアの使用のみを許可しますが、シェル アカウントにログインしてリモート サーバーで Slirp を実行すると、ユーザーはシェル アカウントを汎用 SLIP/PPP ネットワーク接続に変換し、コンピューターで任意のTCP/IPベースのアプリケーション (以前は人気があったNetscape Navigatorなどの標準GUIソフトウェアを含む) を実行できるようになります。これは、シンプルなシェル アカウントが完全な SLIP/PPP アカウントよりも安価で、より広く利用可能であったため、1990 年代に特に役立ちました。[3]
1990年代半ば、多くの大学がダイヤルアップシェルアカウントを(教職員および学生に)提供しました。これらのコマンドラインのみの接続は、SLIP/PPPによってより汎用的になり、任意のTCP/IPベースのアプリケーションを使用できるようになりました。大学のダイヤルアップ接続をSlirpで使用するためのガイドがオンラインで多数公開されました。Slirpやその商用競合製品であるTIAなどのTCP/IPエミュレーションソフトウェアの使用は、ユーザーが利用規約に違反しているか、帯域幅を過剰に消費していると考え、一部のシェルアカウントプロバイダーによって禁止されました。[4] [5]
SlirpはPDAやその他のモバイルデバイスをインターネットに接続するのに便利です。シリアルケーブルまたはUSB経由でSlirpを実行しているコンピューターにそのようなデバイスを接続すると、モバイルデバイスはインターネットに接続できます。[6]
制限事項
専用サーバーによって提供される真のSLIP/PPP接続とは異なり、Slirp接続はインターネットプロトコルスイートによって想定されるエンドツーエンドの接続の原則に厳密には従いません。シェルアカウントで実行されている接続のリモートエンドは、新しいIPアドレスを割り当ててトラフィックをルーティングすることはできません。 [7]したがって、Slirpはポート転送を使用して特定のポートの着信トラフィックを受け入れる ことができますが、ローカルコンピューターは任意の着信接続を受け入れることができません。
この制限はネットワークアドレス変換の制限に似ています。副作用としてセキュリティが強化されるほか、ポリシーを強制したり、ローカルコンピュータとインターネット間のファイアウォールとして機能したりすることもできます。 [7]
現在の状況
Slirpは、BSDライクな修正4条項BSDライセンスの下で、原作者によってライセンスされたフリーソフトウェアです。原作者がメンテナンスをやめた後、Kelly Priceがメンテナーを引き継ぎました。 [8] 2006年以降、Kelly Priceからのリリースはありません。Debian メンテナーは、Slirpを64ビットコンピューターで正しく動作するように修正するなど、いくつかのメンテナンスタスクを引き継ぎました。 [9] 2019年には、[10]より積極的にメンテナンスされているSlirpリポジトリがslirp4netnsによって使用され、権限のないルートレスコンテナーとVMにネットワーク接続を提供しました。
他のプロジェクトへの影響
Slirp は、ほとんど廃止されたにもかかわらず、仮想マシンやその他の仮想化環境で使用されるネットワーク スタックに大きな影響を与えました。仮想マシンをホストのネットワーク スタックに接続するための確立された方法は、さまざまなパケット インジェクションメカニズムを使用することでした。そのようなメカニズムの 1 つであるRaw ソケットは、もともとその目的で使用されていましたが、多くの問題と制限があったため、後にTAP デバイスに置き換えられました。
パケットインジェクションは特権操作であり、セキュリティ上の脅威をもたらす可能性がありますが、TAPデバイスの導入では部分的にしか解決されていませんでした。Slirp由来のNAT実装は、この長年の課題に解決策をもたらしました。Slirpは完全なNAPT実装をスタンドアロンのユーザー空間コードとして持っているのに対し、他のNATエンジンは通常、ネットワークプロトコルスタックに組み込まれており、 PAT実行時にホストOSと連携しません(独自のポート範囲を使用し、パケットインジェクションが必要です)。QEMUプロジェクトは、Slirpパッケージの適切なコード部分を採用し、元の作者から3条項BSDライセンスの下で再ライセンスする許可を得ました。 [11] このようなライセンス変更により、他の多くのFOSSプロジェクトがQEMU提供のSlirp部分を採用できるようになりましたが、これはライセンス互換性の問題のために元のSlirpコードベースでは不可能でした(現在でも不可能です)。注目すべき採用者には、VDEプロジェクトとVirtualBoxプロジェクトがあります。
参照
- PPPデーモン
- Slirpと競合した商用製品であるインターネットアダプタ
参考文献
- ^ Rideau, François-René (2001)、ファイアウォールピアシングミニHOWTO、セキュアなソリューション:sshを使用したピアシング
- ^ JDIMPSON (2008)、pppsshslirp: ルート権限のないリモートマシンに SSH 経由で PPP セッションを作成する
- ^ Jim Knoble (1996-08-01). 「SLiRP と PPP でほぼインターネット」. Linux Journal . 2009-08-28閲覧。
- ^ Craig J. Miller (1995-03-15). 「TENET における TIA に関する Intermind の議論」2009-08-31閲覧。
- ^ 「Everybody's Internet Update (section 1.5)」。電子フロンティア財団。1994年9月。 2009年8月31日閲覧。
- ^ Kelly Price. 「Slirp メンテナンス プロジェクトのホームページ」 。2009年 8 月 31 日閲覧。
- ^ ab Glen Reesor (2001-02-21). 「SLIP/PPP エミュレータ mini-HOWTO」。2009-08-29閲覧。
- ^ Kelly Price. 「Slirp FAQ」. 2009年8月28日閲覧。
- ^ 「Debian Changelog slirp」。2009年8月28日閲覧。
- ^ 「リリース - rootless-containers/slirp4netns」. 2019-01-04.
- ^ 「[Qemu-devel] slirp ライセンスから広告条項を削除する」
外部リンク
- Slirp メンテナンス プロジェクト、Slirp の最新バージョンの公式サイト
- Debian の Slirp の最新バージョン (1.0.17)
