《通过ssh转发实现稳定连接海外服务器》要点:
本文介绍了通过ssh转发实现稳定连接海外服务器,希望对您有用。如果有疑问,可以联系我们。
连接海外服务器网络非常的不稳定,这里我们通过某厂云私有网络的对等连接及iptables来实现稳定连接海外服务器.
3、实践
首先在上海区域购买一个私有网络(vpc),然后划分好网段,再购买一台服务器加入私有网络.同样的在香港区域再购买一个私有网络(vpc),然后划分好网段,再购买一台服务器加入私有网络.最后使用对等连接使香港vpc与上海vpc打通.这样上海云主机与香港云主机的内网打通.
在香港云主机部署一个tinyproxy作为代理,监听在10.168.0.2:8080.
在上海云主机加入如下防火墙:
iptables -A FORWARD -s hz_ip -d 10.168.0.2 -p tcp -m tcp –dport 8080 -j ACCEPT
iptables -t nat -A PREROUTING -s hz_ip -d 192.168.0.2 -p tcp -m tcp –dport 8080 \
-j DNAT –to-destination 10.168.0.2:8080
iptables -t nat -A POSTROUTING -d 10.168.0.2 -j SNAT –to-source 192.168.0.2
在北美、新加坡、韩国等机房的服务器上面加入防火墙,允许香港云主机访问其ssh端口(22).
在公司跳板机加入防火墙,允许其访问上海云主机的8080端口.
在公司跳板机加入如下登录脚本:
系统CentOS 7
#!/bin/bash
export user=$USER
if [[ $1 =~ ([0-9]{1,3}\.){3}[0-9]{1,3} ]]; then
/usr/bin/ssh -A -o StrictHostKeyChecking=no -o “ProxyCommand=/usr/bin/nc \
–proxy sh_ip:8080 %h %p” -l ${user} ${1} -p22
else
echo “ERR: $1 is not a ip!”
fi
系统CentOS 6
#!/bin/bash
export user=$USER
if [[ $1 =~ ([0-9]{1,3}\.){3}[0-9]{1,3} ]]; then
/usr/bin/ssh -A -o StrictHostKeyChecking=no -o \
“ProxyCommand=/usr/bin/nc -X connect -x sh_ip:8080 %h %p” -l ${user} ${1} -p22
else
echo “ERR: $1 is not a ip!”
fi
保存登录脚本为login放到系统环境变量里面,例如,北美一个服务器ip为na_ip,直接执行:login na_ip.这样就可以登录北美服务器.
注意:
centos6与centos7登录脚本不同的原因为系统提供的nc不一样.centos6为nc,centos7为nmap-ncat.
在使用securecrt或者xshell时打开OpenSSH代理程序转发.
利用我们在第三步搭建的上海云主机与香港云主机之间的专线,再加上iptables,我们可以实现向海外服务器快速分发文件,监控数据实时回传到大陆等工作.
scp也支持ProxyCommand功能.同ssh.可以仿照登录脚本,写个文件分发代理脚本.快速实现文件分发与回传.
作者介绍
王利淼,杭州电魂网络科技股份有限公司运维工程师,负责国内某端游、海外N个区手游、H5游戏等.
原文来自微信公众号:云技术实践
转载请注明本页网址:
http://www.vephp.com/jiaocheng/4285.html