问题:我需要创buildssh转发到其他作为代理的linux框。
我有两个Linux的箱子(centos 5.5),一个在办公室( server1 )后面的防火墙,其他在主机( server2 )
server1在端口3128上安装了squid代理。
我不能使用server1作为从家里的直接代理,因为它的防火墙后面。
我能够创build从服务器1到服务器2的 SSH隧道,当我login到服务器2 ican ssh根@本地-p 12312到服务器1
我需要的是configurationserver2,所以它转发端口server2 :3128到server1 :3128
我可以添加server2的 IP地址和端口到Firefox的代理和访问的networking。
感谢名单
如果我正确地理解了你,你想从你的客户端用浏览器连接到server2,然后server2将连接隧道到server1,从而允许你通过安装在server1上的squid-proxy访问办公室networking。
只是为了让猜测工作完成,我认为你使用类似的东西
server1$ ssh -R 12312:localhost:22 server2
build立第一条隧道。
如果你真的希望能够在客户端的firefox设置中inputserver2作为代理,请确保在server2的sshd_config(/ etc / ssh / sshd_config)中启用了GatewayPorts:
GatewayPorts yes
还要确保没有阻塞的iptables规则适用于您要使用的端口。
那么您可以使用现有的隧道,而不是:
server1$ ssh -R *:3128:localhost:3128 server2
或者如果你真的想使用你现有的隧道,你可以使用:
server2$ ssh -L *:3218:localhost:3218 -p 12312 localhost
如果按照上面所述的方式进行操作,那么每个可以访问server2(无需login)的人都可以使用端口3128作为代理端口,从而访问您的办公室networking(如果没有其他措施)
我不知道你们公司有什么样的政策,但是在尝试这样的隧道之前,请确保你们没有违法。
改变你现有的隧道
server1$ ssh -R 3128:localhost:3128 server2
从你的客户问题
client$ ssh -L 3218:localhost:3128 server2
然后在你的Firefox添加本地主机和端口3128作为代理configuration。
像这样,你不需要configurationGatewayPorts,只有在server2上login的人才能使用到server1的隧道