ネットワーク管理者は、ルーターのコストがどれほど高くなるかを知っているでしょう。
複雑なネットワークアーキテクチャを構成している場合は、ネットワーク管理の高度な機能が組み込まれているため、CiscoまたはNetgearルーターが必要になる場合があります。
ただし、会社用に小規模なネットワークを作成する場合は、より安価な代替手段がある可能性があります。
静的ルーターとして機能するように単純なLinuxサーバーを構成できるとしたらどうでしょうか。 ?
これらの機能を使用すると、サイトにRaspberry Piを配置して、2つまたは3つの異なるネットワークを介したトラフィックを処理できます。
このチュートリアルでは、Linuxホストを単純な静的ルーターとして機能するように構成する方法を説明します。
また、設定したルールを理解できるように、サブネット化の基本についても確認します。
前提条件
Linuxサーバーを静的ルーターとして構成するには、ホストでsudo権限が必要です。
確認するために、「-v」オプションを指定して「sudo」コマンドを実行できます。
$ sudo -v
sudo権限をお持ちでない場合は、DebianまたはCentOSディストリビューションでsudoになるためのチュートリアルをご覧ください。
sudo権限を取得したので、静的ルーターを構成するには、基本的に3つのステップがあります:
- ネットワークアーキテクチャのグローバルビューが必要です :ネットワークIPアドレスとは何か、どのネットワークが相互に通信する必要があるか。
- 静的ルーティングテーブルを構成する必要があります Linuxルーター上;
- IP転送を有効にする必要があります パケットがルーターを流れるようにします。
これは非常に長いプログラムなので、これ以上面倒なことはせずに、ネットワークアーキテクチャとネットワークIPアドレスを理解しましょう。
ネットワークアーキテクチャを理解する
簡単にするために、2つのネットワーク間に単純な静的ルーターを構成します。
ネットワークIPアドレスを決定するために、各ネットワークで192.168.200.2/24と192.168.190.2/24の2つのホストを選択しましょう。
2つのホストは同じサブネットに属していません。その結果、2つのホストは直接通信できません。
最初のホストのネットマスクが与えられると、最初のネットワークのIPアドレスが192.168.200.0/24であると判断できます。
同様に、2番目のネットワークのIPアドレスは192.168.190.0/24です。
この情報を使用して、Linuxルーターでネットワークインターフェイスを構成できるようになります。
ルーターネットワークインターフェースの構成
あるネットワークから別のネットワークにパケットをルーティングできるようにするには、2つのネットワークインターフェイスが必要です。1つは最初のネットワークに、もう1つは2番目のネットワークにあります。
チュートリアルを簡単にするために、両方のホストがそれぞれのネットワークのデフォルトゲートウェイとしてルーターを使用していると仮定します。
これは、最初のホストが 192.168.200.1/24のルーターに接続していることを意味します IPアドレスとその2番目のホストが192.168.190.1/24のルーターに接続しています IPアドレス。
まず、ルーティングに使用されるネットワークインターフェイスを特定する必要があります
$ ip link show

このホストには、「enp0s3」と「enp0s8」という名前の2つのネットワークインターフェイスがあります。
注:次のセクションで使用する必要があるため、これらの名前を書き留める必要がある場合があります。
ネットワークインターフェイス名がわかったので、静的IPアドレスを使用してルーターを構成します。
Debianでの静的IPアドレスの設定
DebianまたはUbuntuを実行している場合は、 / etc / network / interfacesにアクセスしてください。 ファイルを作成し、2つのネットワークインターフェイス情報を追加します。
$ sudo nano /etc/network/interfaces
# Defining the first interface
auto <interface_name>
iface <interface_name> inet static
address 192.168.190.1
netmask 255.255.255.0
# Defining the second interface
auto <interface_name>
iface <interface_name> inet static
address 192.168.200.1
netmask 255.255.255.0
注 :「auto」ディレクティブを追加することを忘れないでください。そうしないと、起動時にインターフェイスが起動されません。
変更を適用するには、ファイルを保存してネットワークサービスを再起動します。
$ sudo systemctl restart networking.service
$ sudo systemctl status networking.service
この場合、NetworkManagerを使用していません。ifupdownユーティリティを使用してインターフェースを管理しています(古いディストリビューションとほとんど同じです)。
これで、インターフェイスが稼働しているはずです。「a」オプションを指定して「ip」コマンドを実行することで、インターフェイスを確認できます。
インターフェイスが実行されていないか、「DOWN」とマークされている場合は、「ifup」コマンドを実行してインターフェイスを起動できます。
$ ifup <interface_name>
CentOSでの静的IPアドレスの構成
静的IPアドレスを使用してCentOSホストを構成するには、「/ etc / sysconfig / network-scripts」ディレクトリに移動し、ネットワークインターフェイス用に2つの異なるファイルを作成します。
$ touch ifcfg-enp0s3 && touch ifcfg-enp0s8
静的IPアドレスを構成するには、ファイルに次の情報を追加します。
# Content of enp0s3
BOOTPROTO="static"
IPADDR=192.168.200.1
NETMASK=255.255.255.0
NAME="enp0s3"
ONBOOT="yes"
# Content of enp0s8
BOOTPROTO="static"
IPADDR=192.168.190.1
NETMASK=255.255.255.0
NAME="enp0s8"
ONBOOT="yes"
注 :「 ONBOOT」を追加することを忘れないでください 起動時にインターフェイスを起動するための」ディレクティブ。
ルーターを両方のネットワークに接続したので、2つのネットワークが通信できるように、2つのネットワーク間に静的ルートを追加する必要があります。
ipを使用した静的ルートの作成
ネットワークインターフェースが2つあるからといって、カーネルが1つのインターフェースから別のインターフェースにパケットを自然にルーティングするわけではありません。
まず、「 ip route 」を実行して、サーバー上に存在する可能性のある既存のルートを一覧表示してください。 」コマンド。
$ ip route

