于家中计算机安装 FreeSSHd, 让办公室计算机连回家中计算机建立 SSH Tunnel, 突破公司上网限制。
使用软件:
* FreeSSHd - 建立 sshd server
* Polipo - 轻量级 proxy server
* PuTTY - ssh 联机软件
Home PC
1. 安装 FreeSSHd
* Do you want to run FreeSSHd as a system service? → Yes
* 于右下角 FreeSSHd 图示按右键 → Unload
* 手动启动 FreeSSHd, "是否要保持对这个程序的封锁?" → 解除封锁
2. 设定 FreeSSHd
* SSH → Port: 80
* Tunneling → Allow local port forwarding (v)
* Users → Add
- Login: your_name
- Authorization: Password stored as SHA1 hash
- Password: your_secret
- Password (again): your_secret
- User can use: (v) Shell、(v) Tunneling
3. 设定 IP 分享器 (若有的话)
* 进入 NAT 设定, 让 TCP 80 port (public) 对应到 FreeSSHd 所在计算机的 TCP 80 port (private)
* 到 no-ip 或 dyndns 申请免费域名, 进入 IP 分享器的 DDNS 设定, 将 no-ip 或 dyndns 信息填入相关字段
Office PC
1. 下载 putty.exe, 将档案置入 C:\Windows\system32
2. 下载 polipo, 将档案解压缩到 C:\polipo
3. 窗口键 + R → cmd
* putty -ssh -p 80 -D 1080
[email protected] (登入后, 缩小 putty 窗口保持联机)
透过 SSH Tunnel 上网
【独乐乐】
方式一:
启动 IE 浏览器, 设定 "因特网选项" → 联机 → 局域网络设定 → Proxy 服务器: (v) 在您的局域网络... → 进阶 → Socks: localhost, 连接埠: 1080
方式二:
窗口键 + R → cmd
1. cd \polipo
2. polipo socksParentProxy=localhost:1080
3. 缩小这个命令提示字符窗口, 不要关闭
启动 IE 浏览器, 设定 "因特网选项" → 联机 → 局域网络设定 → Proxy 服务器: (v) 在您的局域网络... → 网址: localhost, 连接埠: 8123
【众乐乐】
窗口键 + R → cmd
1. ipconfig | find "IP Address" (查看自己的 LAN IP, 以下简称 polipo's ip)
2. cd \polipo
3. polipo socksParentProxy=localhost:1080 proxyAddress=0.0.0.0
4. 出现防火墙提示讯息, 点选 "解除封锁"
5. 缩小这个命令提示字符窗口, 不要关闭
自己的设定:
启动 IE 浏览器, 设定 "因特网选项" → 联机 → 局域网络设定 → Proxy 服务器: (v) 在您的局域网络... → 网址: localhost, 连接埠: 8123
同事的设定:
启动 IE 浏览器, 设定 "因特网选项" → 联机 → 局域网络设定 → Proxy 服务器: (v) 在您的局域网络... → 网址: polipo's ip, 连接埠: 8123
附录: 公司 MIS 防治 ssh tunnel 方法
1. 建立 Linux NAT + iptables layer7 filter
2. iptables -A FORWARD -m layer7 --l7proto ssh -j DROP
3. 让 LAN User 之 default gateway 指向 Linux NAT
转贴自 Jamyy's Weblog