LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 871|回复: 4

高手给看一下,为什么不能上网?

[复制链接]
发表于 2007-1-29 02:57:23 | 显示全部楼层 |阅读模式
内网的某个机器(暂叫它为机器A)做透明代理(应该算是二级了),机器A在内网的IP是192.168.0.166,网关是192.168.0.254,网卡为eth0,网关为Linux透明代理(别人做的)。
我想用机器A做一个透明代理,FC6(squid-2.6.STABLE7-1.fc6),双网卡,eth0的IP为192.168.0.166,eth1的IP为192.168.1.254,
squid.conf配置为
http_port 3128 transparent
always_direct allow all

然后设置

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

下面有一台IP为192.168.1.203的Windows 2000客户机通过eth1连网,为什么上不了网?是不是还差什么没做?请高手给予指点,谢谢。
发表于 2007-1-29 09:20:28 | 显示全部楼层
Post by zyyzly
内网的某个机器(暂叫它为机器A)做透明代理(应该算是二级了),机器A在内网的IP是192.168.0.166,网关是192.168.0.254,网卡为eth0,网关为Linux透明代理(别人做的)。
我想用机器A做一个透明代理,FC6(squid-2.6.STABLE7-1.fc6),双网卡,eth0的IP为192.168.0.166,eth1的IP为192.168.1.254,
squid.conf配置为
http_port 3128 transparent
always_direct allow all

然后设置

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

下面有一台IP为192.168.1.203的Windows 2000客户机通过eth1连网,为什么上不了网?是不是还差什么没做?请高手给予指点,谢谢。

怎么你代理的eth0,eth1都为内网IP的?
你试试想通过代理的机子网关改为机器A可以上网的那个IP. 代理规则改为: iptables -t nat -A PREROUTING -i eth1 -p tcp -s 代理机器的网段/24 --dport 80 -j REDIRECT --to-port 3128
看看结果如何?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-29 22:03:21 | 显示全部楼层
可能是我描述的不够明确吧。

我做代理的这个机器A是存在内网里的,我用这个内网的机器做实验,做个透明代理,只不过我是那么设的私有IP地址而已。也就是相当于eth0连公网,eth1连内网。
回复 支持 反对

使用道具 举报

发表于 2007-1-30 10:22:36 | 显示全部楼层
按理, 只要你做代理的这台机子可以上网, 那么, 从eth1进来的tcp而且端口为80的, 则指向squid.conf设置的端口, 默认为3128.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-30 12:32:54 | 显示全部楼层
我做代理的这个机器A可以上网。

那实现这个的iptables语句怎么写呢?谢谢了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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