如何设置端口映射? 常见本地计算机内网ip端口映射给公网外网访问的详细方法步骤

一台计算机或网络设备访问另一台时,实质是访问对应的端口程序,不同程序应用分别使用不同的端口号。

如何查看服务器当前开放的端口:在 Windows 系统中,可通过命令提示符输入netstat -ano查看;在 Linux 系统中,可使用netstat -tuln或lsof -i命令查看。

设置端口映射,简单来说就是将一台物理服务器上的端口关联到另一台服务器的端口,从而实现让后者访问前者的资源。要完成这一设置,需要依次在防火墙、路由器以及目标服务器应用程序上进行相应操作。对于内网本地计算机在没有公网IP的情况下,需要提供外网访问的场景,可以用nat123端口映射工具来实现。

一、防火墙设置

防火墙在网络安全中起着关键作用,它控制着网络间的访问和数据传输。在设置端口映射时,首先要让防火墙允许指定端口的映射,以便外部能够访问服务器上的资源。

(一)Windows 防火墙设置

1、打开防火墙设置

通过 Windows 搜索栏输入 “控制面板”,打开控制面板窗口。在控制面板中,找到 “系统和安全” 选项,点击进入后选择 “Windows Defender 防火墙”。也可以直接在搜索栏中输入 “Windows Defender 防火墙”,快速找到并打开。

2、进入高级设置

在 Windows Defender 防火墙界面左侧,点击 “高级设置”,进入高级安全 Windows Defender 防火墙窗口。这里可以对防火墙的各种规则进行详细配置。

3、新建入站规则

在高级安全 Windows Defender 防火墙窗口中,点击左侧的 “入站规则”,然后在右侧点击 “新建规则”。在弹出的新建入站规则向导中,选择 “端口” 选项,点击 “下一步”。

4、配置端口设置

在 “协议和端口” 页面,选择 “TCP” 或 “UDP” 协议,根据要映射的服务来确定。如果是 Web 服务,通常选择 TCP 协议。然后选择 “特定本地端口”,并输入要映射的端口号,比如常见的 Web 服务端口 80 或 443。点击 “下一步”。

5、设置操作和作用域

在 “操作” 页面,选择 “允许连接”,这样外部设备才能通过该端口访问服务器。在 “作用域” 页面,可以设置允许访问的源 IP 地址范围,如果不确定,可以留空表示允许所有来源。点击 “下一步”。

6、配置配置文件和名称

在 “配置文件” 页面,选择该规则适用的网络环境,如域、专用、公用等,一般全选即可。最后,在 “名称” 页面,输入一个便于识别的规则名称,如 “Web 服务端口映射”,点击 “完成”。

(二)Linux 防火墙设置(以 Ubuntu 为例,使用 UFW 防火墙)

1、安装 UFW 防火墙(如果未安装)

打开终端,输入命令sudo apt-get install ufw,按照提示完成安装。

2、启用 UFW 防火墙

在终端输入sudo ufw enable,启用防火墙。

3、允许端口映射

输入命令sudo ufw allow <端口号>/<协议>,例如要允许 TCP 协议的 80 端口映射,输入sudo ufw allow 80/tcp。如果要允许 UDP 协议的某个端口,将命令中的协议和端口号替换即可。

二、路由器设置

防火墙设置完成后,需要在路由器上进行端口映射配置,让路由器将接收到的请求转发到目标服务器。这对于有路由权限和有公网IP时,是可以实现让外网异地访问本地端口程序的一种常用方法。

(一)登录路由器管理界面

1、确定路由器 IP 地址

打开命令提示符(Windows)或终端(Linux、Mac),输入ipconfig(Windows)或ifconfig(Linux、Mac)命令,查看本地连接的详细信息,找到 “默认网关”,这就是路由器的 IP 地址,常见的如 192.168.1.1 或 192.168.0.1。

2、打开浏览器登录

在浏览器地址栏输入路由器 IP 地址,按下回车键,在弹出的登录界面输入路由器的用户名和密码。如果没有修改过,大部分路由器的默认用户名和密码为 admin。

(二)设置端口映射

1、找到端口映射选项

不同品牌和型号的路由器,其端口映射设置位置和名称可能不同。一般在 “高级设置”“转发规则”“虚拟服务器” 等菜单中。例如,TP - LINK 路由器在 “转发规则” 中的 “虚拟服务器” 选项;小米路由器在 “高级设置” 中的 “端口转发” 选项。

2、配置映射参数

进入端口映射设置页面后,填写以下信息:

-服务名称:自定义一个名称,方便识别,如 “Web 服务器端口映射”。

-内部 IP 地址:填写目标服务器的内网 IP 地址,确保目标服务器与路由器在同一局域网内。

