根本无法让它工作!我试图让这个 linux 机器充当透明代理,并在 DHCP 的帮助下强制网络上的每个人都进入代理。
我有两个以太网连接,都连接到同一个交换机。我试图让 192.168.1.234 成为默认网关。
实际的 WAN 连接是到网关 192.168.1.1。
eth0 是 192.168.1.234
eth1 是 192.168.1.2
实际上,我正在尝试使 eth0 成为仅限 LAN 的接口,而使 eth1 成为 WAN 接口。我应该将 eth1 的网关设置为指向 192.168.1.234
我的 squid.conf 文件在底部添加了以下指令: nly set eth0 to have a gateway address in /etc/network/interfaces 我不确定 http_port 3128 是否透明 acl lan src 192.168.1.0/24 acl lh src 127.0 .0.1/255.255.255.0 http_access 允许局域网 http_access 允许 lh
我添加了以下路由命令:
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.2:3128
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
我将一台 TCP 设置为 192.168.1.234 的计算机设置为网关并打开了 google.com,但它出现了请求错误。任何想法为什么这不起作用?:( 一直在寻找解决方案无济于事。
- - - - - - - - - - - - - - - 编辑 - - - - - - - - - - ------------ 设法让它正确路由到鱿鱼,这是我在浏览器中得到的错误:
ERROR
The requested URL could not be retrieved
While trying to process the request:
GET / HTTP/1.1
Host: www.google.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cache-Control: max-age=0
The following error was encountered:
* Invalid Request
Some aspect of the HTTP Request is invalid. Possible problems:
* Missing or unknown request method
* Missing URL
* Missing HTTP Identifier (HTTP/1.0)
* Request is too large
* Content-Length missing for POST or PUT requests
* Illegal character in hostname; underscores are not allowed
Your cache administrator is webmaster.
Generated Mon, 26 Oct 2009 03:41:15 GMT by mjolnir.lloydharrington.local (squid/2.7.STABLE3)
确保您没有冲突的端口定义,squid 可能无论如何都会在 3128 上侦听,因此您可能需要修改现有语句,而不是添加新语句。
还可以尝试手动将框设置为代理,并在使其透明之前确保它可以正常工作。
慢慢阅读... http://tldp.org/HOWTO/TransparentProxy-6.html