CentOS - NIC #2 から NIC #1 のデフォルト ゲートウェイを経由して転送される接続を防止する

CentOS - NIC #2 から NIC #1 のデフォルト ゲートウェイを経由して転送される接続を防止する

2 つの NIC (eth0 と eth1) を備えた CentOS 7 システムがあります。

NIC 構成:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
      inet 10.43.96.210  netmask 255.255.255.192  broadcast 10.43.96.255

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
      inet 146.81.34.150  netmask 255.255.255.128  broadcast 146.81.34.255

現在のルーティング テーブル:

Kernel IP routing table
Destination    Gateway        Genmask         Flags Metric Ref    Use Iface
0.0.0.0        10.43.96.193   0.0.0.0         UG    100    0        0 eth0
10.43.96.192   0.0.0.0        255.255.255.192 U     100    0        0 eth0
146.81.34.0    0.0.0.0        255.255.255.128 U     0      0        0 eth1
146.81.34.128  146.81.34.254  255.255.255.128 UG    0      0        0 eth1
169.254.0.0    0.0.0.0        255.255.0.0     U     1003   0        0 eth1

NIC eth0 は 10.43.96.x ネットワークに接続されており、デフォルト ゲートウェイ (10.43.96.193) は 10.43.96.x ネットワーク内のコンピューターからパブリック インターネットへの送信接続に使用されます。

NIC eth1 は 146.81.34.128/25 ネットワーク (NIC IP 146.81.34.150、ネットマスク 255.255.255.128、GW 146.81.34.254、これらは顧客によって定義されます) に接続されており、IP 146.81.34.11 のサーバーにアクセスする必要があります。

146.81.0.0/16 ネットワークの他のサーバーは、ping (ゲートウェイ 146.81.34.254 経由) を使用して私のサーバー (146.81.34.150) に到達する必要があります。たとえば、146.81.23.95 のサーバーは私のサーバーに ping する必要があります。そのネットワークのネットワークとルーティング構成の詳細についてはわかりませんが、ゲートウェイ 146.81.34.254 を使用するように言われました。

現在の問題:

顧客は、146.81.0.0/16 ネットワーク (146.81.xx) の他のサーバーは 146.81.34.128/25 ネットワークに正しくアクセスできる (したがって、ping で 146.81.34.150 のサーバーにアクセスできる) と言っています。これは問題ありません。

ただし、146.81.0.0/16 ネットワーク内の他のサーバーは、デフォルト ゲートウェイ (10.43.96.193) を使用して、私のサーバー経由で他の IP アドレス (146.81.34.128/25 以外のネットワーク内) にアクセスしようとしますが、これは防止されるはずです。

質問:

146.81.0.0/16 ネットワーク内のサーバーからこのサーバー経由で転送される接続を防ぐにはどうすればよいですか? サーバーのデフォルト ゲートウェイ (10.43.96.193) は使用しないでください。

答え1

146.81.0.0/16 ネットワーク内のサーバーからこのサーバー経由で転送される接続を防ぐにはどうすればよいですか?

最も簡単な選択肢は完全にsysctl 経由で IP 転送を無効にします。

  • net.ipv4.conf.all.forwarding=0
  • net.ipv6.conf.all.forwarding=0

もしいくつかの特定の種類のトラフィックはサーバー経由で転送する必要がありますが、他の種類のトラフィックはサーバー経由で転送する必要はありません。ファイアウォールを使用します。必要なトラフィックを受け入れ、残りを拒否 (またはドロップ) するルールを追加するだけです。

  • iptables にはFORWARDまさにこの目的のためのチェーンがあります。
  • nft にも同様にforwardフックがあります。

関連情報