ルーターとプロキシとして機能する Linux ボックスを介して 2 つのサブネットをインターネットにルーティングする方法

ルーターとプロキシとして機能する Linux ボックスを介して 2 つのサブネットをインターネットにルーティングする方法

ルーター、DHCP サーバー、プロキシとして機能する Linux ボックスがあります。LAN 側では、十分な IP アドレスを持つ 2 つのサブネットが必要です。必要な範囲は 192.168.100.0 - 192.168.101.255 です。両方のサブネットが Linux ボックス経由でインターネットにアクセスできる必要があります。

eth1 (em1) では、インターネット モデムを静的 IP に接続しています。

eth2 (em2) では、次の設定で LAN を接続しています。

  • IPアドレス: 192.168.100.1
  • ブロードキャストアドレス: 192.168.101.255
  • サブネットマスク: 255.255.254.0
  • デフォルトゲートウェイ: 192.168.100.1

私のルーティングテーブルは次のとおりです。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         56343ffe.rev.st 0.0.0.0         UG    0      0        0 em1
86.52.0.0       *               255.255.192.0   U     1      0        0 em1
192.168.100.0   *               255.255.254.0   U     1      0        0 em2
192.168.101.0   *               255.255.255.0   U     0      0        0 em2

ポート 80 からのすべてのトラフィックは、shorewall のプロキシにリダイレクトされます。これは正常に機能し、すべてのホストが Web サイト、YouTube などにアクセスできます (ポート 80)。他のすべてのトラフィックはマスカレードされますが、他のポートへのトラフィックには問題があります (例: Microsoft の DRM ライセンス サーバー、AVG 更新サーバー)。到達不能!? ただし、ルーティング テーブルで何かが誤って構成されていると思います。私のファイアウォールは、ポート 80 トラフィックをリダイレクトした後、すべての送信トラフィックを受け入れます。

編集 - ファイアウォールからの出力 (インターネット アドレスの数字を xxx.xxx に置き換えました):

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
dnat       all  --  anywhere             anywhere

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
em1_masq   all  --  anywhere             anywhere

Chain dnat (1 references)
target     prot opt source               destination
loc_dnat   all  --  anywhere             anywhere

Chain em1_masq (1 references)
target     prot opt source               destination
SNAT       all  --  192.168.100.0/24     anywhere             to:86.52.xxx.xxx
SNAT       all  --  192.168.101.0/24     anywhere             to:86.52.xxx.xxx

Chain loc_dnat (1 references)
target     prot opt source               destination
REDIRECT   tcp  --  192.168.100.0/24     anywhere             multiport dports http,squid redir ports 8080
REDIRECT   tcp  --  192.168.101.0/24     anywhere             multiport dports http,squid redir ports 8080

答え1

NAT (マスカレード) する必要があります。
そして、そこで失敗します。
マスカレードされているとおっしゃいますが、明らかに機能していません。
(ポート 80 はプロキシされるため機能します。)

NAT またはファイアウォール (おそらく両方) の一部の設定が正しくありません。

PS 最後のルーティング ラインは必要ありません。その上にあるラインで既にカバーされています。

関連情報