传统防火墙工具,基于命令行操作,适用于所有 Linux 发行版‌

传统防火墙工具在 Linux 系统中通常指的是 iptables,它是一个基于命令行的防火墙工具,适用于所有 Linux 发行版。iptables 提供了强大的网络流量控制功能,允许用户配置规则来过滤、转发和修改网络数据包。

基本概念

  • 表(Tables)iptables 使用不同的表来组织规则,常见的表有 filternatmangleraw
  • 链(Chains):每个表包含多个链,链是规则的集合。常见的链有 INPUTOUTPUTFORWARD
  • 规则(Rules):规则定义了如何处理数据包,包括匹配条件和目标动作。

常用命令

  1. 查看规则

    iptables -L -v -n
    
    • -L:列出规则。
    • -v:显示详细信息。
    • -n:以数字形式显示 IP 地址和端口。
  2. 添加规则

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
    • -A:追加规则到链的末尾。
    • -p:指定协议(如 tcpudp)。
    • --dport:指定目标端口。
    • -j:指定目标动作(如 ACCEPTDROPREJECT)。
  3. 删除规则

    iptables -D INPUT -p tcp --dport 22 -j ACCEPT
    
    • -D:删除指定规则。
  4. 保存规则

    iptables-save > /etc/iptables/rules.v4
    
    • 将当前规则保存到文件中。
  5. 恢复规则

    iptables-restore < /etc/iptables/rules.v4
    
    • 从文件中恢复规则。

示例配置

  1. 允许 SSH 访问

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  2. 允许 HTTP 和 HTTPS 访问

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  3. 拒绝所有其他流量

    iptables -A INPUT -j DROP
    

注意事项

  • 顺序重要:规则的顺序决定了匹配的优先级,先匹配的规则会先执行。
  • 持久化iptables 规则在重启后会丢失,需要将规则保存到文件中并在启动时恢复。
  • 测试:在应用规则前,建议在测试环境中进行验证,以避免意外中断网络服务。

替代工具

虽然 iptables 是传统且广泛使用的工具,但现代 Linux 发行版也提供了更高级的防火墙工具,如 nftablesfirewalld,它们提供了更简洁的配置方式和更多的功能。

Linux防火墙规则设置方法‌
一、防火墙工具简介‌
iptables‌
传统防火墙工具,基于命令行操作,适用于所有 Linux 发行版‌。
firewalld‌
动态防火墙管理工具,支持区域和规则动态更新,适用于 CentOS、Fedora 等发行版‌。
ufw‌
简单易用的防火墙工具,适用于 Ubuntu、Debian 等发行版‌。
二、iptables防火墙规则设置‌

查看当前规则‌
使用 iptables -L -v -n 命令查看当前规则列表‌。

允许特定端口访问‌

允许 SSH(22端口):
bash
Copy Code
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许 HTTP(80端口):
bash
Copy Code
iptables -A INPUT -p tcp --dport 80 -j ACCEPT




拒绝特定IP访问‌

拒绝特定 IP 访问:
bash
Copy Code
iptables -A INPUT -s 192.168.1.100 -j DROP
```‌:ml-citation{ref="1,3" data="citationList"}。



保存规则‌

使用 iptables-save > /etc/iptables/rules.v4 命令保存规则,确保重启后生效‌。
三、firewalld防火墙规则设置‌

查看当前区域和规则‌
使用 firewall-cmd --list-all 命令查看当前区域和规则‌。

允许特定端口访问‌

允许 HTTP(80端口):
bash
Copy Code
firewall-cmd --zone=public --add-port=80/tcp --permanent

允许 HTTPS(443端口):
bash
Copy Code
firewall-cmd --zone=public --add-port=443/tcp --permanent
```‌:ml-citation{ref="2,4" data="citationList"}。



允许特定服务访问‌

允许 SSH 服务:
bash
Copy Code
firewall-cmd --zone=public --add-service=ssh --permanent
```‌:ml-citation{ref="2,4" data="citationList"}。



重新加载规则‌
使用 firewall-cmd --reload 命令使配置生效‌。

四、ufw防火墙规则设置‌

启用防火墙‌
使用 ufw enable 命令启用防火墙‌。

允许特定端口访问‌

允许 SSH(22端口):
bash
Copy Code
ufw allow 22/tcp

允许 HTTP(80端口):
bash
Copy Code
ufw allow 80/tcp
```‌:ml-citation{ref="5" data="citationList"}。



