当前位置: 首页 > article >正文

Iptables命令常用命令

前言:下是一些非常实用的 iptables 命令合集,涵盖网络攻击防护和日常网络安全防护

1. 查看当前规则

iptables -L -v -n

查看现有的所有规则,-v 显示详细信息,-n 禁止解析IP地址和端口以加快显示速度。

2. 清空所有规则 

iptables -F

清除所有已设置的规则,适用于规则重置时。 

3. 允许所有本地回环接口流量 

iptables -A INPUT -i lo -j ACCEPT

确保允许 localhost 的内部流量。

4. 允许特定IP访问

iptables -A INPUT -s 192.168.1.100 -j ACCEPT
  • 允许从特定IP(例如192.168.1.100)访问。

5. 允许特定端口(例如SSH,端口22)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 允许通过TCP协议的SSH端口流量。

6. 拒绝特定IP的访问

iptables -A INPUT -s 192.168.1.200 -j DROP
  • 拒绝来自特定IP的所有流量。

7. 防止简单的DDOS攻击(限制每秒请求次数)

iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
  • 允许TCP 80端口的请求,但限制为每分钟最多25个连接,防止过多连接导致的DoS攻击。

8. 阻止Ping Flood攻击

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
  • 限制每秒接收的ICMP echo-request (Ping)请求数,防止Ping Flood攻击。

9. 阻止所有入站流量(默认拒绝)

iptables -P INPUT DROP
  • 默认情况下拒绝所有入站流量,除非明确允许。

10. 允许已有连接及相关的流量

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

  • 允许已经建立的连接和相关流量,确保不会影响合法的现有连接。

11. 阻止指定端口(如防止某些服务被攻击)

iptables -A INPUT -p tcp --dport 3306 -j DROP
  • 阻止所有对MySQL(端口3306)的连接请求。

12. 记录被拒绝的连接

iptables -A INPUT -j LOG --log-prefix "iptables: "
  • 记录所有被拒绝的连接请求以供日后分析。

13. 防止IP扫描攻击(SYN Flood)

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
  • 阻止所有异常的TCP SYN数据包,防御SYN Flood攻击。

14. 允许特定端口的出站流量

iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
  • 允许通过TCP协议的HTTPS端口出站流量。

15. 阻止特定国家/地区IP(使用GeoIP)

iptables -A INPUT -m geoip --src-cc CN -j DROP
  • 阻止来自中国的所有流量(需要GeoIP模块支持)。

16. 限制同一IP的SSH连接次数

iptables -A INPUT -p tcp --dport 22 -m recent --name ssh_attack --rcheck --seconds 60 --hitcount 4 -j DROP
  • 在60秒内限制同一IP的SSH连接次数不得超过4次,防止暴力破解。

17. 允许所有出站流量

iptables -P OUTPUT ACCEPT
  • 默认允许所有出站流量。

18. 阻止所有入站和出站的IPv6流量

ip6tables -P INPUT DROP ip6tables -P OUTPUT DROP
  • 阻止所有IPv6流量,以防未启用的IPv6接口被攻击。

19. 阻止恶意IP地址列表

for ip in $(cat bad_ips.txt); do iptables -A INPUT -s $ip -j DROP done
  • 使可以从多个来源获取已知的恶意IP列表,并使用如下命令批量阻止:用文件中的恶意IP地址阻止这些IP的流量。

20. 保存并重新加载iptables规则

  • 保存当前规则:
    iptables-save > /etc/iptables/rules.v4
    
    重新加载保存的规则:
    iptables-restore < /etc/iptables/rules.v4


http://www.kler.cn/a/302653.html

相关文章:

  • 用友U8-Cloud uapbd.refdef.query sql注入漏洞复现
  • makefile 设置动态库路径参数
  • SQL面试题——奔驰SQL面试题 车辆在不同驾驶模式下的时间
  • PNG图片批量压缩exe工具+功能纯净+不改变原始尺寸
  • 代码随想录第二十一天| 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树
  • 冗余连接2 hard题 代随C#写法
  • C#中的闭包
  • 2024.9.13 Python与图像处理新国大EE5731课程大作业,SIFT 特征和描述符,单应性矩阵透视变换
  • redis常见的数据类型?
  • 解决:Module build failed (from ./node_modules/sass-loader/dist/cjs.js)问题
  • 秋招突击——9/10、9\11——算法练习——携程笔试练习——2024年秋招第一批笔试
  • 数据库的实施过程分析
  • 【白话树】之 树的基本知识、存储结构和二叉树转换
  • RabbitMQ创建交换机和队列——配置类 注解
  • Idea 创建 Maven项目的时候卡死
  • 体育数据API纳米足球数据API:足球数据接口文档API示例⑫
  • 【解决方案】双系统中修复ubuntu引导
  • 【算法】-单调队列
  • 数据库系统 第43节 数据库复制
  • LabVIEW回转马达试验系统
  • Git撤销add
  • Flutter类
  • Vue:通过js控制css变量 - 一键修改全局样式
  • Docker 常用命令(未完待续...)
  • 外贸网站建设该怎么做
  • Certbot 生成 SSL 证书并配置自动续期