PPPoEを使用してUbuntuサーバーをルーターとしてセットアップする方法



問題を排除するために楽器を試してください

Ubuntu Serverは、大規模な大規模な鉄製サーバーで使用するためのCLIプロンプト専用オペレーティングシステムとして技術的に設計されていますが、イーサネット経由のポイントツーポイントプロトコルを管理するルーターや組み込みシステムでも機能しない理由はありません。このようなプロジェクトには、小型のファンレスPCか、NANDフラッシュチップを介して変更できる何らかのルーターボックスが必要であると想定されています。おそらく、ノイズや可動部品を排除するために、適切な量のRAMとソリッドステートディスクをインストールすることになります。 SDカードからオペレーティングシステム全体を実行できるように、SDHCからSATAへのコンバーターを使用することに興味があるかもしれません。レガシーフリーハードウェアのサイドスロットに挿入されたSDカードも、オペレーティングシステムを起動できます。これは、PPPoEシステムで問題なく使用する場合に機能します。



この種の構成を使用すると、適切な電気機械式ハードディスクがないと時間がかかると思われるかもしれませんが、実際には、理論的にはアクセス時間を短縮できます。 Ubuntu Serverは非常に小さいため、とにかくすばやく起動します。ルーターを設置したら、実際にルーターのオンとオフを切り替えることはあまりありません。選択した構成に関係なく、ISOをダウンロードするには、ブラウザーでhttps://www.ubuntu.com/download/serverを指定する必要があります。この記事の執筆時点での最新バージョンであるUbuntuServer 16.04.1 LTSは、64ビットアーキテクチャでのみ使用するように設計されています。最新のルーターおよびシンクライアントデバイスのほとんどは、この要件を十分に満たしていますが、ネットブックをルーターとして使用するなど、本当にエキゾチックなことを試みている場合は、これが問題になる可能性があります。





UbuntuサーバーをPPPoEルーターとして構成する

いくつかの主要なISPネットワークはまだPPPoE認証を必要とします。ほとんどすべてのDSLネットワークがこれを使用しており、ファイバー接続を使用する場合は不要ですが、実際に使用しているものもあります。 Netgearルーターは、これらのタイプのネットワークに簡単に接続できるログインプロンプトを提供しますが、自家製のLinuxルーターをこの種のテクノロジーと正しくインターフェイスさせるには多少の作業が必要です。

ブラウザにまだ表示されていない場合は、 http://releases.ubuntu.com/16.04.1/ 。 ISOがない場合は、このページからダウンロードできたはずですが、ダウンロードしたら、MD5SUMSというリンクまでスクロールして選択します。



CLIプロンプトから、UbuntuサーバーISOでmd5sumを実行し、次の番号と一致することを確認します。 ubuntu-16.04-desktop-amd64.iso リストに。

含まれている場合は、完全に空のUSBメモリスティックまたはSDカードを用意して入力します sudo if = ubuntu-16.04-desktop-amd64.iso of = / dev / sdLetter bs = 8M 、of =プロンプトを問題のデバイスの名前に置き換えます。使用できます sudo fdisk -l システムに接続されているすべてのデバイスを検索します。完了したら、ドライブを適切に取り外して、ルーターシステムに接続します。再起動し、リムーバブルストレージからシステムを起動するために必要なキーを押します。 Ubuntu Serverは、テキストベースのncursesプロンプトの数に基づいて比較的簡単にインストールできます。

ただし、この方法でインストールする場合の問題の1つは、リムーバブルメディアをインストールするときにインターネットに接続する必要があり、このようなボックスをネットワークに直接接続すると、セキュリティ上の問題が発生することです。起動して実行するまでファイアウォールサービスを提供するために、古いルーターのネットワークポートの1つに接続します。すぐに、GRUBブートローダーを編集する必要があります。可能であれば、Linuxルーターを既存のマシンからできるだけ早く取り外して、オフラインでインストールを続行します。これにより、既存の接続で発生する可能性のある奇妙なDHCPの問題を防ぐことができます。

ほとんどの場合、オペレーティングシステムの構成プロセス中に追加ソフトウェアをインストールすることは望ましくありません。 GRUBは、デフォルトのUbuntu Serverインストールでサイレントに起動します。つまり、デバッグメッセージは表示されません。起動後にカーソルが点滅し、他に何も表示されない場合は、Ctrl、Alt、F1を押したままにして仮想コンソールに移動します。アカウントにログインして、次のように入力します 代わりにviを使用することもできます。次の行を検索します GRUB_CMDLINE_LINUX_DEFAULT =”静かなスプラッシュ” 引用符で囲まれた静かなスプラッシュワードを削除します。また、次のような行を編集することもできます GRUB_CMDLINE_LINUX =””を含めるとnet.ifnames = 0 biosdevname = 0 ネットワークカードに適切な名前を付けるには、二重引用符で囲みます。ファイルを保存してから、sudo update-grubを実行してブートローダーを更新します。これは、grubファイルが実際にはある種のUEFIパーティションにある可能性があるためです。