拒绝特定IP访问‌

拒绝特定 IP 访问:
bash
Copy Code
ufw deny from 192.168.1.100
```‌:ml-citation{ref="5" data="citationList"}。



查看当前规则‌
使用 ufw status 命令查看当前规则列表‌。

五、高级配置‌
限制连接速率‌
使用 iptables 限制每个 IP 的连接速率:
bash
Copy Code
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute -j ACCEPT
```‌:ml-citation{ref="3" data="citationList"}。


配置端口转发‌
使用 iptables 配置端口转发:
bash
Copy Code
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80
```‌:ml-citation{ref="3" data="citationList"}。


日志记录‌
使用 iptables 记录被拒绝的流量:
bash
Copy Code
iptables -A INPUT -j LOG --log-prefix "Dropped Traffic: "
```‌:ml-citation{ref="3" data="citationList"}。

六、总结‌
iptables‌:适合需要精细控制的场景,但规则复杂‌。
firewalld‌:适合动态管理,支持区域和服务配置‌。
ufw‌:适合简单易用的场景,适用于初学者‌。
根据实际需求选择合适的工具,并定期检查规则以确保安全性‌。

Linux网络流量监控工具‌
一、实时流量监控工具‌

iftop‌

功能‌:实时显示网络接口的带宽使用情况,包括流入流出流量、峰值速度以及IP连接信息。
使用示例‌:
bash
Copy Code
sudo iftop -i eth0

特点‌:界面直观,支持指定接口和端口监控‌。

nethogs‌

功能‌:按进程显示网络流量,适合找出占用带宽最多的进程。
使用示例‌:
bash
Copy Code
sudo nethogs eth0

特点‌:进程级监控,便于定位问题‌。

bmon‌

功能‌:提供多窗口界面的网络流量监控,显示网络接口的整体流量。
使用示例‌:
bash
Copy Code
bmon

特点‌:支持图形化显示,适合快速查看‌。
二、历史流量统计工具‌

vnStat‌

功能‌:记录和显示网络流量的历史数据,支持实时监控模式。
使用示例‌:
bash
Copy Code
vnstat -l

特点‌:数据持久化,重启后仍可查看历史记录‌。

iptraf‌

功能‌:提供实时流量统计、TCP/IP连接跟踪等功能。
使用示例‌:
bash
Copy Code
sudo iptraf

特点‌:功能全面,适合深入分析‌。
三、数据包分析工具‌

tcpdump‌

功能‌:捕获和分析网络数据包,支持过滤条件。
使用示例‌:
bash
Copy Code
sudo tcpdump -i eth0

特点‌:功能强大,适合高级用户‌。

Wireshark‌

功能‌:图形化数据包分析工具,支持深度解析协议。
使用示例‌:
bash
Copy Code
wireshark

特点‌:界面友好,适合复杂网络分析‌。
四、系统级监控工具‌

nmon‌

功能‌:全面监控系统资源,包括网络、CPU、内存等。
使用示例‌:
bash
Copy Code
nmon

特点‌:集成多种监控功能,适合系统性能分析‌。

Zabbix‌

功能‌:企业级网络监控解决方案,支持大规模网络监控和报警。
使用示例‌:
bash
Copy Code
zabbix_server

特点‌:支持分布式监控,适合复杂环境‌。
五、总结‌
实时监控‌:iftop、nethogs、bmon 适合快速查看当前流量‌。
历史统计‌:vnStat、iptraf 适合长期流量分析‌。
数据包分析‌:tcpdump、Wireshark 适合深入排查网络问题‌。
系统监控‌:nmon、Zabbix 适合全面性能监控和报警‌。
根据需求选择合适的工具,可以更高效地监控和管理 Linux 网络流量。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1ab382bad53b439393e9d32fb657aa6c.jpeg#pic_center)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值