如何在CentOS系统中查看与配置公网IP地址?

理解公网IP的基本概念

在服务器管理中,公网IP是一个关键要素,它相当于服务器在互联网上的“门牌号”,允许外部设备通过这一地址访问本地资源,对于使用CentOS系统的服务器来说,正确配置和管理公网IP是保障服务可访问性的基础。

如何查看CentOS服务器的公网IP

若需确认当前服务器的公网IP,可通过以下命令快速获取:

curl ifconfig.me

或使用国内服务商提供的接口:

curl cip.cc

执行后,终端会返回公网IP、地理位置及网络运营商信息,需注意,若服务器部署在NAT(网络地址转换)环境中,可能需通过控制台或云服务商后台查看真实公网IP。

配置静态公网IP的步骤

部分场景下(如自建机房或物理服务器),需手动为CentOS配置静态公网IP,操作流程如下:

1、定位网卡配置文件

CentOS 7及以上版本默认使用NetworkManager,配置文件路径为:

/etc/sysconfig/network-scripts/ifcfg-eth0

(注:网卡名称可能因环境不同而存在差异,如ens192、enp0s3等)

2、修改网络配置

使用文本编辑器打开文件,调整以下参数:

BOOTPROTO=static  
ONBOOT=yes  
IPADDR=xxx.xxx.xxx.xxx  # 填写实际公网IP  
NETMASK=255.255.255.0  
GATEWAY=xxx.xxx.xxx.1    # 网关地址通常为运营商提供  
DNS1=8.8.8.8  
DNS2=114.114.114.114

3、重启网络服务

systemctl restart network

验证配置是否生效:

ip addr show eth0

动态公网IP的管理策略

对于家庭宽带或动态分配公网IP的环境,IP地址可能因重启或运营商策略而变动,此时可通过DDNS(动态域名解析)服务实现域名与IP的绑定,推荐工具:

Cloudflare API:适用于已有域名的用户,支持自动化脚本更新IP。

花生壳(Oray):提供免费动态域名解析服务,适合个人用户。

配置示例(使用Cloudflare API):

#!/bin/bash  
NEW_IP=$(curl -s http://ipecho.net/plain)  
curl -X PUT "https://api.cloudflare.com/client/v4/zones/区域ID/dns_records/记录ID" \  
-H "Authorization: Bearer API密钥" \  
-H "Content-Type: application/json" \  
--data '{"type":"A","name":"域名","content":"'$NEW_IP'","ttl":120}'

将此脚本加入定时任务(crontab),每小时自动更新IP。

公网IP的安全防护建议

暴露公网IP可能带来安全风险,需采取以下措施加固服务器:

1、启用防火墙

使用firewalld或iptables限制非必要端口访问,仅开放80(HTTP)、443(HTTPS)及SSH端口:

firewall-cmd --permanent --add-port=80/tcp  
firewall-cmd --permanent --add-port=443/tcp  
firewall-cmd --permanent --add-port=22/tcp  
firewall-cmd --reload

2、修改SSH默认端口

降低暴力破解风险:

sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config  
systemctl restart sshd

3、部署Fail2ban

自动屏蔽多次登录失败的IP:

yum install epel-release -y  
yum install fail2ban -y  
systemctl enable --now fail2ban

4、定期更新系统

yum update -y && yum upgrade -y

公网IP与内网穿透的替代方案

若无法直接获取公网IP(如企业内网环境),可通过内网穿透工具实现外部访问,常用方案包括:

Ngrok:开源工具,支持TCP/UDP隧道。

frp:高性能反向代理,配置灵活。

ZeroTier:组建虚拟局域网,绕过复杂网络限制。

以frp为例,服务端配置(公网服务器):

[common]  
bind_port = 7000

客户端配置(内网CentOS服务器):

[common]  
server_addr = 公网服务器IP  
server_port = 7000  
[web]  
type = tcp  
local_ip = 127.0.0.1  
local_port = 80  
remote_port = 8080

启动后,外部用户可通过公网IP:8080访问内网80端口服务。

验证公网IP的连通性

完成配置后,需测试公网IP是否生效:

1、本地检测

ping -c 4 公网IP

若返回正常延迟,说明IP可达。

2、外部端口扫描

使用在线工具(如tool.chinaz.com/port)检查端口开放状态。

3、路由追踪

分析网络路径是否存在异常节点:

traceroute 公网IP

个人观点

公网IP的配置与管理是服务器运维的基础技能,但细节决定成败,尤其在安全防护层面,过度依赖默认设置可能导致严重漏洞,实际运维中,建议结合监控工具(如Prometheus+Alertmanager)实时跟踪网络状态,并定期审计防火墙规则,技术迭代迅速,保持对新工具(如IPv6过渡方案、WireGuard VPN)的关注,才能更高效地应对复杂场景。

发布于 2025-05-22 12:27:28
分享
海报
225
上一篇:CentOS系统如何查看IP地址?常用命令有哪些? 下一篇:如何在CentOS 6.8上安装和配置DRBD?
目录

    推荐阅读

    忘记密码?

    图形验证码