開啟網路蟲洞穿越時空,活用 SSH Tunnel VPN

标签: 心情筆記 Linux 自由軟體 | 发表时间:2011-09-04 00:22 | 作者:Fred Chien(錢逢祥) risent
出处:http://fred-zone.blogspot.com/
最近去了一趟上海考察,尋找創業發展的機會,但機會暫且不論,此行確實深深體會在中國的網路世界非常不一般。中國和諧的社會實在不容許影響善良風俗的事情存在,許多外來的邪惡,一一被偉大的長城擋在外面。不過,道高一尺魔高一丈,很多人很聰明,懂得翻牆方法,進出自如,多數人使用 Reverse SSH Tunnel(有興趣可參考筆者舊文『Reverse SSH Tunnel 反向打洞實錄』)建立一個臨時的 Proxy Server,讓網頁連線繞道而行。

不過,使用 Proxy Server 的方式只能讓特定的通訊協定能夠不受防火牆的阻擋,如果說要全面性的逃脫網路限制和監控,就要靠 VPN(Virtual Private Network)的方式。VPN 是什麼?簡而言之,就是與遠端的網路環境建立通道,使電腦彷彿真實身處於遠端的內部網路一般。所以 VPN 一旦建立成功,除了可以存取遠方的內部網路,當然亦可以將遠端網路當為中繼站再連到網際網路,換言之,就是可繞過防火牆的一切限制。至於 VPN 的建立方法有很多種, 但都不在本文範疇,這邊要說明的是如何用 SSH Tunnel 建立 VPN。

設定必要的環境變數後,直接執行以下的 Script,就可以和遠端 Server 建立 VPN 連線:
#!/bin/bash


# Local Network
NETWORK=192.168.16.0
GW=192.168.16.1

# Server IP Address
SERVER=123.123.123.123
# Server 對外的 Interface
SERVER_IF=eth0

echo "Creating Connection"
ssh -w 0:0 -f $SERVER "ifconfig tun0 10.0.2.1 netmask 255.255.255.252 pointopoint 10.0.2.2 ; echo 1 > /proc/sys/net/ipv4/ip_forward ;/sbin/iptables -t nat -A POSTROUTING -o $SERVER_IF -j MASQUERADE ;route add -net $NETWORK gw 10.0.2.2 dev tun0"

echo "Settingi local interface"
ifconfig tun0 10.0.2.2 netmask 255.255.255.252 pointopoint 10.0.2.1
route add -net ${SERVER%.*}.0/24 gw 10.0.2.1 dev tun0
route add $SERVER gw $GW
route add default gw 10.0.2.1 tun0
route del default gw $GW
註一:如果不能正確建立連線,請先確認 SSH Port(22) 是否已被防火牆阻擋。
註二:記得修改 /etc/resolv.conf 的 DNS 設定,有些網路是直接在名稱解析做阻擋(如:在中國的網路)。

後記

SSH 有高度的安全性,透過 SSH 建立 VPN,也可以多少避免網路被當下的網路提供者竊聽。

相关 [穿越 活用 ssh] 推荐:

開啟網路蟲洞穿越時空,活用 SSH Tunnel VPN

- risent - Fred's blog
最近去了一趟上海考察,尋找創業發展的機會,但機會暫且不論,此行確實深深體會在中國的網路世界非常不一般. 中國和諧的社會實在不容許影響善良風俗的事情存在,許多外來的邪惡,一一被偉大的長城擋在外面. 不過,道高一尺魔高一丈,很多人很聰明,懂得翻牆方法,進出自如,多數人使用 Reverse SSH Tunnel(有興趣可參考筆者舊文『Reverse SSH Tunnel 反向打洞實錄』)建立一個臨時的 Proxy Server,讓網頁連線繞道而行.

SSH Tunnel扫盲