次の行を検索します GRUB_CMDLINE_LINUX_DEFAULT =”静かなスプラッシュ” 「」という単語を削除します 静かなスプラッシュ 」は引用符で囲まれています。 fsafa

それは海賊です。

タイプ 須藤ナノ インターフェースファイルを開いて編集し、そこにあるネットワークカードの名前を従来の名前に戻します。 eth0 そして eth1 、ファイルを保存して終了します。ファイルがなくなったら、システムを再起動して、変更が適切に有効になるようにします。

次に、適切なPPPoEおよびOpenSSLソフトウェアをインストールして、インストールを完了する必要があります。 DNS、DHCP、PPPoE、OpenSSLは、次の1つのコマンドラインの問題でインストールできます。

sudo apt-get install bind9 isc-dhcp-server openssl pppoeconf

これには少し時間がかかる場合があり、変更を承認する準備ができているかどうかを尋ねられる場合があります。必ずあなたがそうだと言ってください。すべてが完了するとすぐに、実際にインターネットから切断してオフラインを続行できます。何か問題が発生した場合に備えて、syncコマンドを数回使用して、すべてのバッファーが一緒に同期されていることを確認することをお勧めします。

ISPからユーザー名とパスワードが提供されます。これらは、chap-secretsファイルに入力する必要があります。タイプ ただし、必要に応じてviを使用できることを忘れないでください。ユーザー名とパスワードを引用する必要があります。たとえば、次のことが必要になる可能性があります。

「billy」*「mypass3」

ファイルを保存して、に移動します このディレクトリにproviderというファイルがあります。他の構成ファイルで行っていたようにnanoで開くか、同じ方法で新しい構成ファイルを作成します。これらの各コマンドをファイルの別々の行に配置します。

noipdefault

デフォルトルート

replacedefaultroute

持続する

プラグインrr-pppoe.soeth0

ユーザー「ビリー」

ログインプロンプトを使用したくない場合は、hide-passwordとnoauthを入力することもできます。これは、通常のインターフェースを備えた実際の実稼働マシンとしてではなく、ルーターとして使用するためです。 billyという名前を実際のユーザー名に置き換えてから、ponproviderまたは作成したファイルの名前を実行して接続します。プロセス中に関連するエラーメッセージが表示されるはずですが、ifconfigを使用してppp0またはppp1ネットワークインターフェイスを見つけることができます。これは後で参照する必要があります。ピアにいくつかのDNSサーバーアドレスを要求したい場合は、usepeerdnsを追加して、それらをに渡すことができます。 DNS2およびDNS1というラベルの付いた環境変数として。また、と呼ばれる環境変数を強制します USEPEERDNS 自分自身も1に設定します。 ISPによって割り当てられたものではなく、独自のDNSサーバーを使用したい場合は、 次のようなファイル:

サーバーを再起動するか、新しいPPPoE接続を確立するたびに、これらがここにある必要があります。 ファイルは上書きされます。

ほとんどの場合、MTUは約1500に設定されていますが、PPPoEインターフェースを使用しているため、最高値は約1492、またはそれ以下になります。 ppp0またはppp1システムの最大MTUを決定したとすると、次を使用する必要があります。 ip-upファイルを開き、行を追加します / sbin / ifconfig ppp0 man #### 一番下で、置き換えます #### あなたの正しい値で。よくわからない場合は、1480年頃になる可能性があります。

多くのチュートリアルでは、eth0 WAN接続をDHCPに設定するように指示されていますが、背後で作業しているPPPoE接続のため、手動に設定する必要があります。使用する #WANネットワークインターフェイスの下のコードブロックがautoeth0とifaceeth0 inet manualを読み取り、その下のコードブロックが次のようになるように編集します。

#LANネットワークインターフェース

自動eth1

iface eth1 inet static

アドレス192.168.1.1

ネットマスク255.255.255.0

ルーターはルーターとして機能するためにパケット転送をアクティブにする必要があるため、 次に、 オクトソープ の前に net.ipv4.ip_forward = 1 保存する前に。引用符の下にあります。#次の行のコメントを解除してIPv4のパケット転送を有効にしますが、使用する予定がある場合は、net.ipv6.conf.all.forwarding = 1の前のマークを削除することもできます。 IPv6ルーティング。これはPPPoEシステムでは課題となる可能性があります。

で編集するためにiptablesファイルを開きます コマンドを実行し、次の行を追加します。

