Iptables命令常用命令

devtools/2024/12/22 20:03:46/

前言:下是一些非常实用的 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.ppmy.cn/devtools/111858.html

相关文章

CSS学习17--CSS3 过渡、2D变形、3D变形、动画

CSS3 过渡、2D变形、3D变形、动画 一、过渡二、2D变形 transform1.移动 translate2.缩放 scale3. 旋转 rotate4. 倾斜 skew 三、3D变形1. rotateX&#xff08;&#xff09;rotateY&#xff08;&#xff09; rotateZ&#xff08;&#xff09;2. 体会透视 perspective3. translat…

MongoDB设置系统服务启动教程

1、编辑mongodb.service文件 将MongoDB设置成系统服务&#xff0c;就可以通过systemctl进行启动停止重启&#xff0c;在目录/etc/systemd/system下编写mongodb.service文件&#xff1a; [Unit] DescriptionMongoDB Database Server Documentationhttps://www.mongodb.com/docs…

HP电脑如何启动硬件检测

许多人都在使用HP电脑&#xff0c;但是当出现问题时候&#xff0c;不知道该如何测试&#xff0c;本文来分享一下&#xff0c;如何在电脑能开机但是有问题时进行检测。 使用F2键进行组件测试 步骤&#xff1a;开机后不停敲击键盘上【F2】的按键&#xff0c;进入BIOS设置界面&am…

3D GS 测试自己的数据

环境配置 win11 vs2019cuda11.8driver522.06python3.10pytorch 2.4.0colmap3.8&#xff08;可选&#xff0c;用于将图像生成点云&#xff09; 安装 1 minicodagit 略 2 vs2019 在装cuda前安装&#xff0c; 选择c桌面开发即可&#xff0c; 环境变量path中配置C:\Program…

go语言开发windows抓包工具

使用syscall调用window api, go有封装, 暂时不需要自己调用dll 使用函数 syscall.WSAStartup syscall.Socket syscall.SockaddrInet4 syscall.WSAIoctl syscall.WSARecv 废话不多说, 上代码简洁明了使用方法 package mainimport ("fmt""net""s…

Android 车联网——汽车模块介绍(附1)

汽车模块指的是车辆中独立的电子控制单元(ECUs),如发动机控制单元(ECU)、车身控制模块(BCM)等,它们负责特定的功能或系统。 一、控制类模块 这些模块主要用于控制车辆的不同系统,确保车辆各部分的正常运行。 1、ECM ECM(Electronic Control Module,电子控制模块)…

什么是交换机级联?

在现代计算机网络中&#xff0c;交换机级联是一种广泛应用的技术&#xff0c;有助于提升网络的扩展性和灵活性。本文将深入探讨交换机级联相关知识&#xff0c;详细介绍其基本概念和连接配置方法&#xff0c;并对常见技术问题进行解答。 交换机级联概述 交换机级联是指通过将…

openstack之glance介绍

概念 glance为nova提供镜像服务&#xff0c;用于启动实例&#xff0c;预建镜像已安装cloud-init&#xff0c;可以访问openstack基金会获取操作系统镜像&#xff1a;官方镜像 格式 raw&#xff1a;无格式的镜像&#xff1b; vhd&#xff1a;hyper-v使用的格式&#xff1b; vm…