如何从外网访问局域网内部的一台linux系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从外网访问局域网内部的一台linux系统相关的知识,希望对你有一定的参考价值。
假如在北京有一台linux的系统,我现在在上海,怎么样才能远程连接到这台linux系统,这个问题我想了很久了,在网上搜也没有搜出想要的方法,希望高手指点一下。
1、首先,打开linux连接工具,例如:Xshell工具。
2、点击文件-新建,输入主机名、端口号,例如:166.177.188.199:22。
3、点击“用户身份验证”菜单,输入该linux主机的用户名和密码。
4、最后,点击确定按钮,此时会发现,成功连接到linux的主机的命令行页面。
参考技术A 首先这台linux是否有全局静态IP?如果有全局静态IP,你可以直接通过这个IP访问,没什么好设置的,当然linux下的防火墙要打开。至少开个22端口。
如果这台linux是通过拨号上网的,那就要用花生壳或者希网等动态域名服务,用希网做例子,先在希网(网址自己百度一下"希网动态域名")上注册个帐号,申请一个未用的动态域名,然后下载一个动态域名客户端,在linux上运行这个客服端,设置相应的帐号和域名,上网后就会自动更新域名IP,你在外地就可以用这个动态域名直接访问。
如果这台linux是通过网关上网的,那需要在这个网关做个设置,开个端口映射,将某个端口映射到linux机器的22端口。
如果这台linux是通过代理上网的,那比较麻烦,我也没碰到过,可以参考网关上网在网关上设置试试。
如果网关也是拨号,那么两个步骤都需要做,网关上设置端口映射,linux机器上运行动态域名客户端。本回答被提问者采纳 参考技术B 用holer配置一个key就可以做到的
使用Holer从公网SSH访问内网Linux系统
安装Java 1.7或者更高版本
使用前请先安装Java 1.7或者更高版本;
检查Java安装是否符合运行要求,输入命令:java -version
java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
如果有Java版本号显示并且版本号是1.7.x及以上版本,则说明Java安装符合运行要求,否则卸载重新安装Java。
下载软件包并解压:
下载Holer软件包holer-client.zip,使用ftp/sftp上传至内网/局域网的Linux系统上;
解压软件包: unzip holer-client.zip
修改配置文件
vim holer-client/conf/holer.conf
公网和内网的地址映射关系如下表所示:
Holer Access Key: HOLER_CLIENT-822404317F9D8ADD
Internet Address: holer.org:65534
Local Address: 127.0.0.1:22
内网Linux系统的sshd默认服务端口是22,选择记录里的Holer Access Key配置到文件:
holer-client/conf/holer.conf
HOLER_ACCESS_KEY=HOLER_CLIENT-822404317F9D8ADD
启动Holer服务
cd holer-client/bin
Linux系统执行启动Holer服务命令: sh startup.sh
如果需要停止Holer服务执行命令: sh shutdown.sh
使用ssh客户端工具MobaxTerm,输入如下命令就可以访问内网的Linux系统了
ssh root@holer.org -p 65534
成功登录示例:
ssh root@holer.org -p 65534
root@holer.org's password:
[root@ip-172-31-19-0 ~]#
[root@ip-172-31-19-0 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 172.31.19.0 netmask 255.255.240.0 broadcast 172.31.31.255
inet6 fe80::56:7ff:fe0f:782 prefixlen 64 scopeid 0x20<link>
ether 02:56:07:0f:07:82 txqueuelen 1000 (Ethernet)
RX packets 88018 bytes 126478017 (120.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 18631 bytes 1857449 (1.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 178 bytes 26469 (25.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 178 bytes 26469 (25.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@ip-172-31-19-0 ~]# 参考技术C 你这问题特别笼统,估计你对电脑不是很懂,只是有自己的想法。
我也就只能笼统的回答下吧。先端口扫描啦 linux下面很多扫描命令的,比如 namp
如果对方开了22端口,你可以用ssh链接,如果开了23端口你可以用telent链接。
建议ssh链接,如果你是WIN系统,可以用PUTTY链接对方的22端口,实现远程链接对方主机。不过首先要对方防火墙允许的情况下。 参考技术D 1 北京的linux 在系统-远程桌面-允许网络用户访问打勾
2 北京的linux是外网还是内网的?如果是外网直接用vnc软件直接访问北京linux的ip地址就得了
3 北京的linux如果是内网有路由的,就在路由开启Vnc的端口映射到linux的电脑上
4 使用动态的花生壳也可以,具体可以登录花生壳网站看详细内容
怎样从外网访问ARM嵌入式Linux系统
外网访问ARM嵌入式Linux系统
实验室里的ARM嵌入式Linux系统,只能在局域网内访问,怎样从外网也能访问ARM嵌入式Linux系统?
本文将介绍具体的实现步骤。
1. 准备工作
1.1 安装并启动ARM嵌入式Linux系统
ARM嵌入式Linux系统默认的sshd端口是22。
2. 实现步骤
2.1 下载并解压holer软件包
Holer软件包:holer-linux-arm.tar.gz
Holer支持多种ARM版本,请选择跟自己ARM版本匹配的holer程序上传至系统上。
2.2 获取holer access key信息
在holer官网上申请专属的holer access key或者使用开源社区上公开的access key信息。
例如申请得到的holer信息如下,这里以此holer信息为例:
---------------------------------------------
Holer Client : [email protected]
Access Key : 8866daebe02846t88s166733595fff5d
---------------------------------------------
Internet Address : holer.org:65014
Local Address : 127.0.0.1:22
---------------------------------------------
2.3 启动holer服务
ARM Linux系统平台:
执行命令:./holer-linux-armxx -k 8866daebe02846t88s166733595fff5d
2.4 访问映射后的公网地址
在ssh客户端上输入
主机名:holer.org
端口号: 65014
或者直接执行命令: ssh [email protected] -p 65014
这样就可以从外网访问ARM嵌入式Linux系统了。
2.5 问题咨询与帮助
使用holer过程中遇到问题可以先查看holer控制台打印的日志信息,这样很容易排查出问题的具体原因。
如果需要帮助请联系holer技术支持人员,联系方式详见holer官网。
更多的holer使用示例,请参考holer官方博客。
以上是关于如何从外网访问局域网内部的一台linux系统的主要内容,如果未能解决你的问题,请参考以下文章