linux命令行内网穿透工具
-
Linux系统中有多种命令行工具可以实现内网穿透,以下是其中一些常用的工具:
1. SSH Tunneling(SSH隧道)
SSH (Secure Shell) 是一种加密的网络协议,可以在本地主机和远程主机之间建立安全的连接。通过SSH Tunneling,可以实现本地端口与远程主机端口之间的建立隧道,从而实现内网穿透。使用SSH Tunneling的步骤如下:
– 运行 SSH 命令,并指定远程主机的地址和登录用户名。
– 通过 SSH 连接到远程主机后,使用-L参数指定本地端口和远程主机端口之间的映射关系。例如,可以将本地主机的8080端口映射到远程主机的80端口:`ssh -L 8080:localhost:80 user@remote-host`。这样,本地主机的8080端口就与远程主机的80端口建立了映射关系。
– 当本地主机访问8080端口时,数据会通过SSH隧道传输到远程主机的80端口。2. Ngrok
Ngrok是一个简单易用的内网穿透工具,可以将本地服务暴露在公网中,使得外部网络可以访问本地服务。它提供了命令行方式运行,非常方便。使用Ngrok的步骤如下:
– 下载Ngrok的二进制文件,并解压到本地。
– 运行 `./ngrok authtoken YOUR_AUTH_TOKEN`命令,将YOUR_AUTH_TOKEN替换为你自己的Ngrok授权令牌。
– 运行 `./ngrok http 8080`命令,将本地的8080端口映射到Ngrok提供的域名和端口上。
– Ngrok会生成一个唯一的域名,通过该域名加上端口即可访问本地的服务。3. FRP
FRP是一个高性能的内网穿透工具,支持TCP和UDP协议。它提供了服务端和客户端部分,可以在本地主机上运行客户端,将本地服务映射到服务端,并通过服务端进行访问。使用FRP的步骤如下:
– 下载FRP的服务端和客户端二进制文件,并解压到对应的主机上。
– 配置服务端的frps.ini文件,指定端口和映射规则。
– 配置客户端的frpc.ini文件,指定服务端的地址和端口,并配置本地服务的映射规则。
– 运行服务端和客户端的二进制文件,即可实现内网穿透。总结:以上介绍了Linux系统中常用的几种命令行内网穿透工具,包括SSH Tunneling、Ngrok和FRP。用户可以根据实际需求选择合适的工具进行使用。
2年前 -
内网穿透是一种将局域网中的服务暴露到公网的技术,它通过将公网的请求传递到局域网中的服务来实现。在Linux命令行下,有很多可以用于内网穿透的工具。下面是其中几个常用的工具:
1. SSH端口转发:SSH是一种远程登录协议,它可以通过端口转发来实现内网穿透。使用SSH命令行可以将公网端口转发到局域网中的特定端口,从而使得公网可以访问局域网的服务。具体操作可以使用以下命令:ssh -L [公网IP地址]:[公网端口]:[内网IP地址]:[内网端口] [中转服务器用户名@中转服务器IP地址]
2. ngrok:ngrok是一个非常方便的内网穿透工具,它可以将本地的服务暴露到公网,而无需配置路由器或防火墙。只需在终端中运行ngrok命令,指定要映射的本地端口即可。ngrok会为该端口分配一个公网地址,用户可以使用该地址来访问本地服务。
3. FRP:FRP是一个开源的内网穿透工具,它可以将局域网中的服务映射到公网上。用户只需要在FRP配置文件中指定本地服务的端口和访问域名,然后启动FRP客户端即可实现内网穿透。
4. socat:socat是一个强大的网络工具,它可以在不同的网络连接之间建立连接。用户可以使用socat来实现端口转发,将公网请求转发到内网。使用socat命令可以创建一个TCP连接并将其转发到内网。例如:socat TCP4-LISTEN:[公网端口],fork,reuseaddr TCP4:[内网IP地址]:[内网端口]
5. stunnel:stunnel是一个用于加密网络连接的工具,它可以将非加密的TCP连接转换为使用SSL加密的连接。用户可以使用stunnel将公网请求转发到内网,并通过SSL加密保证通信安全。使用stunnel命令可以创建一个ssl服务并将其转发到内网。例如:stunnel -c -r [内网IP地址]:[内网端口] -p stunnel.pem
以上是一些常用的Linux命令行内网穿透工具,它们可以帮助用户轻松地将局域网中的服务暴露到公网,方便远程访问和互联网共享。用户可以根据具体需求选择适合自己的工具。
2年前 -
一、内网穿透概述
在网络配置中,内网指的是位于私有网段的主机,无法直接被公网访问。而内网穿透是指通过一种技术手段,使得外网用户可以访问内网主机。对于Linux系统,有多种命令行工具可供选择,以实现内网穿透功能。二、常见的Linux命令行内网穿透工具
1. SSH端口转发(SSH Port Forwarding)
SSH端口转发是一种基于SSH协议的内网穿透方式,通过将公网端口与内网主机的特定端口绑定,实现内网主机对公网端口的访问。具体操作如下:(1)在公网主机上,使用以下命令将公网端口与内网主机的特定端口绑定:
`ssh -L <公网主机IP地址>:<公网端口>:<内网主机IP地址>:<内网主机端口> <登录用户名>@<公网主机IP地址>`例如: `ssh -L 80:192.168.1.100:80 user@example.com`,表示将公网主机的80端口与内网主机192.168.1.100的80端口绑定。
(2)在内网主机上,启动对应的服务。
(3)此时,在公网主机上访问绑定的公网端口,即可访问到内网主机的服务。
2. Ngrok
Ngrok是一个功能强大的内网穿透工具,通过创建一个公网访问地址绑定到内网主机的端口,实现内网穿透。具体操作如下:(1)下载Ngrok,并解压缩到指定目录。
(2)在Ngrok官方网站注册账号并获取授权密钥。
(3)在终端中执行如下命令,启动Ngrok服务:
`./ngrok authtoken <你的授权密钥>`(4)启动Ngrok内网穿透并指定要绑定的内网服务端口:
`./ngrok http <内网服务端口>`(5)Ngrok会生成一个公网访问地址,通过该地址即可访问到内网服务。
3. FRP
FRP是一种高性能的反向代理工具,可以实现将内网服务映射到公网上。具体操作如下:(1)下载FRP并解压缩到指定目录。
(2)编辑frpc.ini配置文件,配置反向代理服务:
`[common]
server_addr =
server_port =
token = <连接密码>
[ssh]
type = tcp
local_ip = <本地内网主机IP地址>
local_port = <本地内网SSH服务端口>
remote_port = <公网映射端口>`例如: `[common]
server_addr = 123.45.6.78
server_port = 7000
token = abcdefg
[ssh]
type = tcp
local_ip = 192.168.1.100
local_port = 22
remote_port = 2222`(3)保存并关闭配置文件。
(4)在终端中执行如下命令,启动FRP客户端:
`./frpc -c ./frpc.ini`(5)此时,可以通过FRP服务器的IP地址和指定的公网映射端口,访问内网主机的SSH服务。
4. Sshuttle
Sshuttle是基于SSH的全透明代理工具,可以将流量通过SSH通道路由到内网主机。具体操作如下:(1)安装Sshuttle工具:
`sudo apt-get install sshuttle`(2)在终端中执行以下命令,启动Sshuttle代理:
`sudo sshuttle -r@ <内网主机IP地址的子网>` 例如: `sudo sshuttle -r user@example.com 192.168.1.0/24`,表示将内网主机192.168.1.0/24的流量通过SSH通道转发。
(3)此时,本机的所有流量都会通过SSH通道路由到内网主机。
三、总结
以上介绍了几种常见的Linux命令行内网穿透工具,包括SSH端口转发、Ngrok、FRP和Sshuttle。根据具体的需求和网络环境,可以选择适合的工具进行配置和使用。这些工具在实现内网穿透方面均具有不同的优势和特点,可以根据具体情况选择最合适的工具来满足需求。2年前