既存の静的ルートの削除
ネットワークインターフェースに静的ルーターがすでに定義されている場合は、それらを削除する必要があります。そうしないと、新しいルーターを追加できません。
ルートを削除するには、「削除」オプションを指定して「ip route」コマンドを使用し、削除するルートを指定します。
$ ip route delete <route>
この例では、192.168.190.0/24および192.168.200.0/24ネットワークを指しているルートを削除します。
$ ip route delete 192.168.190.0/24
$ ip route delete 192.168.200.0/24
$ ip route

ルートが削除されたので、興味のあるルートを追加できます。
新しい静的ルートの作成
パケットが最初のネットワークから2番目のネットワークに流れるためには、最初のネットワークカードが2番目のネットワークを指している必要があります。その逆も同様です。
最初に、最初のネットワークアダプタのIPアドレスから2番目のネットワークIPアドレスへのルートを作成できます。
$ ip route add 192.168.200.0/24 via 192.168.190.1
このルールを使用すると、ゲートウェイとして192.168.190.1インターフェイスを使用して着信するすべてのパケットを192.168.200.0ネットワークにリダイレクトできます。
同様に、パケットを逆流させるために、反対方向に別のルートを追加できます。
$ ip route add 192.168.190.0/24 via 192.168.200.1
ルートが追加されたので、「ip route」コマンドを再度実行して、ルートが稼働中でアクティブであることを確認できます。
$ ip route

ルートが追加されたので、ホストが相互にpingを実行できるようにするために構成する必要がある最後のステップが1つあります。
LinuxでのIP転送の有効化
ルートが存在する場合でも、カーネルは構成なしで対応するネットワークインターフェイスにパケットを自然に転送しません。
IP転送を有効にするには、/ etc / sysctl.confファイルにアクセスして、「net.ipv4.ip_forward」パラメーターを探します。
$ vi /etc/sysctl.conf
デフォルトでは、このパラメータは「0」に設定されていますが、IP転送を有効にするために「1」に設定する必要があります。

ファイルを保存し、「sysctl」コマンドを実行してシステム構成を更新します。
$ sysctl -p /etc/sysctl.conf

ネットワーク接続のテスト
IP転送が有効になったので、最初のネットワークのホストから2番目のネットワークのホストにpingを実行できるようになります。
確認するには、最初のネットワーク上のホストに接続し、2番目のネットワーク上にあるホストで「ping」コマンドを実行します。
$ ping <host_second_network>
この場合、「192.168.200.2/24」ホストから「192.168.190.2/24」ホストにpingを実行します。

素晴らしい!最初のホストは2番目のホストにpingを実行できます。
追加のチェックとして、2番目のホストが最初のホストにpingできることを確認できます。
素晴らしい!
セットアップの準備ができたので、両方のネットワークに新しいホストを追加して、2つのネットワーク間の通信を開始できるはずです。
結論
このチュートリアルでは、Linuxシステムを静的ルーターとして簡単に構成する方法を学びました。 。
この設定は、小規模なネットワークインフラストラクチャの構築を計画している場合に非常に役立ちます。 あなたの会社のために。
Ciscoルーターを購入して構成する代わりに、RaspberryPiを静的ルーターとして使用できます。
会社が成長し、より大規模なネットワークインフラストラクチャを計画している場合は、管理対象ルーターを確認できます。 彼らはおそらくあなたのニーズにより多くの柔軟性を提供するでしょう。
Linuxシステム管理に興味がある場合 、ウェブサイトにはそれ専用の完全なセクションがありますので、ぜひチェックしてください!