我们大多普通网络下,都是没有公网IP的。当我们在本地搭建部署服务器后,同时需要外网访问时,内网需要做什么设置呢?
外网访问内网,需要从内到外的一些相关网络操作,完成本地网络配置、安全防护设置、利用一些网络方法手段开放出去公网上、以及后续维护工作,以此确保访问的可行性与稳定性。
一、需要访问什么?明确应用场景本身的内网地址
常见的有如网站服务、远程桌面计算机端口、数据库、或指定端口应用程序。在让外网访问前,先内网本地明确,所对应端口应用本身正常部署好,且在局域网内可以正常访问到。
二、防火墙与安全软件配置(允许本地端口给其他设备连接访问)
计算机上的端口应用在其他电脑连接访问时,会经过目标主机上的防火墙。所以我们需要关闭防火墙临时测试,或设置好防火墙对应的入口规则,只开放必须的端口,以提升网络安全。
防火墙规则优化:无论是硬件防火墙还是软件防火墙,都需要进行合理的规则配置。
在 Linux 系统中,常用的软件防火墙是 iptables。要允许服务端的监听端口(如 7000)通过防火墙,使用命令iptables -A INPUT -p tcp --dport 7000 -j ACCEPT 。同时,为了防止外部非法访问,需要添加拒绝规则,如iptables -A INPUT -j DROP,这条规则会拒绝所有未明确允许的流量。但在实际应用中,需要根据具体需求谨慎配置,避免误拒合法流量。
三、利用路由器端口映射 规则设置让互联网访问
端口映射原理与操作:端口映射是实现外网访问内网的关键步骤。在大多数内网环境中,内网设备使用私有 IP 地址,无法直接被外网访问。通过在路由器或防火墙上设置端口映射,可将外网的特定端口请求转发到内网服务器的对应端口和 IP 地址。
例如,若内网中有一台 Web 服务器,其 IP 地址为 192.168.1.100,端口为 80,希望外网用户能通过公网 IP 的 8080 端口访问该 Web 服务器。
以常见的家用路由器为例,登录路由器管理界面,一般在 “虚拟服务器” 或 “端口转发” 选项中进行设置。填写相关信息,如服务名称自定义为 “WebServer”,外部端口填 8080,内部端口填 80,内部 IP 地址填 192.168.1.100,协议选择 TCP(因为 Web 服务通常使用 TCP 协议),保存设置后,外网用户即可通过 “公网 IP:8080” 访问到内网的 Web 服务器。
四、使用内网穿透工具给外网访问
借助三方网址端口映射软件,将内网IP端口变成公网地址端口,从而实现互联网对内网本地的连接访问。常见的内网映射工具有如nat123、frp、等。
nat123配置:登录nat123客户端后,在界面中找到 “添加映射” 选项。若要将内网的 MySQL 数据库服务器映射到外网,填写内网服务器的 IP 地址、MySQL 端口号(默认为 3306),以及自定义的外网访问域名(如果有自己域名则可填写使用自己域名)或使用默认提供的二级域名(可自定义对应二级字符方便记住)。保存设置后,即可通过自定义的外网访问地址访问内网的 MySQL 服务器。
frp 配置详解:采用客户端 - 服务端架构。先在 frp 官网下载适合 系统的 frp 版本,下载完成后解压压缩包 。服务端配置时,在服务器根目录新建/frps文件夹并设置权限为 777:mkdir /frps && chmod 777 /frps 。进入解压后的 frp 文件夹,编辑frps.ini文件,设置服务端连接监听端口,如bind_port = 7000;设置用于身份验证的 token,防止非法连接;若需要可视化面板,还可设置面板端口和账号密码,如dashboard_port = 7500,dashboard_user = admin,dashboard_pwd = admin 。然后将frps和frps.ini文件移动到/frps文件夹中,在终端进入该文件夹,执行./frps -c./frps.ini启动 frp 服务端。客户端配置类似,在本地 服务器根目录新建/frpc文件夹并设置权限,编辑frpc.ini文件,设置 frp 服务器地址、端口和 token,确保与服务端一致。接着设置内网设备的信息和映射端口,如要映射内网的 SSH 服务,配置[ssh]部分,type = tcp,local_ip = 127.0.0.1,local_port = 22,remote_port = 6000 。最后将frpc和frpc.ini文件移动到/frpc文件夹中,执行./frpc -c./frpc.ini启动 frp 客户端。
五、运用VPN 搭建异地访问内网
VPN 类型选择与搭建:虚拟专用网络(VPN)是一种通过互联网在不同网络之间建立安全连接的技术。常见的 VPN 类型有 IPsec VPN、OpenVPN 等。
以 OpenVPN 为例,在 Linux 服务器上搭建。首先安装 OpenVPN 软件包,在基于 Debian 或 Ubuntu 的系统中,使用命令apt - get install openvpn 。安装完成后,编辑 OpenVPN 的配置文件,一般位于/etc/openvpn/目录下。配置文件中需要设置服务器的 IP 地址、端口号、证书相关信息等。例如,设置local <服务器公网IP>,port 1194,同时生成服务器和客户端的证书和密钥,用于身份验证和加密通信。生成证书可以使用 EasyRSA 工具,按照其操作步骤生成相关证书文件,并将服务器证书和密钥配置到 OpenVPN 配置文件中。最后启动 OpenVPN 服务,使用命令systemctl start openvpn@server (假设配置文件名为 server.conf)。
VPN 在安全访问中的应用:外网用户通过 VPN 访问内网时,首先需要在本地设备上安装 OpenVPN 客户端软件,并导入之前生成的客户端证书和密钥。打开客户端软件,输入服务器的 IP 地址和端口号,连接成功后,就可以通过 VPN 通道访问内网资源。由于 VPN 采用了加密技术,数据在传输过程中被加密,防止被窃取和篡改,大大提高了外网访问内网的安全性。例如,企业员工在外出差时,通过 VPN 连接到企业内网,访问企业内部的文件服务器、邮件服务器等,就像在企业内部网络中一样安全便捷。