用linux端口转发远程连接机房内网ip


由于机房公网ip有限,所有有些服务器只有内网,要远程的话还要通过一台机器去套远程操作起来不是很方便。那我们可以用一台linux服务器来做端口转发到本地端口然后直接远程连接。

1.首先准备一台有公网ip的linux服务器,如果公司里有多个人都需要用此方法远程的话最好给每个人都建立一个普通账号,这样方便管理。

给需要远程的员工简历普通账号,比如测试人员,我们建立登陆账号test

useradd test

设置密码

passwd test

输入两次一样的密码就ok了。

如果想把这个用户锁定在家目录,不允许做其他操作可以执行以下命令

建立伪shell

[root@localhost ~]# ln -s /bin/bash /bin/rbash
[root@localhost ~]# echo "/bin/rbash">>/etc/shells

添加你想限制的用户:
[root@localhost ~]# chsh -s /bin/rbash test
Changing shell for test.
Shell changed.

切换到test用户测试一下:
[root@localhost ~]# su - test
[test@localhost ~]$ cd /
-rbash: cd: restricted
[test@localhost ~]$ ls
[test@localhost ~]$ pwd
/home/test
[test@localhost ~]$ cd ..

-rbash: cd: restricted

设置普通用户是为了只让他利用linux服务器做端口转发,没有其他任何权限,以免造成这台服务器其他重要业务由于误操作出现问题。

QQ截图20131212102117.jpg

 

2.我们用刚建立的普通账号登陆这台linux的公网ip,我这里用的是xmanager工具连接的

登陆成功后我们点击菜单栏的属性按钮:

QQ截图20131212102312.jpg

在属性选项卡里面我们选择隧道选项-点击添加

QQ截图20131212102423.jpg

然后我们添加转移规则:

QQ截图20131212102757.jpg

我们这个规则是把远程192.168.0.16的3389端口映射到本地127.0.0.1的8816端口上。

详细说明:

a.类型:选择local(outgoing

b.源主机:就是我们本地的ip默认都填写127.0.0.1

c.侦听端口:就是我们要把他转到本地的那个端口上面,一般我们都设置成我们本地不常用的端口,我们统一规则以便以后方便管理,要远程哪台机器的时候不看属性卡就就知道是哪个端口。比如我们默认是远程ip的最后一位,192.168.0.16我们就取16,但是还有个问题一般100以下的端口经常被本地应用程序占用,那我们即使做了转发也不能正常连接,那我们就再加个规则,取ip的最后一段然后前面加上55。那么ip192.168.0.16我们就映射成本地的5516端口上面,这里我们就填5516,远程这个ip的时候我们只需要登录这台linux服务器然后远程127.0.0.1:5516就可以了。ip192.168.0.240我们就映射到本地的55240端口上面,这里我们就填55240远程的时候直接远程127.0.0.15240就ok了

注意:

我们本地最大端口号是65535,映射的时候不能超过65535.

d.目标主机:我们要远程的目标ip,我们要远程192.168.0.16,我们这里就填写192.168.0.16。

e5.目标端口:是我们目标主机的远程端口,默认是3389,但我们有可能改成其他端口了,你目标主机改成了什么端口就填什么端口。

f.说明:就是备注,备注一下这台服务器是干嘛的方便以后查找。

3.端口转发已设置完毕,下面我们就可以远程了

QQ截图20131212105422.jpg

 

 

 

 

 

 

 

 

 

 


Whatever is worth doing is worth doing well.