Centos 7でSquidのiptableルール

Centos 7でSquidのiptableルール

私のプロキシサーバーには、eth0とeth1という2つのインターフェイスがあります。ここで、eth0はローカル(プライベート)ネットワークに接続し、eth1はインターネットに接続します。私のイカのバージョンは3.3.8で、centos 7は私のオペレーティングシステムです。透明プロキシを設定する必要があります。私はこれに単一の変更が必要であることを知っています。

http_port 8080 intercept

これを行いましたが、まだインターネットにアクセスできず、squid access.logファイルに情報がありません。ただし、クライアントでプロキシを有効にすると、イカログがいっぱいになります。

iptableルールが欠落しているようです。クライアントがプロキシ(透明モード)を介してインターネットにアクセスできるようにするには、これらの規則は何ですか?

2つのルールを適用しました。

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

与えられた2つのルールを適用した後、tcpdumで次のような結果が得られました。

15:56:53.858317 ARP, Request who-has localhost.localdomain tell 192.168.57.100, length 46
15:56:53.858330 ARP, Reply localhost.localdomain is-at 0a:00:27:00:00:01 (oui Unknown), length 28
15:56:53.859825 IP 192.168.57.100.55833 > localhost.localdomain.domain: 17156+ A? www.google.com. (32)
15:56:53.859866 IP localhost.localdomain > 192.168.57.100: ICMP localhost.localdomain udp port domain unreachable, length 68
15:56:53.860006 IP 192.168.57.100.55833 > localhost.localdomain.domain: 56135+ AAAA? www.google.com. (32)

ベストアンサー1

次のiptablesルールを試してください。

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

masquerade =プライベートIPがインターネットにアクセスできるようにする

--dport 80 -j リダイレクト --to-port 8080=プライベート IP から Web にアクセスしようとするすべての要求は、プロキシ サーバーのポート 8080 にリダイレクトされます。

おすすめ記事