RHCE シリーズ: 静的ネットワーク ルーティングをセットアップおよびテストする方法 - パート 1
RHCE (Red Hat 認定エンジニア) は Red Hat 社の認定資格であり、オープンソースのオペレーティング システムとソフトウェアを企業コミュニティに提供します。また、トレーニング、サポート、企業向けのコンサルティングサービス。
この RHCE (Red Hat 認定エンジニア) はパフォーマンスベースの試験 (コード名 EX300) であり、追加のスキル、知識、能力を持っています。 Red Hat Enterprise Linux (RHEL) システムを担当する上級システム管理者に必要です。
重要:RHCE 認定を取得するには、Red Hat 認定システム管理者 (RHCSA) 認定が必要です。
以下は、この RHCE シリーズで取り上げる試験のRed Hat Enterprise Linux 7 バージョンに基づく試験の目的です。
料金を確認し、あなたの国で試験に登録するには、RHCE 認定ページを確認してください。
RHCE シリーズのこのパート 1 と次回では、静的ルーティング、パケット フィルタリング、およびネットワーク アドレス変換の原理が適用される基本的でありながら典型的なケースを紹介します。遊びに。
これらについて詳しく説明するのではなく、最初のステップを踏み、そこから構築するのに役立つ方法でこれらのコンテンツを整理することに注意してください。
Red Hat Enterprise Linux 7 の静的ルーティング
最新のネットワーキングの驚異の 1 つは、比較的少数で、同じ建物、都市、国、または大陸にある 1 つの部屋または複数のマシンに限定されているコンピュータのグループを接続できるデバイスが豊富に利用できることです。
ただし、どのような状況でもこれを効果的に達成するには、ネットワーク パケットをルーティングする必要があります。つまり、パケットが送信元から宛先までたどるパスを何らかの方法で制御する必要があります。
静的ルーティングは、デフォルト ゲートウェイと呼ばれるネットワーク デバイスによって提供されるデフォルト以外のネットワーク パケットのルートを指定するプロセスです。静的ルーティングを通じて特に指定されていない限り、ネットワーク パケットはデフォルト ゲートウェイに送られます。静的ルーティングの場合、他のパスはパケットの宛先などの事前定義された基準に基づいて定義されます。
このチュートリアルでは次のシナリオを定義しましょう。 Red Hat Enterprise Linux 7 ボックスをルーター #1 [192.168.0.1] に接続して、192.168.0.0/24 のインターネットとマシンにアクセスします。
2 番目のルーター(ルーター #2) には 2 つのネットワーク インターフェイス カードがあります。enp0s3 もインターネットにアクセスして通信するために ルーター #1 に接続されています。 RHEL 7 ボックスと同じネットワーク内の他のマシンを使用し、もう一方 (enp0s8) は、内部サービスが存在する 10.0.0.0/24 ネットワークへのアクセスを許可するために使用されます。ウェブサーバーやデータベースサーバーなど。
このシナリオを次の図に示します。
この記事では、RHEL 7 ボックスでルーティング テーブルを設定し、ルーター #1 と内部ネットワークの両方を介してインターネットにアクセスできることを確認することに重点を置きます。 ルーター #2 経由。
RHEL 7 では、コマンド ラインを使用してデバイスとルーティングを構成および表示するには、ip コマンドを使用します。これらの変更は実行中のシステムですぐに有効になりますが、再起動後は永続的ではないため、/etc 内の ifcfg-enp0sX および route-enp0sX ファイルを使用します。 /sysconfig/network-scripts を使用して構成を永続的に保存します。
まず、現在のルーティング テーブルを出力しましょう。
ip route show
上記の出力から、次の事実がわかります。
- デフォルト ゲートウェイの IP アドレスは 192.168.0.1 で、enp0s3 NIC 経由でアクセスできます。
- システムが起動すると、(念のため) 169.254.0.0/16 への zeroconf ルートが有効になりました。簡単に言うと、マシンが DHCP 経由で IP アドレスを取得するように設定されているにもかかわらず、何らかの理由で取得できなかった場合、このネットワーク内のアドレスが自動的に割り当てられます。要するに、このルートにより、DHCP サーバーから IP アドレスを取得できなかった他のマシンとも enp0s3 経由で通信できるようになります。
- 最後に、重要なことですが、IP アドレスが 192.168.0.18 である enp0s3 を介して、192.168.0.0/24 ネットワーク内の他のボックスと通信できます。 >。
これらは、そのような設定で実行する必要がある一般的なタスクです。特に指定がない限り、次のタスクはルーター #2 で実行する必要があります。
すべての NIC が正しく取り付けられていることを確認してください。
ip link show
そのうちの 1 つがダウンしている場合は、それを起動します。
ip link set dev enp0s8 up
そして、10.0.0.0/24 ネットワークの IP アドレスを割り当てます。
ip addr add 10.0.0.17 dev enp0s8
おっとっと! IPアドレスを間違えてしまいました。前に割り当てたものを削除してから、正しいもの (10.0.0.18) を追加する必要があります。
ip addr del 10.0.0.17 dev enp0s8
ip addr add 10.0.0.18 dev enp0s8
ここで、宛先ネットワークへのルートは、それ自体がすでに到達可能なゲートウェイを介してのみ追加できることに注意してください。そのため、RHEL 7 ボックスが通信できるように、192.168.0.0/24 の範囲内の IP アドレスを enp0s3 に割り当てる必要があります。
ip addr add 192.168.0.19 dev enp0s3
最後に、パケット転送を有効にする必要があります。
echo "1" > /proc/sys/net/ipv4/ip_forward
そして、ファイアウォールを停止/無効にします (当面の間 – 次の記事でパケット フィルタリングについて説明するまで)。
systemctl stop firewalld
systemctl disable firewalld
RHEL 7 ボックス (192.168.0.18) に戻り、10.0.0.0/24 から 192.168.0.19 へのルートを設定しましょう。 (ルーター #2 の enp0s3):
ip route add 10.0.0.0/24 via 192.168.0.19
その後、ルーティング テーブルは次のようになります。
ip route show
同様に、10.0.0.0/24 にアクセスしようとしているマシンに対応するルートを追加します。
ip route add 192.168.0.0/24 via 10.0.0.18
ping を使用して基本的な接続をテストできます。
RHEL 7 ボックスで次のコマンドを実行します。
ping -c 4 10.0.0.20
ここで、10.0.0.20 は、10.0.0.0/24 ネットワーク内の Web サーバーの IP アドレスです。
Web サーバー (10.0.0.20) で、次を実行します。
ping -c 192.168.0.18
ここで、192.168.0.18 は、RHEL 7 マシンの IP アドレスです。
あるいは、tcpdump (yum install tcpdump でインストールする必要がある場合があります) を使用して、RHEL 7 ボックスと Web サーバー (10.0.0.20) の間の TCP 経由の双方向通信を確認することもできます。 です。
そのためには、次のコマンドを使用して最初のマシンでログインを開始しましょう。
tcpdump -qnnvvv -i enp0s3 host 10.0.0.20
同じシステム内の別の端末から、Web サーバーのポート 80 にtelnetしてみましょう (Apache がそのポートでリッスンしていると仮定します。それ以外の場合は、次のコマンドの正しいポート):
telnet 10.0.0.20 80
tcpdump ログは次のようになります。
接続が適切に初期化されている場所。RHEL 7 ボックス (192.168.0.18) と Web サーバー (10.0.0.20)。
システムを再起動すると、これらの変更は消えてしまうことに注意してください。これらを永続的にしたい場合は、上記のコマンドを実行したのと同じシステムで、次のファイルを編集 (存在しない場合は作成) する必要があります。
このテスト ケースには厳密には必要ありませんが、/etc/sysconfig/network にはシステム全体のネットワーク パラメータが含まれていることを知っておく必要があります。一般的な /etc/sysconfig/network は次のようになります。
Enable networking on this system?
NETWORKING=yes
Hostname. Should match the value in /etc/hostname
HOSTNAME=yourhostnamehere
Default gateway
GATEWAY=XXX.XXX.XXX.XXX
Device used to connect to default gateway. Replace X with the appropriate number.
GATEWAYDEV=enp0sX
各 NIC に特定の変数と値を設定する場合 (ルーター #2 で行ったように)、/etc/sysconfig/network-scripts/ifcfg-enp0s3 と を編集する必要があります。 /etc/sysconfig/network-scripts/ifcfg-enp0s8。
私たちのケースに続いて、
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.0.19
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NAME=enp0s3
ONBOOT=yes
そして
TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.0.0.18
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
NAME=enp0s8
ONBOOT=yes
それぞれ enp0s3 と enp0s8 の場合。
クライアント マシン (192.168.0.18) のルーティングに関しては、/etc/sysconfig/network-scripts/route-enp0s3 を編集する必要があります。
10.0.0.0/24 via 192.168.0.19 dev enp0s3
ここでシステムを再起動すると、テーブルにそのルートが表示されるはずです。
まとめ
この記事ではRed Hat Enterprise Linux 7の静的ルーティングの基本について説明しました。シナリオは異なる場合がありますが、ここで紹介するケースは、このタスクを実行するために必要な原則と手順を示しています。最後に、ここで取り上げるトピックの詳細については、The Linux Documentation Project サイトのLinux のセキュリティと最適化セクションの第 4 章を参照することをお勧めします。
Linux のセキュリティと最適化: ハッキング ソリューション (v.3.0) に関する無料の電子ブック – この 800 以上の電子ブックには、Linux セキュリティのヒントと、それらを安全かつ簡単に使用する方法の包括的なコレクションが含まれていますLinux ベースのアプリケーションとサービスを構成します。
ダウンロード中
次の記事では、RHCE 認定に必要なネットワークの基本スキルをまとめるために、パケット フィルタリングとネットワーク アドレス変換について説明します。
いつものように、私たちはあなたからのご連絡を楽しみにしていますので、以下のフォームを使用して、お気軽に質問、コメント、提案を残してください。