ファイルを保存し、続行する前に、nanoまたは使用していたその他のテキストエディタを終了します。 iptablesはLinuxカーネルのメインファイアウォールを構成するため、実際にISP接続を開始する前に、これらのテーブルを順番に並べておくことをお勧めします。

ここで、問題のファイルの権限を変更する必要があるため、sudo-iまたはsudobashを使用してルートプロンプトを取得することをお勧めします。使用したら:

これらの権限が適用されたら、exitと入力し、Enterキーを押して、昇格されたプロンプトから抜け出すことができます。

開く必要がある次の構成ファイル まったく同じ方法で編集します。次の設定を追加して、 オクトソープ ルーターに適切なIPアドレスを使用する:

サブネット###。###。##。#ネットマスク255.255.255.0 {

範囲 ###。###。##。### ###。###。##。###;

オプションルーター###。###。##。#;

オプションdomain-name-servers ###。###。##。#;

オプションbroadcast-address ###。###。##。###;

}

ファイルを保存して閉じます。 SDカードなどを使用している場合は、syncコマンドを発行するもう1つの良い機会です。

使用する必要があります 須藤ナノ もう一度開くには 独自のカスタムルールを含めるファイル。まだPPPoE接続を使用しているため、eth0のデフォルトの代わりにppp0デバイスファイルを使用します。

コメント「」で始まるコードブロックの下 #MSSをMTUサイズにクランプします。 」には次の行が含まれます。

-フォワード-ptcp –tcp-flags SYN、RST SYN -j TCPMSS –clamp-mss-to-pmtu

このルールは、Webページが途中で読み込まれたりタイムアウトしたりしないようにするために必要です。代わりに、MTUとMSSを一緒に固定するため、これらの問題は発生しません。これにより、Linuxカーネルは正しいサイズを推測できますが、必要に応じて実際に指定できます。 「」で始まるコードブロックの下 #MSSサイズを指定します。 」を追加する必要があります:

-フォワード-ptcp –tcp-flags SYN、RST SYN -j TCPMSS –set-mss ####

####セクションを正しいMSS値に置き換えます。あなたは簡単な数学でそれを理解することができます。 MTUからPPPoEヘッダーサイズを減算してから、IPヘッダーとTCPヘッダーを減算します。違いは、MSSの合計サイズです。

LANに登録されている別のコンピューターからこのルーターにSSHにアクセスできるようにする–synオプションを追加するために、SSHサービスルールを変更する必要がある場合があります。 ICMPサービスルールをコメントアウトすると、マシンはpingに応答しなくなります。これにより、実際にはコンピュータが非常にステルスになりますが、このルーターを介したブラウジングの習慣が見えなくなるような、最終的な処理と見なすべきではありません。そうではありませんが、それはあなたを保護するためのもう1つのセキュリティ層です。

使用しているインターフェースまたはPPPoE接続は、ルーターの起動時に実際にはすぐに接続されない場合があるため、システムの起動時に正しく機能するように、短い起動スクリプトを作成することをお勧めします。合計起動時間は約8〜10秒しか追加されないため、実際にはそれだけの価値があります。編集する sudo nanoをもう一度ファイルして、追加します

睡眠3

ifup eth0

睡眠3

ifup eth1

睡眠3

ポンプロバイダー

デフォルトのプロバイダーファイルを置き換えるためにプロバイダーを作成した場合は、プロバイダーをカスタムファイルの名前に置き換える必要があります。多くのルーターは1〜2秒のスリープ時間を必要とするだけなので、起動パフォーマンスを向上させるためにそれを試してみることをお勧めします。とにかく、そもそも再起動するのにそれほど時間はかからないはずです。

これにより、システムが完全に起動した後、実際の仮想コンソールのログインプロンプトが表示される前に、ponコマンドとifupコマンドが実行されます。接続が確立されている場合は何も起こりませんが、接続の1つが正しく機能していない場合、このスクリプトは接続が正しく初期化されていることを確認します。最後のponコマンドはeth0とeth1に依存しているため、常に最後のステップとして配置する必要があります。そうしないと、スクリプトが実際に失敗する可能性があります。

これらすべての変更を行った後、マシンを再起動するとすぐに、Ubuntuサーバーで完全に機能するルーターが機能するようになります。あなたは時々使用したいかもしれません sudo iptables-L 時々ステータスを確認する必要がある場合でも、それ以外の場合は、市販のルーターよりも優れていなくても、すべてが正常に機能します。新しいルーターは必要な他のUbuntuパッケージを実行しますが、システムは追加のユーザーインターフェイスソフトウェアを必要とせずに正しく機能するはずなので、Xサーバーなどをインストールする必要はありません。

読んだ9分