1

2 つの NIC を持つ Linux マシンでのトラフィック ルーティングに関して質問があります。NIC の 1 つは DMZ ネット ( 10.1.9.0/24) 上にあり、もう 1 つはローカル ネット ( 10.1.0.0./21)上にあります。

default via `10.1.4.1` dev eth0 
default via `10.1.9.1` dev eth1  metric 100 
`10.1.0.0/21` dev eth0  proto kernel  scope link  src `10.1.0.132` 
`10.1.9.0/24` dev eth1  proto kernel  scope link  src `10.1.9.25` 

サーバーを Web プロキシとして使用します。dmz インターフェイス (eth1) は、外部インターネット アドレスの 1 つからトラフィックを取得します。そのため、メインのファイアウォール/ルーターには、リクエストを に変換する NAT ルールが存在します10.1.9.25。これは正常に機能し、リクエストが受け入れられ、応答されます。この状況では、接続は eth1 で確立され、応答も eth1 で行われます。

問題: ローカル ネットワーク内から Web サーバーにアクセスする場合、ファイアウォールは外部 IP を DMZ IP に変換します。ローカル ネットワーク内から DMZ サーバーへの接続を確立できますが、その逆は確立できません。この場合、ローカル ネットから DMZ への接続がインスタンス化されますが、Web サーバーは応答しません。

sudo tcpdump -i eth1 port 443 and src host 10.1.1.154
10:09:35.626450 IP 10.1.1.154.48870 > 10.1.9.25.https: Flags [S], seq 2491947547, win 14600, options [mss 1460,sackOK,TS val 2066949 ecr 0,nop,wscale 4], length 0
10:09:35.825619 IP 10.1.1.154.48871 > 10.1.9.25.https: Flags [S], seq 1827990665, win 14600, options [mss 1460,sackOK,TS val 2067011 ecr 0,nop,wscale 4], length 0
10:09:36.575239 IP 10.1.1.154.48870 > 10.1.9.25.https: Flags [S], seq 2491947547, win 14600, options [mss 1460,sackOK,TS val 2067199 ecr 0,nop,wscale 4], length 0
10:09:36.823264 IP 10.1.1.154.48871 > 10.1.9.25.https: Flags [S], seq 1827990665, win 14600, options [mss 1460,sackOK,TS val 2067261 ecr 0,nop,wscale 4], length 0
10:09:38.579373 IP 10.1.1.154.48870 > 10.1.9.25.https: Flags [S], seq 2491947547, win 14600, options [mss 1460,sackOK,TS val 2067700 ecr 0,nop,wscale 4], length 0
10:09:38.827290 IP 10.1.1.154.48871 > 10.1.9.25.https: Flags [S], seq 1827990665, win 14600, options [mss 1460,sackOK,TS val 2067762 ecr 0,nop,wscale 4], length 0

SSH も同じで、インターフェイスは接続を受け取りますが、応答しません。問題がどこにあるのか正確にはわかりません (サーバー上またはファイアウォール/ルーターのセットアップ上)。DMZ には正常に動作する他のサーバーがあり、ここのシステム管理者はネットワーク構成が同じであると言っています。

この問題の診断を手伝ってくれる人はいますか?

4

1 に答える 1

0

あなたの問題はここにあります

default via `10.1.4.1` dev eth0 
default via `10.1.9.1` dev eth1  metric 100 
`10.1.0.0/21` dev eth0  proto kernel  scope link  src `10.1.0.132` 
`10.1.9.0/24` dev eth1  proto kernel  scope link  src `10.1.9.25`

IP は同じルーティング テーブルで複数のデフォルト ルートを使用することはできません...考えてみてください。シェルから 4.2.2.2 に ping を実行する場合、どのインターフェイスを使用する必要がありますか?

The Linux Advanced Routing and Traffic Control Howtoには、複数のルーティング テーブルを実装するために使用できるいくつかのトリックがありますが、これにより、維持したいよりも複雑になることがよくあります。

最も簡単な解決策は、すべての内部企業ネットワークを 1 つのスーパーネットに集約し、そのルートを割り当てることができるインターフェイスを選択することです...たとえば、このルートは、Linux マシンに直接接続されていないすべての 10.xxx ネットワークをカバーします.. .

route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.1.0.132

次に、デフォルトを削除しますeth0

于 2012-11-23T14:45:13.403 に答える