ルーター、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 最後のルーティング ラインは必要ありません。その上にあるラインで既にカバーされています。