知り合いを通して、小さな会社の所有者から、安価で信頼性が高く安全なルーターを構成するようにというリクエストがありました。 当時、私が接続したすべてのオフィスの80%が、秘書または別の従業員のコンピューターにWin2kと2番目のネットワークカードをインストールして管理していました(Ho-ho!インターフェイスを作成してインターネットにアクセスしました!)。 残りの15%は、この目的のために、何らかのnixのようなOSを実行する特別なコンピューターをセットアップし、5%だけが古典的な意味でルーターまたはファイアウォールを備えていました。
それで、それはどんな車でしたか? PIIIプロセッサを搭載した独自のCompaq Descproであり、内蔵ネットワークカードはありませんが、512MBものメモリを搭載しています。 それらの年の普通のオフィスハードワーカー。 表紙のスタンプは、製造日-2000年11月2日を示しています。 一般的に、それは残念ではありませんでした。
OSの選択は私の前でさえありませんでした-私はNetBSDに対する情熱の時代を経験していました。
このオペレーティングシステムのインストール手順は、同様のプロセスよりもそれほど複雑ではありませんが、FreeBSD(sysinstall)の場合は、OpenBSDの場合よりもはるかに便利です。
顧客が必要とする一連の機能は非常に一般的です-パケットフィルタリング、NAT、トラフィックをキャッシュするためのプロキシサーバー(無制限の関税は、法的エンティティだけでなく、物理学者も知っていました)とDNSをキャッシュします。 pkgsrcからのアセンブリには時間がかかりすぎるので、必要なものはすべてパッケージから入れられました。これにはあまり意味がありませんでした。
このOSの多数のプラットフォームとアーキテクチャの主張されたサポートはかなり条件付きですが(sun4vおよびhppaポートの例として私が話していることは知っています)、386では、その時点でサポートされている周辺機器の範囲は非常に広かったです。
コンピューターが顧客に引き渡された後、私は彼をさらに数回見ましたが、主に予防目的のためです。 そして、数年が経ち、ゲートウェイは明らかに障害なく機能し、連絡先は失われ、会社は成長し、管理者を雇いましたが、彼はNetBSDよりも1Cに精通しており、明らかに、何も変更する必要はありませんでした。
そして今、一ヶ月前、私はこのコンピューターを自分に持って行きたいかどうかを尋ねる手紙の中に手紙を見つけましたか? ささいな虚栄心から、私はカバーの下に私のサイトの名前とインストールの日付を記したサインを残したので、うまくいきました。 置換の理由として、プロバイダーを変更してチャネルを拡張した後、ネットワーク設定が変更されたことが示されましたが、これは修正されましたが、インターネット速度は1 Mb / sを超えませんでした。
それでは、このコンピュータ世界の代表者の内なる世界を見てみましょう。 DVDドライブは、今のようにインストールされましたが、コンパックにはありませんでした。
NetBSD 1.6.1(SiberianSun)#0:2003年8月20日水曜日21:17:36 MSD 2003 root@gw.siberiansun.net:/ usr / src / sys / arch / i386 / compile / SiberianSun cpu0:Intel Pentium III(Coppermine)(686クラス)、863.89 MHz cpu0:Iキャッシュ16 KB 32b /ライン4ウェイ、Dキャッシュ16 KB 32b /ライン2ウェイ cpu0:L2キャッシュ256 KB 32b /ライン8-way cpu0:383fbff機能<FPU、VME、DE、PSE、TSC、MSR、PAE、MCE、CX8、APIC、SEP、MTRR> cpu0:383fbffの機能<PGE、MCA、CMOV、FGPAT、PSE36、MMX> cpu0:383fbff機能<FXSR、SSE> 合計メモリ= 510 MB 使用可能メモリ= 470 MB 26236 KBのメモリを含む6144バッファを使用 BIOS32 rev。 0xe7300で0 mainbus0(ルート) mainbus0バス0のpci0:構成モード1 pci0:i / oスペース、有効なメモリスペース、rd / line、rd / mult、wr / inv ok pci0 dev 0機能0のpchb0 pchb0:Intel 82815ハブ(rev。0x02) pchb0のagp0:0x44000000の開口部、サイズ0x4000000 pci0 dev 2機能0のvga1:Intel 82815グラフィックス(rev。0x02) vga1 kbdmux 1のwsdisplay0:コンソール(80x25、vt100エミュレーション) wsmux1:wsdisplay0への接続 pci0 dev 30機能0のppb0:Intel 82801AA Hub-to-PCIブリッジ(rev。0x02) ppb0バス2のpci1 pci1:I / Oスペース、有効なメモリスペース pci1 dev 9機能0のrtk0:RealTek 8139 10 / 100BaseTX rtk0:irq 5で割り込む rtk0:イーサネットアドレス00:80:48:18:01:70 rtk0 phy 7のukphy0:汎用IEEE 802.3uメディアインターフェイス ukphy0:OUI 0x000000、モデル0x0000、rev。 0 ukphy0:10baseT、10baseT-FDX、100baseTX、100baseTX-FDX、自動 pci1 dev 10機能0のep0:3Com 3c595-TX 10/100イーサネット ep0:irq 9で割り込む ep0:アドレス00:20:af:d2:0d:6a、64KBワード幅FIFO、3:1 Rx:Txスプリット ep0:10baseT、10baseT-FDX、100baseTX、100baseTX-FDX(デフォルトは100baseTX) pci0 dev 31機能0のpcib0 pcib0:Intel 82801AA LPCインターフェイスブリッジ(rev。0x02) pci0 dev 31のpciide0機能1:Intel 82801AA IDEコントローラー(ICH)(rev。0x02) pciide0:バスマスターDMAサポートの存在 pciide0:互換モードに配線されたプライマリチャネル pciide0チャネル0ドライブ0のwd0:<ST340014A> wd0:ドライブは16セクターPIO転送、LBA48アドレッシングをサポートします wd0:38165 MB、16383 cyl、16ヘッド、63秒、512バイト/セクションx 78163247セクター wd0:32ビットデータポート wd0:ドライブはPIOモード4、DMAモード2、Ultra-DMAモード5(Ultra / 100)をサポートします pciide0:irq 14で中断しているプライマリチャネル wd0(pciide0:0:0):PIOモード4を使用、Ultra-DMAモード4(Ultra / 66)(DMAデータ転送を使用) pciide0:互換モードに接続されたセカンダリチャネル pciide0チャネル1のatapibus0:2つのターゲット atapibus0ドライブ1のcd0:<_NEC DVD_RW ND-4550A、1.07>タイプ5 cdrom取り外し可能 cd0:32ビットデータポート cd0:ドライブはPIOモード4、DMAモード2、Ultra-DMAモード2(Ultra / 33)をサポートします pciide0:irq 15で中断しているセカンダリチャネル cd0(pciide0:1:1):PIOモード4を使用、Ultra-DMAモード2(Ultra / 33)(DMAデータ転送を使用) uhci0 at pci0 dev 31 function 2:Intel 82801AA USB Controller(rev。0x02) uhci0:irq 11で割り込みます uhci0のusb0:USBリビジョン1.0 usb0のuhub0 uhub0:Intel UHCIルートハブ、クラス9/0、rev 1.00 / 1.00、addr 1 uhub0:取り外し可能な2つの自己給電式ポートが2つ pci0 dev 31機能5のauich0:i82801AA(ICH)AC-97オーディオ auich0:irq 5で割り込む auich0:ADS96コーデック。 ヘッドフォン、Analog Devices Phat Stereo auich0のaudio0:全二重、mmap、独立 pcib0のisa0 isa0ポート0x3f8-0x3ff irqのcom0 4:ns16550a、作業fifo isa0ポート0x2f8-0x2ff irq 3のcom1:ns16550a、作業fifo isa0ポート0x60-0x64のpckbc0 pckbc0のpckbd0(kbdスロット) pckbc0:kbdスロットにirq 1を使用 pckbd0のwskbd0:コンソールキーボード、wsdisplay0を使用 isa0ポート0x378-0x37b irq 7のlpt0 isa0ポート0x61のpcppi0 pcppi0のsysbeep0 isa0ポート0x279のisapnp0:ISAプラグアンドプレイデバイスのサポート isa0ポート0xf0-0xffのnpx0:例外16を使用 isa0ポート0x3f0-0x3f7のfdc0 irq 6 drq 2 isapnp0:ISAプラグアンドプレイデバイスが見つかりません バイオマスクfd45ネットマスクff65 ttymask ffe7 カーネル化されたRAIDframeがアクティブ化されました 起動デバイス:wd0 wd0aのルートwd0bのダンプ ルートファイルシステムタイプ:ffs IPフィルター:v3.4.29が初期化されました。 デフォルト=すべてを渡す、ロギング=有効 wsdisplay0:画面1が追加されました(80x25、vt100エミュレーション) wsdisplay0:画面2が追加されました(80x25、vt100エミュレーション) wsdisplay0:画面3が追加されました(80x25、vt100エミュレーション) wsdisplay0:画面4が追加されました(80x25、vt100エミュレーション)
はい、1枚のネットワークカードは非常に優れており、内部インターフェイスとして使用されていました。 2番目は、率直な消費財RTL8139です。
GENERICカーネルから不要なドライバーが削除されたため(1.6.1では6254651バイト)、2602114バイトにさらに削減できました。 特に注意すべきなのは、カーネルのコンパイル速度です。これは、現代の標準であってもかなり高速なプロセスです(コンパイル/ディレクトリが空でない場合、処理はずっと速くなります)。
#config
#依存する
#make
DHCPは引き続き機能し(内部DNSゾーンの動的更新)、DNSサーバーはキャッシュサーバーとして機能しますが、応答時間はかなり長くなります。 プロキシサーバーが実行されています。 ソフトウェアは非常に古く、膨大な数の脆弱性があります。
BIND9はパッケージから出荷されました。これは、BIND8システムの一部として提供されていたパッケージが2003年でも陳腐化したと考えられていたためです。
作業が遅かった理由がすぐに見つかりました-ALTQ、明らかに管理者はその設定を見ていませんでした。 ALTQは、発信トラフィックを処理するように設計されているため、内部インターフェイス(3Comネットワークカード-em0)で構成されます。 つまり、外部ネットワークから、内部インターフェイスへのフローが1 mb / sの95%を超えることはできません。 このバージョンのNetBSDのALTQは、rtl8139ネットワークカードではサポートされていないため、着信チャネルの幅は一切規制されていません。 はい、あまり美しくありませんが、それは当時のネットワークテクノロジーに関する知識であり、ALTQでサポートされている2番目のネットワークカードはありませんでした。
NetBSDの主要なパケットフィルターは、Darren Reedによって書かれたIPFです。 NetBSD 1.6.1はバージョンv3.4.29を使用しています;現在のバージョンのパケットフィルターは5.1.1です。 ネットワーク上には、ロシア語を含むIPフィルターのセットアップに関する多くのドキュメントがあります。
iperfによるテストでは、以下のスクリーンショットで多数の割り込みが見られるように、rtk0は最も価値のあるネットワークカードではないことが示されました。 また、ipmonユーティリティによる大量のリソース消費も発見しました-理由は簡単でした-ルールセットの余分な「ログ」を削除するのを忘れていました。
「ベンチマーク」テスト:最適なネットワークカードではないLAN 100Mb / s、ルーターをバイパス:
ALTQを無効にしたルーター経由:
ALTQおよびIPFルールの「ログ」が無効になっているサーバーの負荷:
ALTQを有効にしたサーバーの負荷、IPFルールの「ログ」が削除されました:
ALTQを無効にしたサーバーの負荷、IPFルールの「ログ」を削除:
ALTQの作業:
要約すると、非常に長い年月を経てルーターが動作するようになりましたが、高速チャネルで動作するには、rtl0ネットワークカードを交換する必要があります。
確かに、最も困難な状況で、パッケージを移動するためのハードワークを続ける多くの車があります-ほこりの多いクロス、汚れたロフト、窓枠の植木鉢の下、誰もパスワードを覚えておらず、オフにするのが怖いです。
また、過去にどのようなミーティングがありましたか、%ユーザー名%?
免責事項:外部およびローカルアドレス、機器のドメイン名が変更され、すべての一致はランダムであり、意図的ではありません。