不要公网地址访问内网服务器
1. 无需公网IP,ssh外部访问家中内网
无需公网IP,可以通过以下步骤实现ssh外部访问家中内网:
注册并配置NoIP:
- 注册NoIP账号:访问NoIP网站并注册一个账号。
- 安装并配置NoIP客户端:在你的家中内网设备上安装NoIP提供的客户端工具。该工具会实时监控设备所在网络的IP地址变化,并自动更新到NoIP服务器上。
- 获取域名:通过NoIP,你可以获得一个免费的域名。使用这个域名,你可以访问到你的家中路由器。
在路由器中设置端口映射:
- 登录路由器管理界面:使用浏览器登录到你的路由器管理界面。
- 找到端口映射或DDNS设置:在路由器的设置菜单中,找到端口映射或DDNS相关设置。
- 配置端口映射:将外部端口映射到你家中内网设备的特定端口上。这样,当外部设备尝试通过SSH连接到你的域名时,路由器会将连接转发到指定的内网设备上。
在外部设备上使用SSH进行连接:
- 打开SSH客户端:在你的外部设备上打开SSH客户端。
- 输入连接命令:使用以下格式的命令连接到你的家中内网设备:ssh 用户名@你的NoIP域名 p 外部端口号。例如,如果你的用户名是user,NoIP域名是myhome.noip.me,外部端口号是2222,则命令为ssh [email protected] p 2222。
注意事项:
- 安全性:确保你的路由器和SSH服务都设置了强密码,并考虑使用SSH密钥认证来提高安全性。
- 网络配置:不同品牌和型号的路由器可能有不同的设置方法和界面,因此请根据你路由器的具体情况进行操作。
- 防火墙设置:确保你的防火墙或安全软件允许SSH连接通过。
通过上述步骤,你就可以在无需公网IP的情况下,通过SSH远程访问家中的内网设备了。
2. 外网为什么访问不了内网服务器
1. 如果服务器使用的IP地址是内网IP,例如以192.168开头,那么它无法直接从外网访问。这是因为全球有成千上万的设备可能拥有相同的内网IP地址。
2. 外网用户只能访问到网络中的路由器(或硬件防火墙)的外网端口,这个端口关联的是一个公网IP地址。
3. 若要从外网访问内网的服务器,必须在路由器(或防火墙)的外网端口上配置网络地址转换(NAT)。这样可以将外网IP地址的指定端口映射到内网服务器上,这一过程称为端口映射。
4. 例如,如果内网中有一台Web服务器,它启用了80端口,那么需要在路由器上设置NAT,将外网端口的80端口映射到内网服务器的80端口。
5. 配置完成后,外网用户可以通过输入这台路由器的公网IP地址来访问内网服务器的Web页面。在外网环境中,只能使用公网IP地址进行访问。
3. 怎么才能在外网访问内网服务器的网站
一、确保页面在内网可正常访问
比如,Tomcat默认页面是:http://localhost:8080/
二、确认内网IP和外网IP
1、Windows系统的内网IP查询办法:
a、按下“Win+R”快捷键,打开“运行”窗口;
b、在“运行”窗口里输入“cmd”并按Enter键,打开命令(Command)窗口;
c、在命令行中输入“ipconfig”,即可查到本机的内网IP(IPv4 地址);
本地链接 IPv6 地址. . . . . . . . : fe80::cca4:d1c:35d1:a149%13
IPv4 地址 . . . . . . . . . . . . : 192.168.0.123
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.0.1
2、外网IP的查询办法:
打开浏览器,输入网址“ip.cn”,并按Enter键前往,即可看到外网IP了。
当前 IP:122.233.45.140 来自:浙江省杭州市 电信
GeoIP: Hangzhou, Zhejiang, China
三、设置本地的路由器的端口转发功能
1、登陆路由器(TP-LINK)的管理页面(http://192.168.0.1/);
2、在“转发规则-虚拟服务器”下设置:
服务端口号:8080
IP地址:192.168.0.123
协议:ALL
状态:生效
或者在“转发规则-DMZ主机”下设置“虚拟服务”:
DMZ 状态:启用
DMZ 主机IP地址:192.168.0.123
设置并保存好后,就可以通过外网IP访问内网的网页了:
http://122.233.45.140:8080/
DMZ(Demilitarize Zone)即非军事区,它将主机从防火墙内暴露给外网。
它无需设置端口,也就是所有端口全部开放,所以,安全风险很大。