- Jerry - 老王的技术手册 ( 我的新博客:http://huoding.com )
前些天,由于我不知道如何在Putty里拷贝字符而被朋友们取笑,着实糗了一把. 不过被别人B4的一大好处就是你会知耻而后勇,这阵子通过研读PuTTY 中文教程,估计以后不会再犯同样的错误了,在学习Putty的同时偶然发现自己对SSH Tunnel的了解很匮乏,所以便有了今天这篇笔记. SSH Tunnel有三种,分别是本地Local(ssh -NfL),远程Remote(ssh -NfR),动态Dynamic(ssh -NfD).

SSH那些事儿

- Mao.. - Visual Mao++
不知道读者中知道SSH有多少,我想除了pro们,剩下的都是用VPS. 一般来说,用SSH就是用ssh –D[1]这个动态转发接口,至于做什么用也就不明说了,大家都懂. 熟悉hg的都知道可以从“ssh://”地址克隆repository[2],那剩下的呢. 故事的起因是office desktop在department firewall之内,用laptop的remote desktop(RDP)连接office需要先用PuTTY之类的神器连接department firewall(OpenBSD的哦),然后再用RDP连接desktop[3].

linux配置ssh+rsync

- - CSDN博客推荐文章
sftp    文件共享 类似ftp  ssh  secure file transfer client. scp    文件共享 类似cp. #PermitRootLogin yes    改成no 禁止root直接登录. #Port 22    改变ssh的默认端口号   要打开注释. 登录  ssh  gwyy@192.168.111.130  然后输入密码就好了.

注册送 SSH Tunnels 账号

- jason - 细节的力量
来源:http://www.hiwaley.com/2098.html. 赠送 SSH Tunnels 账号,用途请Google “SSH Tunnels“. 长期有效,直到本站倒闭,或者某天墙塌了. SSH的账号和Blog的账号一样,如需修改SSH的密码,直接修改Blog的密码即可. 注册帐号后,需要配置SSH客户端和浏览器,具体方法如下:.

免费VPN & SSH信息

- jason - iGFW
注册即送免费128M流量的PPTP和L2TP,OPENVPN. 注册地址:http://www.jpvpn.net/register. 配置文件下载:http://sharesend.com/gpebc. 以下15组免费帐号,用户名和密码一样. 用户名和密码填写在vegas目录下的Acct.txt文件里.

优秀的Android SSH工具

- 牛牛 - Solidot
Peter Jackson 写道 Secure Shell(SSH)是工作在应用层和传输层之上的网络安全协议,利用128位公钥加密接收和发送的信息. SSH能保证两个主机之间的通信不被中间人拦截. 作为一种安全保护协议,SSH常被用于安全数据通信和远程命令执行. 其它常用用途包括使用SSH文件传输协议或安全复制协议在机器之间建立安全隧道或传输文件.

SSH的登录限制

- - 操作系统 - ITeye博客
从网络来的数据包首先要经过iptables,所以可以在iptables上面加上规则来限制ip的访问. 比如只限制3个外网,1个内网IP连接. 直接在/etc/hosts.deny里面加一行. sshd: ALL EXCEPT xxx.xxx.xxx.xxx(允许的ip或网段). sshd: ALL EXCEPT xxx.xxx.xxx.xxx/255.255.255.0(允许的网段) 就可以了.

DenyHosts防SSH暴力破解

- - 操作系统 - ITeye博客
DenyHosts官方网站为: http://denyhosts.sourceforge.net. 1、首先判断系统安装的sshd是否支持tcp_wrappers(默认都支持). 2、判断默认安装的Python版本. Centos5.5默认已安装了python 2.4.3. 二、已安装Python2.3以上版本的情况.

ssh密钥认证原理

- - 寒江孤影
SSH之所以能够保证安全,原因在于它采用了公钥加密. 整个ssh密码登录过程是这样的:. 1)用户向远程主机发登录请求:ssh user@远程主机. 2)远程主机收到用户的登录请求,把自己的公钥发给用户. 2)用户使用这个公钥,将登录密码加密后,发送回远程主机. 3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录.