子接口上的透明代理监听

子接口上的透明代理监听

我在同一个盒子上安装了 iptables 和 squid。当我更改过滤表上的规则时,HTTP 流量似乎没有通过透明代理。

当 http 流量通过代理重定向并在 Internet 上转发时,过滤 http 流量的最佳点是什么?

拓扑:

Internet < eth0 < eth1
                  eth1.10

路由表

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
192.168.10.0    *               255.255.255.0   U     0      0        0 eth1.10

网络状态:

tcp        0      0 192.168.10.254:3128    0.0.0.0:*               LISTEN 

乌贼:

http_port 192.168.10.254:3128 intercept
acl hq src 192.168.10.0/24
acl http port 80
http_access allow hq
http_access deny

nat 表:

-A PREROUTING -i eth1.10 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.254:3128   
-A POSTROUTING -o eth0 -j MASQUERADE

过滤表

:INPUT ACCEPT 
:FORWARD ACCEPT 
:OUTPUT ACCEPT

此方法有效,因为默认策略是 ACCEPT。以下是我的过滤规则,不适用于 squid。

过滤表

:INPUT DROP 
:FORWARD DROP 
:OUTPUT DROP 

-A INPUT -s 192.168.10.0/24 -i eth1.10 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT    
-A INPUT -i lo -j ACCEPT    
-A INPUT -i eth1.10 -p udp --dport 53 -j ACCEPT    
-A INPUT -i eth0 -p udp --sport 53 -j ACCEPT    
-A FORWARD -i eth1.10 -o eth0 -j ACCEPT    
-A FORWARD -i eth0 -o eth1.10 -j ACCEPT    
-A OUTPUT -o eth1.10 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT    
-A OUTPUT -o lo -j ACCEPT    
-A OUTPUT -o eth1.10 -p udp --sport 53 -j ACCEPT    
-A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT

如果您需要更多信息,请告诉我,谢谢。

相关内容