实现目的:内网端口映射到外网 供远程连接。
操作目标: 小主机:centos6.8
环境:
1.vps一台且有公网地址:192.210.219.30
2.内网主机1台(小主机)
vps:
修改sshd配置文件。
vim /etc/ssh/sshd_config
GatewayPorts yes
或者
sed -i “s/.*GatewayPorts no/GatewayPorts yes/g” /etc/ssh/sshd_config
/etc/init.d/sshd restart
关闭selinux。
setenforce 0
sed -i ‘/SELINUX/s/enforcing/disabled/’ /etc/selinux/config
防火墙放行指定端口,如有安全组还需在安全组中放行。
/sbin/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
小主机:
运行命令并输入vps的密码。
ssh -gfnNTR 8080:127.0.0.1:22 root@192.210.219.30 -p22 -o ServerAliveInterval=300
-o ServerAliveInterval=300
的意思是让ssh client每300秒就给server发个心跳,以免链路被RST.
-f Requests ssh to go to background just before command execution.
让该命令后台运行 .
-n Redirects stdin from /dev/null (actually, prevents reading from stdin).
-N Do not execute a remote command.
不执行远程命令 .
-T Disable pseudo-tty allocation.
不占用 shell .
-g Allows remote hosts to connect to local forwarded ports.
允许非本机地址(任何公网IP)连接x.x.x.x的8080端口.{see man sshd_config(5)}.
这个选项非常重要, 要让这个选项生效需要在x.x.x.x服务器(ssh server)上编辑/etc/ssh/sshd_config 添加一行GatewayPorts yes 然后保存退出并 service sshd restart.
检查是否正常运行.
ps -ef|grep ssh
检查vps中端口是否正常监听.
ss -nl|grep 8080
web访问设置:
location / {
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via “nginx”;
}
更多用法请自行百度。
最新评论
世间因为有你而美丽!我也一直想当个志愿者,奈何身体不允许
告诉那小孩 叫哥哥
666
123
此时此刻,感慨万千,旧的一年已经过去,新的一年已经到来,展望未来,美好的日子正等 着我们去奋斗,愿在新的一年里,我们能够继续经受住考验,克服困难,春暖花开
智能插座都是扯,插座还是公牛好用
下载链接失效了 求补
连接失效了