许多公司内网都限制了外网访问,内网的员工想访问外网,比较多采用的是浏览器代理的方式。类似这种
在浏览器上设置一下代理就可以正常访问外网了,openwrt能不能直接做了类似的代理,使连接路由器的设备可以直接访问外网?答案是可以的。
http代理的认证有两种认证方式,一种是proxy basic,一种是proxy ntlm认证,其中proxy basic认证一般应用于不太重要的场合,因为basic认证时,直接将用户名和密码变一下形就传到服务端了,不太安全,特别容易被截获。proxy ntlm认证是相对安全的一种认证方式,不会传递密码,并且需要client和server进行三次交互,才可以确认。
openwrt中的curl本身就支持代理访问,这就大大方便了我们进行代理尝试的工作,通过实验发现,在路由器上做了代理认证以后,所有连接在这台路由器上的设备都可以直接上网,而不需要一一做认证。下面是curl做代理ntlm认证的命令:
curl -v -U $user:$passwd --proxy-ntlm --proxy $ntlmserver:$ntlmport $url