QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: gugong

透明代理 (Iptables 与 Squid)

  [复制链接]
发表于 2003-12-10 10:10:13 | 显示全部楼层
再次求助gugong大哥,能否再给偶点明确的提示,因为我把你留在上面的语句加入脚本之后,还是没有成功呢?
回复

使用道具 举报

发表于 2003-12-10 10:26:10 | 显示全部楼层
[quote:7ec4c3f4ab=""]iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp ! -d 192.168.0.2 --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp ! -d 192.168.0.2 --dport 443 -j REDIRECT --to-ports 3128[/quote]gugong兄,还是没有对呢?
回复

使用道具 举报

 楼主| 发表于 2003-12-10 13:28:26 | 显示全部楼层
iptables -t nat -I PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 -d 192.168.0.2 --dport 80 -j ACCEPT(因为我的这台代理装了,web服务,从网上看到的说是要添加这一句,不知对否?)
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 --dport 80 -j DNAT --to 192.168.0.2:3128(这句应该是转发所有局域网内的数据包到内网卡吧,呵呵一知半解啊)
iptables -t nat -A POSTROUTING -o eth0 -p tcp -s 192.168.0.0/24 -j SNAT --to 192.168.0.2


不需要你的这三句,而是替换成我上面的这两句,你试一试。
回复

使用道具 举报

发表于 2003-12-20 16:43:45 | 显示全部楼层
求教网关,代理不同机的透明web代理的iptable写法
网关为双网卡,其对外ip有个(这里需要不到),eth1为内部网络,ip为192.168.0.1 ;web代理机器为内部网络某机,ip为192.168.0.2,代理端口为3128,经测试作不透明网关时候能让内部其他机器成功代理出去。

现在麻烦的是我想实现透明代理。。。在网关机器上尝试用iptables(已测试其工作正常,为此我特别在网关机器上架设了一个临时squid,用 /sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 命令工作完全正常,但是用192.168.0.2的时候就不知道该怎么写了。。。)

我分别尝试了使用以下两句
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:3128 -s ! 192.168.0.2

/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 192.168.0.2:3128 -s ! 192.168.0.2

/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.0.2:3128 -s ! 192.168.0.2

三种写法均不能成功,现特向各位朋友求教了。。。
回复

使用道具 举报

发表于 2003-12-25 18:18:44 | 显示全部楼层
各位高手,我现在想用我的机子 REDHAT 9.0 WORKSTATION做为服务器,和2台WINDOWS机子共享上网。拥有ADSL一条,HUB一个,网卡3块(每台机子一个),请问如何实现。很急拜托给我帮助。还有,我的网卡的地址是 192.168.1.3  ,当我用 ifconfig  eth0 192.168.0.254 ,可是后来reboot后,地址还是 192.168.1.3,请问这是怎么回事,如何处理,谢谢。(大菜鸟)
QQ: 151018383
EMAIL : [email protected]
回复

使用道具 举报

发表于 2003-12-25 22:19:13 | 显示全部楼层
还有,我的网卡的地址是 192.168.1.3 ,当我用 ifconfig eth0 192.168.0.254 ,可是后来reboot后,地址还是 192.168.1.3,请问这是怎么回事
这个问题我一经解决了,网络配置怎么进行,情帮忙呀
回复

使用道具 举报

发表于 2003-12-31 09:54:37 | 显示全部楼层
请问在linux as下squid如何配置???
回复

使用道具 举报

发表于 2003-12-31 17:15:24 | 显示全部楼层
还不和redhat9一个样
回复

使用道具 举报

发表于 2004-2-20 18:20:41 | 显示全部楼层
up
回复

使用道具 举报

发表于 2004-2-22 04:02:40 | 显示全部楼层
楼主的配置文件是针对外网为固定ip的吧,如果外网ip是动态的呢?例如adsl.当中哪些地方需要修改.另外我还想知道在这里的配置文件哪个网卡绑定的是内网ip?会有影响吗?
回复

使用道具 举报

发表于 2004-3-5 00:27:47 | 显示全部楼层

按楼主的设置,我配了N多时间都没成功,晕啊。。。

最终总算是能上网了,但没有防火墙的保护。
我的配置步骤如下:
计算机配置:
双网卡,eth0:192.168.1.100/255.255.255.0(D-LINK DFE530TX 接ADSL猫)
            eth1:192.168.1.101/255.255.255.0(RTL8139 与局域网相连)
ADSL拨号:ppp0
硬盘:6.4G,内存:128M 显卡:RAVA 128 4M 主板:SOYO 440BX
CPU:PIII 450
操作系统:quickas3