-内部端口:填写目标服务器上运行服务的端口号,如 Web 服务的 80 端口。

-外部端口:可以与内部端口相同,也可以根据需要设置不同的端口号,这是外网访问路由器时使用的端口。

-协议类型:选择与服务对应的协议,如 TCP 或 UDP。

3、保存设置

填写完所有参数后,点击 “保存”“应用” 或 “确定” 按钮,使端口映射设置生效。

三、目标服务器应用程序设置

在防火墙和路由器设置完成后,还需要在目标服务器上的应用程序中进行相应设置,确保应用程序能够正确响应外部请求。

(一)以 Web 服务器为例(使用 Apache 服务器)

1、配置 Apache 服务器

找到 Apache 服务器的配置文件,一般在/etc/apache2/目录下,文件名为apache2.conf或httpd.conf。使用文本编辑器打开该文件。

2、设置监听端口

在配置文件中找到Listen指令,默认情况下可能是Listen 80。如果在路由器上设置的外部端口不是 80,需要将此处的端口号修改为与外部端口一致,例如Listen 8080。

3、重启 Apache 服务器

保存配置文件后,在终端输入sudo systemctl restart apache2(Ubuntu 系统)或sudo service httpd restart(CentOS 系统),使配置生效。

(二)以 FTP 服务器为例(使用 VSFTPD 服务器)

1、配置 VSFTPD 服务器:打开 VSFTPD 的配置文件,一般在/etc/vsftpd.conf。使用文本编辑器打开该文件。

2、设置端口号

找到listen_port选项,如果没有则添加,将其值设置为与路由器映射的端口号一致,例如listen_port=2121。

3、重启 VSFTPD 服务器

保存配置文件后,在终端输入sudo systemctl restart vsftpd(Ubuntu 系统)或sudo service vsftpd restart(CentOS 系统),使配置生效。

四、验证端口映射

1、使用端口扫描工具

可以使用在线端口扫描工具,如 “站长工具” 中的端口扫描功能,输入路由器的公网 IP 地址和设置的外部端口号,进行端口扫描。如果端口扫描结果显示端口处于开放状态,说明端口映射设置成功。也可以使用专业的端口扫描软件,如 Nmap,在命令行中输入nmap -p <外部端口号> <公网IP地址>进行扫描。

2、实际访问目标服务器

在另一台处于外网的设备上,通过浏览器或相应的客户端软件,输入路由器的公网 IP 地址和设置的外部端口号,尝试访问目标服务器上的服务。例如,如果是映射 Web 服务器端口,在浏览器中输入公网 IP 和端口号后,应该能够看到 Web 页面;如果是映射 FTP 服务器端口,使用 FTP 客户端软件输入公网 IP 和端口号,应该能够连接到 FTP 服务器并进行文件传输等操作。

通过以上步骤,就可以完成端口映射的设置,实现一台服务器上的资源被另一台服务器访问。在操作过程中,要仔细核对各项设置参数,确保设置正确无误。

3、端口映射失败常见原因及解决方法

常见原因包括防火墙未正确配置、路由器设置错误、目标服务器应用程序配置有误等。解决方法是仔细检查各环节设置,查看相关日志文件获取错误信息,逐步排查问题。

五、无公网IP内网端口映射外网访问

内网穿透技术应用,是一种通用的内网端口映射公网的一种有效方案,它不用公网IP,也不需要路由设置,因此获得较为广泛的场景使用。原理是用类似nat123端口映射工具,直接将本地内网地址转换成公网地址。核心重要操作步骤如下:

1、内网IP端口访问

目标服务器本地程序端口开启正常后,在局域网内可以正常访问到对应的内网Ip端口。

2、内网IP端口绑定公网地址端口

在目标内网主机本地,或另台局域网互通主机上,下载安装nat123客户端并登录。登录后界面上“添加映射”进入设置端口映射(如是Linux无界面客户端,需要登录对应官网管理后台添加修改操作)。

通过这一步添加映射配置,自定义填写好本地内网IP端口(局域网本地访问的IP端口)和外网地址端口(给外部网络访问用的域名和端口)保存即可。

3、公网地址端口访问

在外部网络下访问对应使用nat123映射绑定的域名和外网端口号。内网端口映射外网访问过程就完成了。

需要注意的是如果使用自己域名来映射访问时,同时还需要在自己注册域名解析网上添加对应的域名解析指向让自己域名生效。使用自动生成的二级域名时,可以修改对应的二级字符方便记住,且这个域名是不变的。

端口映射技术通常用于内网IP端口开放给互联网连接访问的场景需求。不管是使用路由器端口映射功能,还是使用nat123端口映射,都可以实现同样的效果,结合自己本地网络环境选择使用即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值