从外网访问CentOS7局域网服务器,详细配置指南

admin
从外网访问CentOS7局域网服务器需多步配置:服务器端关闭SELinux,开放防火墙端口(如22),配置静态IP;路由器设置端口映射,将外网端口指向服务器内网IP;若为动态公网IP,需绑定DDNS域名;安全方面建议禁用root远程登录,启用SSH密钥认证,最后通过外网IP或域名加端口访问,并用telnetnmap测试连通性,注意定期更新系统,加固防火墙规则,确保访问安全。

在许多场景下,我们需要将局域网内的CentOS7服务器(如搭建的Web服务、数据库、文件共享等)从外网访问,但局域网服务器通常没有公网IP,直接访问会受到路由器NAT(网络地址转换)的限制,本文将详细介绍通过端口转发内网穿透(可选)等方法,实现从外网安全访问CentOS7局域网服务器的完整步骤,涵盖网络配置、防火墙设置、路由器端口转发及安全加固等关键环节。

前置条件:确认网络环境与服务器基础配置

在开始配置前,需确保以下条件满足:

局域网服务器已正常工作

  • CentOS7服务器已安装并启动,能通过局域网IP(如168.1.100)在内网中正常访问(如SSH、Web服务等)。
  • 服务器网络配置正确:通过ip addrifconfig查看内网IP(通常为168.x.xx.x.x段),确保IP是静态的(避免DHCP分配导致IP变化,可通过/etc/sysconfig/network-scripts/目录下的网卡配置文件修改,如ifcfg-ens33)。

局域网网关(路由器)支持端口转发

  • 路由器需具备端口转发(Port Forwarding)功能,几乎所有家用/企业路由器都支持。
  • 需知道路由器的管理IP(通常是168.1.1168.0.1等,通过ip route showroute -n查看默认网关获取)及登录密码。

获取公网IP地址

  • 局域网访问外网需通过路由器的公网IP(可访问ipinfo.iowhatismyip.com查询),若公网IP是动态的(家庭宽带常见),建议结合动态DNS(DDNS)服务(如花生壳、No-IP等),将动态IP绑定到固定域名,避免频繁更换IP导致访问失效。

步骤1:配置CentOS7服务器防火墙与目标服务

外网访问需通过路由器端口转发到服务器,但服务器自身防火墙(CentOS7默认使用firewalld)可能阻止外部连接,需开放目标服务的端口(如SSH默认22端口、Web服务80/443端口等)。

从外网访问CentOS7局域网服务器,详细配置指南

检查并启动firewalld

systemctl status firewalld  # 查看状态
systemctl start firewalld   # 若未启动,执行启动
systemctl enable firewalld  # 设置开机自启

开放目标端口并永久生效

以SSH服务(22端口)为例,若需开放Web服务(80端口),则添加对应端口:

# 开放SSH端口(22)
firewall-cmd --permanent --add-port=22/tcp
# 开放Web服务端口(80/HTTP、443/HTTPS)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
# 重新加载防火墙使配置生效
firewall-cmd --reload

确认服务已监听所有IP

确保目标服务(如SSH、Apache/Nginx)监听的是0.0.0(所有IP),而非仅0.0.1(本地)。

  • 检查SSH监听地址:编辑/etc/ssh/sshd_config,确保ListenAddress0.0.0(或注释掉该行,默认监听所有IP)。
  • 检查Web服务(以Nginx为例):netstat -tuln | grep :80,输出应为0.0.0:80::80

修改后重启服务(如SSH:systemctl restart sshd;Nginx:systemctl restart nginx)。

步骤2:配置路由器端口转发

路由器端口转发的核心作用:将外网对路由器公网IP+端口的请求,转发到局域网服务器的内网IP+端口。

登录路由器管理界面

在浏览器输入路由器管理IP(如168.1.1),输入用户名和密码登录(默认信息可查看路由器底部标签,或咨询网络管理员)。

找到“端口转发”或“虚拟服务器”菜单

不同路由器名称略有差异,常见路径:

  • 旧版路由器:转发规则虚拟服务器
  • 新版路由器:高级设置端口转发NAT转发

添加端口转发规则

以SSH服务(22端口)为例,填写以下信息:

  • 服务名称:自定义(如SSH-Server
  • 外部端口:外网访问的端口(若路由器公网IP为45.67.89,外部端口可填22,或自定义非系统端口如2222,避免与常见服务冲突)
  • 内部IP地址:CentOS7服务器的内网IP(如168.1.100,务必填写正确)
  • 内部端口:服务器实际监听的端口(SSH为22
  • 协议TCP(SSH为TCP,若服务需UDP则选UDP,或TCP/UDP
  • 状态启用

若需转发多个服务(如Web+SSH),需分别添加规则(例如Web服务:外部端口80→内部IP168.1.100→内部端口80)。

保存并重启路由器

保存配置后,部分路由器需重启端口转发功能或整机重启,使规则生效。

步骤3:验证外网访问与动态DNS(可选)

初步验证

  • 在外网网络(如手机流量、另一条宽带)中,通过浏览器或SSH工具访问:公网IP:外部端口(如45.67.89:2245.67.89:80)。
  • 若能正常登录SSH或访问Web页面,说明端口转发成功;若无法访问,检查:

    路由器端口转发规则是否填写正确(内部

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码