首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置RouterOS以在另一台机器上使用web代理?

如何设置RouterOS以在另一台机器上使用web代理?
EN

Server Fault用户
提问于 2010-09-16 08:14:16
回答 3查看 22.3K关注 0票数 4

RouterOS文档展示了如何通过内置到RouterOS中的HTTP透明地代理所有web流量:

代码语言:javascript
复制
/ip firewall nat 
add in-interface=ether1 dst-port=80 protocol=tcp action=redirect to-ports=8080 chain=dstnat 
/ip proxy
set enabled=yes port=8080

我想在另一台机器上运行一个代理,这样我就可以利用Squid等中更复杂的过滤规则。但是,如果我使用NAT将流量重定向到运行Squid的另一台机器,它将无法工作,因为HTTP请求需要重写才能成为代理HTTP请求;仅仅重定向流量会从Squid中产生错误的请求错误。

EN

回答 3

Server Fault用户

回答已采纳

发布于 2010-09-16 08:23:36

它可以通过parent-proxy设置来完成:

代码语言:javascript
复制
/ip proxy
set parent-proxy=<IP of Squid machine> parent-proxy-port=3128
票数 2
EN

Server Fault用户

发布于 2010-09-16 11:19:52

不需要在RouterOS中设置代理。您可以通过NAT直接将所有传出HTTP流量路由到服务器:

代码语言:javascript
复制
ip firewall nat add in-interface=eth1 src-address=!<IP of Squid machine> dst-port=80 protocol=tcp action=dst-nat to-addresses=<IP of Squid machine> to-ports=8080 

最后一个参数“src-address=!”需要使用什么样的squid机器通过与其他机器相同的接口进行通信。否则就会这样:

  1. 计算机发送HTTP请求
  2. RouterOS将此数据包设置为squid。
  3. Squid向HTTP服务器发送HTTP请求
  4. RouterOS将squid请求重定向为squid ->循环。
票数 3
EN

Server Fault用户

发布于 2013-06-22 05:38:27

代码语言:javascript
复制
/ip proxy
set parent-proxy=<IP of Squid machine> parent-proxy-port=3128

/ip firewall nat
chain=dstnat src-address=!<IP of Squid machine> protocol=tcp dst-port=80  src-address-list=<IP of Local machine> action=redirect to-ports=8080
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/181703

复制
相关文章

相似问题

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