QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 607|回复: 6

透明代理遇到的问题请求帮助解决!多谢

[复制链接]
发表于 2003-6-18 19:58:15 | 显示全部楼层 |阅读模式
我的网络配置

eth0:192.168.0.1/255.255.255.0为内部网网卡
eth1:210.20.96.2/255.255.255.252为外部网网卡,网关为210.20.96.1

/etc/sysconfig/iptables的文件内容如下:

# /etc/sysconfig/iptables 文件
#
#======================= 古公 =======================

#
# mangle 段
*mangle
REROUTING ACCEPT [0]
:OUTPUT ACCEPT [0]
COMMIT
#

#
# nat 段
*nat
REROUTING ACCEPT [0]
OSTROUTING ACCEPT [0]
:OUTPUT ACCEPT [0]
#
# 为使用 SQUID 作“透明代理”而设定!
#
# 没有指定 网卡、地址:
#[0] -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
#
# 指定 网卡、地址:
[0] -A PREROUTING -s 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
[0] -A PREROUTING -s 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8080
# 将 对于 80、443 端口的访问 重定向到 8080 端口。
#
#
# 这些机器可以走这个机器做网关上 Internet 网。
# 需要在 /etc/sysctl.conf 文件里面修改成 net.ipv4.ip_forward = 1
# 或者 echo 1 > /proc/sys/net/ipv4/ip_forward
# 由于利用 SQUID 实现了“透明代理”,Masq 取消相应的客户地址。
# 这里,只剩下几个需要利用“IP伪装”来上网的机器(可以上 QQ、雅虎通、msn 之类的):
#
#[0] -A POSTROUTING -s 192.168.0.1 -j MASQUERADE
#[0] -A POSTROUTING -s 192.168.0.2 -j MASQUERADE
#[0] -A POSTROUTING -s 192.168.0.3/255.255.255.240 -j MASQUERADE
# 若你的 公网的 IP 地址是固定的,使用这个语句似乎更好些:
[0] -A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to 210.20.96.2
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to 210.20.96.2
COMMIT
#

#
# filter 段
*filter
:INPUT ACCEPT [0]
:FORWARD ACCEPT [0]
:OUTPUT ACCEPT [0]

#
# 屏蔽 来自 microsoft 的站点:
[0] -A INPUT -s 207.46.0.0/255.255.0.0 -j DROP
[0] -A INPUT -d 207.46.0.0/255.255.0.0 -j DROP
#

# 防止IP欺骗:
# 所谓的IP欺骗就是指在IP包中存在着不可能的IP源地址或目标地址。
# eth1是一个与外部Internet相连,而192.168.0.0则是内部网的网络号,
# 也就是说,如果有一个包从eth1进入主机,而说自己的源地址是属于
# 192.168.0.0网络,或者说它的目标地址是属于这个网络的,那么这显
# 然是一种IP欺骗,所以我们使用DROP将这个包丢弃。
[0] -A INPUT -d 192.168.0.0/255.255.255.0 -i eth1 -j DROP
[0] -A INPUT -s 192.168.0.0/255.255.255.0 -i eth1 -j DROP
#
# 同样的,如果有包要通过eth1向Internet,而且它的源地址或目标地址是属于
# 网络192.168.0.0,那么显然也是不可能的。我们仍然使用DROP将它丢弃。
[0] -A OUTPUT -d 192.168.0.0/255.255.255.0 -o eth1 -j DROP
[0] -A OUTPUT -s 192.168.0.0/255.255.255.0 -o eth1 -j DROP
#

# 防止广播包从IP代理服务器进入局域网:
[0] -A INPUT -s 255.255.255.255 -i eth0 -j DROP
[0] -A INPUT -s 224.0.0.0/224.0.0.0 -i eth0 -j DROP
[0] -A INPUT -d 0.0.0.0 -i eth0 -j DROP
# 当包的源地址是255.255.255.255或目标地址是0.0.0.0,则说明它是一个
# 广播包,当广播包想进入eth0时,我们就应该DENY,丢弃它。而240.0.0.0/3
# 则是国际标准的多目广播地址,当有一个源地址是属于多目广播地址的包,
# 我们将用DROP策略,丢弃它。

