web-dev-qa-db-ja.com

Ubuntuルーター/ゲートウェイ上のSquidTPROXY

さて、LANのルーター/ゲートウェイとして機能するUbuntuボックスがあります。 3枚のネットワークカードで、2枚はWAN、1枚はローカルネットワーク。WANと必要に応じてフェイルオーバーの間で負荷分散するように設定されています。そして、ああ、方程式にsquidを追加する必要がありました。現在、http/sポートを次のようにsquidポートにnatリダイレクトするように設定されています。

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3126
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port 3127

私はそれがうまく機能していると信じています...しかし私はそこで止まりたくありません。 TPROXYを試してみたいのですが、うまくいかないようです。 access.logにトラフィックがなく、クライアントがサイトへのアクセスをタイムアウトしています。

三角ルーティングは問題外であり、ブリッジを使用するべきではないと思いますか?それで、以下はそれをする私の試みです:

iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j TPROXY --on-ip 0.0.0.0 --on-port 3126 --tproxy-mark 0x1/0x1
iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 443 -j TPROXY --on-ip 0.0.0.0 --on-port 3127 --tproxy-mark 0x1/0x1

# this is supposed to mark wan traffic going back to lan?
iptables -t mangle -A PREROUTING -i eth2 -p tcp -d 192.168.1.0/24 -j MARK --set-mark 0x1/0x1
iptables -t mangle -A PREROUTING -i eth3 -p tcp -d 192.168.1.0/24 -j MARK --set-mark 0x1/0x1

ip rule add fwmark 0x1/0x1 table 100
ip route add local 0.0.0.0/0 dev lo table 100

さて、TPROXYが私のセットアップでさえ可能かどうかはわかりません。それが不可能なら、私は今のところあきらめなければならないでしょう。しかし、もしそうなら、誰かがその方法を知っているでしょうか?

ネットワークトポロジで、ルーターの内部にあるSquidボックスを使用して、パケットをSquidに渡す場合。次に、いくつかの構成を明示的に追加する必要があります。 どのような構成ですか?

ありがとう。

1

私はそれが機能したと思います-私はウィキで迂回チェーンを使用しましたが、インターネット接続用の2つのインターフェイスを明示的に定義しました:)

興味のある方のために、これが私の最終的なルーティング/ファイアウォールルールです: ここをクリック

1