软件调试步骤:
这里一共需要设置三个文件:
1、/etc/rc.d/rc.local
在其中加入如下语句:
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
2、/etc/squid/squid.conf
修改内容为:
http_port 8080
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

3、/etc/sysctl.conf
这些机器可以走这个机器做网关上Internet 网
需要在sysctl.conf文件里面修改成 net.ipv4.ip_forward = 1

完成以上设置后,客户机就可以正在上网了。
相关测试工作我还在进行,如有改进方法我会继续发贴。
回复

使用道具 举报

发表于 2004-3-5 21:22:52 | 显示全部楼层
最新的成果(其实也不算是什么成果,蒙的)
可以对上面的内容做相关修改:
1、将“/etc/rc.d/rc.local”
(iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE)
去掉不用了,然后再在/etc/sysconfig/iptables文件中只设置如下规则,其他内容一律不用:
# Generated by iptables-save v1.2.8 on Fri Mar  5 20:33:19 2004
*mangle
REROUTING ACCEPT [22478]
:INPUT ACCEPT [1717]
:FORWARD ACCEPT [20761]
:OUTPUT ACCEPT [1853]
OSTROUTING ACCEPT [22614]
COMMIT
# Completed on Fri Mar  5 20:33:19 2004
# Generated by iptables-save v1.2.8 on Fri Mar  5 20:33:19 2004
*filter
:INPUT ACCEPT [1964]
:FORWARD ACCEPT [23307]
:OUTPUT ACCEPT [2126]
COMMIT
# Completed on Fri Mar  5 20:33:19 2004
# Generated by iptables-save v1.2.8 on Fri Mar  5 20:33:19 2004
*nat
REROUTING ACCEPT [0]
:OUTPUT ACCEPT [0]
OSTROUTING ACCEPT [0]
-A PREROUTING -p tcp -m tcp -i eth1 --dport 80 -j REDIRECT --to-ports 8080
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Fri Mar  5 20:33:19 2004

这样设置完成后,就可以实现真正的代理功能了。
大家可以试试看,当打开squid时应该能访问网站,而关闭squid时,应该不能访问正常的网站了(这里指的是开放80端口的网站)。
如果这样实现了,那就说明代理已经成功运行了。
现在剩下的任务就是设定相应的防火墙规则和如何来优化代理服务器了。
回复

使用道具 举报

发表于 2004-3-5 23:32:06 | 显示全部楼层

我的系统新问题,总是错误!!!

我在修改iptables文件时,总是会有如下提示:
/etc/rc.d/init.d/iptables start ..
Applying iptables firewall rules: iptables-restore: line 86 failed
[FAILED]

我查过第86行内容如下:
[0] -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP

我还测试了其他的几个语句,但全都是报相同的错误,这些语句都是原装COPY古公的,但怎么用就是不行,狂晕中。。。
现在就是防火墙的规则设不上啊。
在iptables文件中,我用webmin设的时候,提示的版本信息如下:
# Generated by iptables-save v1.2.8 on Fri Mar  5 20:33:19 2004
不知道是不是和这个版本有关系。
回复

使用道具 举报

发表于 2004-3-5 23:34:28 | 显示全部楼层
还有一个问题就是:在设squid时,使用以下两条命令时会报错:
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
不清楚是何原因。
这个也是按古公的文件设的,好像对我的机器不适用。
回复

使用道具 举报

 楼主| 发表于 2004-4-22 09:16:15 | 显示全部楼层
我是这样写的:



[code:1]# httpd_accel_port 80
# +++++++++++++++++++++++++++++++++++ 古公 ++++++++++++透明代理的设定+++++++++
httpd_accel_host virtual
#httpd_accel_port 80
# +++++++++++++++++++++++++++++++++++ 古公 ++++++++++++透明代理的设定+++++++++

# httpd_accel_with_proxy on
# +++++++++++++++++++++++++++++++++++ 古公 ++++++++++++透明代理的设定+++++++++
httpd_accel_with_proxy off
# +++++++++++++++++++++++++++++++++++ 古公 ++++++++++++透明代理的设定+++++++++

# httpd_accel_uses_host_header off
# +++++++++++++++++++++++++++++++++++ 古公 ++++++++++++透明代理的设定+++++++++
httpd_accel_uses_host_header on
# +++++++++++++++++++++++++++++++++++ 古公 ++++++++++++透明代理的设定+++++++++
[/code:1]


其余没写的,就是默认值



回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-5-8 13:26 , Processed in 0.130799 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

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