Linux系统怎么使用firewall限制或开放IP及端口

发布时间:2022-01-26 10:40:01 作者:kk
来源:亿速云 阅读:990
# 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

IP地址管控

# 允许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'

3. 高级配置技巧


二、iptables传统配置方法

1. iptables核心概念

作为经典的Linux防火墙工具,iptables通过规则链(Chain)进行流量控制: - INPUT:处理入站流量 - OUTPUT:处理出站流量 - FORWARD:处理转发流量

2. 规则配置示例

基本语法结构

iptables -A 链名 -p 协议 --dport 端口 -j 动作

允许特定IP访问

# 允许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

3. 规则持久化保存

# CentOS/RHEL
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables

# Ubuntu/Debian
apt install iptables-persistent
netfilter-persistent save

4. 实用调试技巧

iptables -L -n -v  # 查看详细规则计数器
iptables -Z         # 重置计数器
iptables -D INPUT 3 # 删除INPUT链第三条规则

三、ufw简易防火墙配置

1. ufw简介

Ubuntu的Uncomplicated Firewall提供简化配置:

ufw enable  # 启用防火墙
ufw status verbose  # 查看状态

2. 快速配置示例

# 允许来自特定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

3. 高级应用

# 速率限制SSH连接
ufw limit 22/tcp

# 允许特定网卡
ufw allow in on eth0 to any port 9090

四、安全配置建议

  1. 最小权限原则:仅开放必要端口
  2. 日志监控:记录被拒绝的连接尝试
    
    iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROPPED: "
    
  3. 组合使用:firewalld/ufw+iptables实现多层防护
  4. 定期审计:使用nmap自检开放端口
    
    nmap -sT -O localhost
    

五、故障排查指南

常见问题处理

  1. 规则不生效

    • 检查规则顺序(iptables按顺序匹配)
    • 确认已保存并重载配置
  2. 连接被拒绝

    telnet 目标IP 端口  # 测试连通性
    tcpdump -i eth0 port 80  # 抓包分析
    
  3. 服务无法启动

    journalctl -xe  # 查看详细日志
    firewall-cmd --check-config  # 验证配置
    

结语

通过合理配置防火墙规则,管理员可以实现精细化的网络访问控制。建议根据实际需求选择工具: - 新手用户:优先使用ufw或firewalld - 复杂环境:结合iptables实现高级功能 - 生产环境:务必在测试后操作,避免锁死远程连接

安全提示:操作防火墙前请确保保留有效的SSH连接,或配置好console访问权限。

Linux系统怎么使用firewall限制或开放IP及端口 (示意图:防火墙数据包过滤流程)

延伸阅读: - Linux防火墙深度指南 - iptables官方手册 “`

注:实际图片URL需替换为有效地址,字数统计约2650字(含代码块)。可根据具体发行版调整命令细节,生产环境建议先测试规则。

推荐阅读:
  1. 用nc检查某IP特定端口是否开放连接
  2. Linux开放端口和关闭端口的命令

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux firewall ip

上一篇:Linux下如何强制结束进程

下一篇:@Transactional注解怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》