如何配置VPS入站列表?
| 端口 |
协议 |
源IP |
动作 |
描述 |
| 22 |
TCP |
0.0.0.0/0 |
允许 |
SSH远程连接 |
| 80 |
TCP |
0.0.0.0/0 |
允许 |
HTTP网页服务 |
| 443 |
TCP |
0.0.0.0/0 |
允许 |
HTTPS安全网页 |
| 3306 |
TCP |
192.168.1.0/24 |
允许 |
内网MySQL访问 |
|
|
0.0.0.0/0 |
拒绝 |
默认拒绝所有 |
VPS入站列表配置完全指南
入站列表是VPS安全配置的核心环节,它决定了哪些外部连接可以访问你的服务器。正确配置入站规则能够有效防止未经授权的访问,保障服务器安全。
主要配置步骤
| 步骤 |
操作内容 |
工具/命令 |
| 1 |
登录VPS服务器 |
SSH客户端 |
| 2 |
检查当前防火墙状态 |
iptables/ufw |
| 3 |
添加入站规则 |
防火墙命令 |
| 4 |
保存配置 |
持久化命令 |
| 5 |
验证规则生效 |
测试命令 |
详细操作流程
步骤1:登录VPS服务器
操作说明:使用SSH客户端连接到你的VPS服务器。
使用工具提示:Windows系统推荐使用PuTTY或Windows Terminal,Linux/macOS系统使用终端自带的SSH命令。
ssh username@yourserverip
代码块模拟工具界面:
Login as: root
root@yourserverip's password:
Last login: Mon Oct 28 14:30:22 2024 from 192.168.1.100
[root@vps ~]#
步骤2:检查当前防火墙状态
操作说明:查看现有的防火墙规则,了解当前配置情况。
使用工具提示:根据系统使用的防火墙工具选择相应命令。
代码块模拟工具界面:
# 对于iptables系统
[root@vps ~]# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
对于ufw系统
[root@vps ~]# ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
步骤3:添加入站规则
操作说明:根据服务需求添加相应的入站规则。
使用工具提示:iptables适用于大多数Linux发行版,ufw提供更简单的配置界面。
代码块模拟工具界面:
# 使用iptables添加规则示例
[root@vps ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@vps ~]# iptables -A INPUT -p tcp --dport 443 -j ACCEPT
[root@vps ~]# iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
使用ufw添加规则示例
[root@vps ~]# ufw allow 80/tcp
[root@vps ~]# ufw allow 443/tcp
[root@vps ~]# ufw allow from 192.168.1.0/24 to any port 22
步骤4:保存配置
操作说明:确保防火墙规则在服务器重启后仍然有效。
使用工具提示:不同系统使用不同的持久化方法。
代码块模拟工具界面:
# CentOS/RHEL系统
[root@vps ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[OK]
Ubuntu/Debian系统(使用ufw)
[root@vps ~]# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
步骤5:验证规则生效
操作说明:测试配置的规则是否正常工作。
使用工具提示:使用telnet、nc或专门的端口扫描工具进行验证。
代码块模拟工具界面:
# 从另一台服务器测试端口
[user@client ~]$ telnet yourserverip 80
Trying yourserverip...
Connected to yourserverip.
Escape character is ''.
本地检查规则
[root@vps ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
常见问题与解决方案
| 问题 |
原因 |
解决方案 |
| 无法通过SSH连接服务器 |
防火墙阻止了SSH端口 |
检查22端口是否开放,确认源IP限制是否正确 |
| 网站服务无法访问 |
HTTP/HTTPS端口未开放 |
添加80和443端口的允许规则,检查服务是否正常运行 |
| 规则重启后丢失 |
配置未持久化保存 |
使用iptables-save或ufw enable命令保存配置 |
| 特定IP无法访问服务 |
源IP限制过于严格 |
检查规则中的源IP范围,适当放宽或添加例外 |
| 防火墙服务无法启动 |
规则配置冲突或语法错误 |
检查规则语法,使用防火墙验证工具排查冲突 |
配置VPS入站列表时,建议遵循最小权限原则,只开放必要的端口和服务。定期审查和更新规则,移除不再需要的访问权限,保持服务器安全状态。
对于生产环境,建议设置严格的源IP限制,特别是对于数据库和管理端口。同时,考虑使用fail2ban等工具增强防护,自动封禁恶意尝试连接的IP地址。
发表评论