#
# 屏蔽 windows xp 的 5000 端口(这个端口是莫名其妙的 !)
[0] -A INPUT -p tcp -m tcp --sport 5000 -j DROP
[0] -A INPUT -p udp -m udp --sport 5000 -j DROP
[0] -A OUTPUT -p tcp -m tcp --dport 5000 -j DROP
[0] -A OUTPUT -p udp -m udp --dport 5000 -j DROP
# 原来是用来跑 vpn 的,呵呵,我误解了。
#

#
# 防止 Internet 网的用户访问 SAMBA 服务器:
[0] -A INPUT -s 210.20.96.2 -i eth1 -p tcp -m tcp --dport 137:139 -j DROP
[0] -A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 137:139 -j ACCEPT
[0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 137:139 -j ACCEPT
[0] -A INPUT -p tcp -m tcp --dport 137:139 -j DROP
#

#
# 对于本局域网用户不拒绝访问:
[0] -A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -p tcp -j ACCEPT
[0] -A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -p udp -j ACCEPT
#

#
[0] -A INPUT -i eth1 -p udp -m udp --dport 3 -j DROP
[0] -A INPUT -i eth1 -p tcp -m tcp --dport 3 -j DROP
[0] -A INPUT -i eth1 -p tcp -m tcp --dport 111 -j DROP
[0] -A INPUT -i eth1 -p udp -m udp --dport 111 -j DROP
#

#
[0] -A INPUT -i eth1 -p udp -m udp --dport 587 -j DROP
[0] -A INPUT -i eth1 -p tcp -m tcp --dport 587 -j DROP
#

# 防止 Internet 用户访问 SQUID 的 8080 端口:
[0] -A INPUT -s 210.20.96.2 -i eth1 -p tcp -m tcp --dport 8080 -j DROP
[0] -A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 8080 -j ACCEPT
[0] -A INPUT -s 210.20.96.1/255.255.255.252 -i eth1 -p tcp -m tcp --dport 8080 -j ACCEPT
[0] -A INPUT -p tcp -m tcp --dport 8080 -j DROP
#

# 让人家 ping 不通我 !
[0] -A INPUT -i eth1 -s 192.168.0/24 -p icmp -m icmp --icmp-type 8 -j ACCEPT
[0] -A INPUT -i eth1 -s 210.20.96.2/28 -p icmp -m icmp --icmp-type 8 -j ACCEPT
[0] -A INPUT -i eth1 -p icmp -m icmp --icmp-type 8 -j DROP
#

COMMIT
# ======================= 结束 =======================
# ======================= 古公 =======================


/etc/squid/squid.conf的文件内容:

#服务器配置
http_port 192.168.0.1 8080
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 48 MB
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
visible_hostname No1.proxy
#client_mask 255.255.255.255
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
emulate_httpd_log on
redirect_rewrites_host_header off
connect_timeout 2 minutes


# 访问分类
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80                # http
acl Safe_ports port 21                # ftp
acl Safe_ports port 443 563        # https, snews
acl Safe_ports port 70                # gopher
acl Safe_ports port 210                # wais
acl Safe_ports port 1025-65535        # unregistered ports
acl Safe_ports port 280                # http-mgmt
acl Safe_ports port 488                # gss-http
acl Safe_ports port 591                # filemaker
acl Safe_ports port 777                # multiling http
acl CONNECT method CONNECT
acl mylan src 192.168.0.0/255.255.255.0

#访问控制
http_access allow mylan
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
 楼主| 发表于 2003-6-18 20:42:52 | 显示全部楼层
大家帮帮忙呀
回复

使用道具 举报

发表于 2003-6-19 10:42:29 | 显示全部楼层
好复杂!
回复

使用道具 举报

 楼主| 发表于 2003-6-19 18:21:46 | 显示全部楼层
我是按照你发的一篇帖子设置的呀,能说一下问题出在哪里么?多谢
回复

使用道具 举报

发表于 2003-6-20 09:09:15 | 显示全部楼层
http_port 192.168.0.1 8080
没有冒号
回复

使用道具 举报

 楼主| 发表于 2003-6-20 20:20:57 | 显示全部楼层
thanks:)

我这样配置后用代理还是能够正常的!

我明天到单位再试试看!如果成功后,我想我会把我的心得写出来!◎
回复

使用道具 举报

 楼主| 发表于 2003-6-23 10:36:41 | 显示全部楼层
我的问题解决了,(犯了一个低级错误))原来是客户机的dns没有设置!如果要使转发能成功,需要设置网关和dns!希望以后不会发生这样的情况!

谢谢各位的热情帮助!thanks
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 10:47 , Processed in 0.081403 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表