Webサービス(Webサーバー、API、gitlab ...)をホストするデュアルネットワークRHEL8エンタープライズシステムで構成を設定したいと思います。マシンには、ローカルネットワーク用のeno1と企業ネットワーク用のeno2の2つのネットワークインターフェイスがあります。目標は、両方のネットワークでWEBサービスを提供することです。 WEBサービスはWEBでも要求でき、ローカルまたは企業ネットワークの他のサーバーにも要求できる必要があります。
以下は、現在のサーバーが「Webサーバー」である単純化されたネットワーク図です。
Webインターフェースの構成:
# eno1 interface
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME=eno1
UUID=40eefeb5-cf77-4332-9b13-5efff8ca1191
DEVICE=eno1
ONBOOT=yes
IPADDR=192.168.0.4
NETMASK=255.255.255.0
PREFIX=24
GATEWAY=192.168.0.254
IPV4_ROUTE_METRIC=100
# eno2 interface
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME=eno2
UUID=b0ba0e02-f62a-48bb-95b3-e4411316d102
DEVICE=eno2
ONBOOT=yes
IPV4_ROUTE_METRIC=100
ルーティングテーブルが自動的に作成されました(ip Route)。
default via 172.26.254.254 dev eno2 proto dhcp src 172.26.0.1 metric 100
default via 192.168.0.254 dev eno1 proto static metric 100
172.26.0.0/16 dev eno2 proto kernel scope link src 172.26.0.1 metric 100
192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.4 metric 100
予想される動作と実際の動作を詳しく説明する前に最後に行うことは、ローカルネットワークのVLAN間のルーティングが実装されることです。これは、Webサービスに必要なすべてのポートの双方向通信を考慮し、この場合に使用されるコンピュータ間のICMPプロトコルも考慮します。
何が起こったのか:
これは、NetworkManagerの起動時に望ましい動作です。
- Webサービスは、VLAN 1のすべてのサーバー(サーバーBなど)からアクセスできます。
- Webサービスは、すべてのVLAN 2サーバー(サーバーAなど)からアクセスできます。
- Webサービスは、サーバーDまたは企業ネットワークの他のサーバーからアクセスできます。
- Webサーバーはネットワークにアクセスできます。
- WebサーバーはGitlabサーバーとLDAPサーバーを要求できます
最後に開始されたインターフェイスに応じて、2つの異なる動作があります。
最後に表示されたインターフェイスが eno1(ローカルネットワークインターフェイス)の場合:
- Web サービスは VLAN 1 のすべてのサーバからアクセス可能です。
- WebサービスいいえすべてのVLAN 2サーバーからアクセス可能
- Webサービスは、サーバーDまたは企業ネットワークの他のサーバーからアクセスできます。
- ネットワークサーバーいいえネットワークにアクセスできる
- ネットワークサーバーいいえGitlabサーバーとLDAPサーバーを要求する機能
最後に開始されたインターフェイスが eno2 (企業ネットワーク インターフェイス) の場合:
- WebサービスいいえVLAN 1のすべてのサーバーからアクセス可能
- すべてのVLAN 2サーバーからアクセス可能なWebサービス
- Webサービスは、サーバーDまたは企業ネットワークの他のサーバーからアクセスできます。
- Webサーバーはネットワークにアクセスできます。
- WebサーバーはGitlabサーバーとLDAPサーバーを要求できます
私のテスト:
ゲートウェイは維持し、次のルーティングを変更しながらeno1のサブネットマスクを192.168.0.0/22に変更しました。
192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.4 metric 100
渡す
192.168.0.0/22 dev eno1 proto kernel scope link src 192.168.0.4 metric 100
しかし、問題はここに残っています。
また、インターフェイスメトリックを試してみて、192.168.0.0/24デフォルトゲートウェイを削除し、カスタムルーティングディレクティブを使用してネットワークスクリプトフォルダにルールとルーティングファイルを追加してみましたが、結論が得られませんでした。
よろしくお願いします!
答え1
私の考えでは、あなたが必要以上に仕事をより複雑にしているようです。
私がやりたいことは、1つのデフォルトルートを追加し、それをインターネット/アップストリームルーターにルーティングすることです。他のデフォルトパスは必要ありません。
VLAN2上のデバイスへの追加ルートの追加
ip add route -n net 192.168.2.0/24 via 192.168.2.254 dev eno1
これは、北のスイッチがVLANをルーティングできると仮定し、実際にはスイッチとその設定によって異なります。
北のスイッチやサーバーは192.168.0.0/24ネットワークに接続する方法を知る必要がありますが、すでに知っているようです。
私はそれにもう何もないと思います。
VLAN2に切り替えることが問題の場合は、サーバーの北側に別のIPを追加し、サーバーがそのパケットにVLAN2タグを付けてネットワークに許可するようにします。