当前位置: 首页 > 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/news/302653.html

相关文章:

  • 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 证书并配置自动续期
  • android 发一个可以下载的的android studio历史版本
  • 深度学习——pycharm配置远程服务器(蓝耘GPU智算云)
  • JavaScript拷贝的艺术:玩转深拷贝和浅拷贝
  • Arcgis字段计算器:随机生成规定范围内的数字
  • vue2中使用web worker启动定时器
  • 25届计算机专业选题推荐-基于微信小程序的校园快递驿站代收管理系统
  • 修改docker的默认存储位置及镜像存储位置
  • 无人机低空安全管控系统技术详解
  • 2024年9月13日随笔
  • c++中extern “C“的作用及理解