您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux系统怎么使用firewall限制或开放IP及端口
## 前言
在Linux服务器管理中,防火墙是保障系统安全的重要组件。通过合理配置防火墙规则,可以限制或开放特定IP及端口的访问权限,有效防止恶意攻击和未授权访问。本文将详细介绍在Linux系统中使用`firewalld`、`iptables`以及`ufw`三种主流工具实现IP及端口管控的方法。
---
## 一、firewalld工具配置
### 1. firewalld基础概念
作为RHEL/CentOS 7+及Fedora的默认防火墙工具,firewalld提供动态管理功能:
- **区域(Zone)**:预定义的网络信任级别(如public/dmz/trusted)
- **服务(Service)**:预配置的端口/协议组合(如http/ssh)
- **运行时(Runtime)**与**永久(Permanent)**配置
### 2. 常用命令示例
#### 查看当前状态
```bash
systemctl status firewalld # 检查服务状态
firewall-cmd --state # 确认防火墙是否运行
firewall-cmd --list-all # 显示当前区域规则
# 临时开放80端口
firewall-cmd --add-port=80/tcp
# 永久开放443端口
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --reload
# 限制3306端口
firewall-cmd --remove-port=3306/tcp --permanent
# 允许192.168.1.100访问SSH
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'
# 禁止10.0.0.0/24网段
firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" drop'
端口转发:将外部端口转发到内部服务器
firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.1.2
自定义服务:创建新的服务定义
cp /usr/lib/firewalld/services/http.xml /etc/firewalld/services/myapp.xml
# 编辑后重载生效
作为经典的Linux防火墙工具,iptables通过规则链(Chain)进行流量控制: - INPUT:处理入站流量 - OUTPUT:处理出站流量 - FORWARD:处理转发流量
iptables -A 链名 -p 协议 --dport 端口 -j 动作
# 允许192.168.1.5访问22端口
iptables -A INPUT -p tcp -s 192.168.1.5 --dport 22 -j ACCEPT
# 拒绝10.0.0.0/8网段
iptables -A INPUT -s 10.0.0.0/8 -j DROP
# 开放80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 限制UDP 53端口
iptables -A INPUT -p udp --dport 53 -j REJECT
# CentOS/RHEL
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables
# Ubuntu/Debian
apt install iptables-persistent
netfilter-persistent save
iptables -L -n -v # 查看详细规则计数器
iptables -Z # 重置计数器
iptables -D INPUT 3 # 删除INPUT链第三条规则
Ubuntu的Uncomplicated Firewall提供简化配置:
ufw enable # 启用防火墙
ufw status verbose # 查看状态
# 允许来自特定IP的访问
ufw allow from 203.0.113.45 to any port 22
# 限制网段访问3306端口
ufw deny from 10.10.0.0/16 to any port 3306
# 删除规则(先通过numbered查看编号)
ufw delete 2
# 速率限制SSH连接
ufw limit 22/tcp
# 允许特定网卡
ufw allow in on eth0 to any port 9090
iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROPPED: "
nmap
自检开放端口
nmap -sT -O localhost
规则不生效:
连接被拒绝:
telnet 目标IP 端口 # 测试连通性
tcpdump -i eth0 port 80 # 抓包分析
服务无法启动:
journalctl -xe # 查看详细日志
firewall-cmd --check-config # 验证配置
通过合理配置防火墙规则,管理员可以实现精细化的网络访问控制。建议根据实际需求选择工具: - 新手用户:优先使用ufw或firewalld - 复杂环境:结合iptables实现高级功能 - 生产环境:务必在测试后操作,避免锁死远程连接
安全提示:操作防火墙前请确保保留有效的SSH连接,或配置好console访问权限。
(示意图:防火墙数据包过滤流程)
延伸阅读: - Linux防火墙深度指南 - iptables官方手册 “`
注:实际图片URL需替换为有效地址,字数统计约2650字(含代码块)。可根据具体发行版调整命令细节,生产环境建议先测试规则。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。