检查当前端口使用情况
在配置端口前,先确认目标端口是否被占用或已开放。
1、查看已占用端口
输入命令:
sudo netstat -tuln | grep LISTEN
或使用更现代的ss
命令:
sudo ss -tuln
输出结果中,0.0.0.0:端口号
表示该端口对所有IP开放,127.0.0.1:端口号
表示仅限本地访问。
2、测试端口连通性
使用telnet
或nc
命令检查端口是否可达:
telnet 服务器IP 端口号 nc -zv 服务器IP 端口号
配置防火墙开放端口
Linux服务器通常通过防火墙(如iptables
或firewalld
)管理端口。
1. 使用 firewalld(推荐用于CentOS/RHEL)
- 开放单个端口:
sudo firewall-cmd --zone=public --add-port=端口号/tcp --permanent
- 重载防火墙规则:
sudo firewall-cmd --reload
2. 使用 ufw(Ubuntu/Debian)
- 允许端口:
sudo ufw allow 端口号/tcp
- 启用并验证规则:
sudo ufw enable sudo ufw status
3. 直接配置 iptables
若系统未使用高级防火墙工具,可通过iptables
手动添加规则:
sudo iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT
保存规则(避免重启失效):
sudo iptables-save > /etc/iptables/rules.v4 # Debian/Ubuntu sudo service iptables save # CentOS/RHEL
修改服务监听端口
若需为特定服务(如Nginx、SSH)修改端口,需调整其配置文件:
以SSH为例
1、编辑配置文件:
sudo nano /etc/ssh/sshd_config
2、找到#Port 22
,取消注释并修改端口号:
Port 新端口号
3、重启服务:
sudo systemctl restart sshd
高级场景:端口转发与安全建议
端口转发(NAT)
若服务器位于内网,可通过路由器或iptables
设置端口映射:
sudo iptables -t nat -A PREROUTING -p tcp --dport 外部端口 -j DNAT --to-destination 内网IP:内部端口
安全建议
1.避免使用常见端口:如将SSH从22改为非标准端口,减少暴力破解风险。
2.限制IP访问:通过防火墙仅允许特定IP访问敏感端口。
3.定期审查规则:使用iptables -L
或firewall-cmd --list-all
检查开放端口。
个人观点
端口管理是服务器安全的基础操作,但细节决定成败,配置时需兼顾功能与风险,非必要不开放高危端口(如MySQL的3306),并通过工具如fail2ban
增强防护,对于新手,建议先用测试环境演练,避免直接在生产服务器上操作。
文章摘自:https://idc.huochengrm.cn/fwq/7948.html
评论
巨蓉蓉
回复在Linux服务器上配置端口号,需编辑相应服务的配置文件,修改监听端口设置。
吾暄和
回复在Linux服务器上设置端口号,首先检查端口使用情况,然后通过firewalld、ufw或iptables配置防火墙开放端口,最后修改服务配置文件以监听新端口。
愈芬芬
回复在Linux服务器上,通过编辑`/etc/services`文件或使用`netstat`命令配置端口号。
壤驷飞舟
回复在Linux服务器上设置端口号,首先检查端口使用情况,使用`netstat`或`ss`命令查看,然后配置防火墙开放端口,如使用firewalld或ufw,最后修改服务配置文件以监听新端口。