首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ip表将互联网流量从本地重定向到代理服务器(DEBIAN 6)

如何使用ip表将互联网流量从本地重定向到代理服务器(DEBIAN 6)
EN

Unix & Linux用户
提问于 2015-04-09 13:35:49
回答 1查看 4.3K关注 0票数 2

所以我做了拓扑,如图所示。

路由器有3个这样的接口:

eth0上网( ip 192.168.1.10/24网关192.168.1.254/24)。eth1到服务器端-PC端( ip 192.168.20.1/28) eth2到客户端( ip 172.16.20.1/29)

服务器和客户端连接,并从路由器-pc连接互联网。服务器-pc使用静态ip (192.168.20.2),而客户机在路由器-pc上从DHCP获得自动ip。

我还想在我的路由器-PC上配置iptable,以便将客户端的internet重定向到我的服务器-PC上的代理服务器。因此,客户端必须使用凭证访问internet (我已经在squid上配置了身份验证代理,在客户端已经手动配置了代理)。

我运行的防火墙是:

-t nat -A PREROUTING -p tcp -s 172.16.20.0/29 -j DNAT -至192.168.20.2

192.168.20.2是我的服务器的ip地址。那么,你能帮我修复我所做的配置,以便根据我想要的吗?

对不起我的英语不好。谢谢。

EN

回答 1

Unix & Linux用户

发布于 2018-05-22 10:18:23

第一:请注意,Debian 6“挤压”自2013年以来一直没有主流支持,自2016年以来就不再提供长期支持。使用Debian 6阻止以这种方式访问Internet很可能是无效的,因为安全漏洞允许绕过限制,缺少功能,使您无法实现所请求的规则集,或者两者兼而有之。我强烈建议您将您的系统升级到受支持的Debian版本,最好是Debian 9“拉伸”。

第二,将经过身份验证的代理与透明代理模式相结合并不能很好地工作。问题是,终端主机可能还需要身份验证(例如,因为您正在登录到需要HTTP级别身份验证的DAV服务器),然后透明代理要么会吃掉这些凭据,要么会对它们感到困惑。

相反,我建议如下:

  • 阻止所有不通过代理的流量: iptables -A -i eth2 -o eth0 -p -dport 443 -j REJECT iptables -A FORWARD -i eth2 -o eth0 -p tcp -dport 80 -j拒绝所有不超过代理的互联网流量。
  • 配置DHCP服务器,以便它向客户端发送域名:子网172.16.20.1/29 {(.)选项域-名称"example.com";};(此处使用本地域名,而不是example.com )
  • 配置您的DNS服务器,以便它知道主机名wpad.example.com,它应该指向您的路由器(同样,用example.com代替您的域名)。
  • 创建一个文件wpad.dat,并给它以下内容:函数FindProxyForURL(url,主机){返回"PROXY 172.16.20.1:3128";}注意这是简单的Javascript;如果您想根据目标URL使用不同的代理,只需修改该函数。然后在路由器上通过HTTP提供该文件,名为"/wpad.dat“。确保该文件的MIME类型为application/x-ns-proxy-autoconfigapplication/x-javascript-config

这样,网络上的浏览器将被自动配置为使用代理(如果您在相关的情况下打开“自动检测设置”选项),并且不会在身份验证方面混淆用户。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/195295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档