添加规则 -A 在链末尾追加一条规则
-I 在链开头或某序号前插入一条规则
查看规则 -L 列出所有规则
-n 数字显示地址和端口信息
-v 详细信息
-line-numbers 显示规则序号
删除规则 -D 删除某个序号的规则
-F 清空规则
默认规则 -P 指定默认规则

1.查看规则
iptables -L -n
以数字形式查看filter表INPUT链的所有规则
iptables -nL INPUT
查看filter表INPUT链的所有规则,并显示规则序号
iptables -L INPUT --line-numbers

2.增加规则
iptables -A INPUT -p tcp -j ACCEPT //在filter表INPUT链的末尾添加一条规则,允许TCP协议的数据包通过
iptables -I INPUT -p udp -j ACCEPT //在filter表INPUT链的首行添加一条规则,允许UDP协议的数据包通过
iptables -I INPUT 2 -p icmp -j ACCEPT //在filter表INPUT链的第二行添加一条规则,允许icmp协议的数据包通过

3.清除原规则
iptables -F 清除预设表filter中的所有规则链的规则
iptables -X 清除预设表filter中使用者自定链中的规则
iptables -D INPUT 2 删除filter表INPUT链的第二条规则

4.设置规则
iptables -P FORWARD DROP //将filter表FORWARD链的默认策略设为丢弃
iptables -P OUTPUT ACCEPT //将filter表OUTPUT链的默认策略设为允许

设置ssh访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

iptables -I INPUT -p icmp -j DROP //丢弃通过icmp协议访问本机的数据包
iptables -A FORWARD ! -p icmp -j ACCEPT //允许转发除了icmp协议之外的数据包
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP //防止Xmas扫描
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP //防止TCP Null扫描
iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP //拒绝TCP标记为SYN/ACK,但连接状态为NEW的数据包,防止ACK欺骗
iptables -A INPUT -p icmp --icmp-type 8 -j DROP //禁止从其他主机ping本机,但允许本机ping其他主机
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p icmp -j DROP
iptables -p icmp -h //查看可用的ICMP协议类型

允许loopback!(不然会导致DNS无法正常关闭等问题)
iptables -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)
iptables -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)

iptables -P INPUT DROP //开放相关端口,对发给本机的TCP应答数据包予以放行,其他入站数据包都丢弃
iptables -I INPUT -p tcp -m multiport --dport 80,20,21,53 -j ACCEPT
iptables -I INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 31337 -j DROP //减少不安全的端口连接
iptables -A OUTPUT -p tcp --dport 31337 -j DROP //减少不安全的端口连接

service iptables save //保存
systemctl restart iptables.service //重启
systemctl enable iptables.service //开机启动

5.其他用法
iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT //允许本机开放25、80、110、143端口,以便提供电子邮件服务
iptables -A INPUT -s 192.168.10.1 -p tcp --dport 22 -j ACCEPT //设置只允许某个ip的端口访问
iptables -A FORWARD -p tcp -m iprange --src-range 192.168.10.1-192.168.10.100 -j ACCEPT //允许转发192.168.10.1-192.168.10.100之间的TCP数据包
iptables -A INPUT -m mac --mac-source 00:50:2e:cf:44:3f -j DROP //禁止其MAC地址访问本机的任何应用

linux的iptables设置的更多相关文章

  1. Linux中iptables设置详细(转)

    无论如何,iptables是一个需要特别谨慎设置的东西,万一服务器不在你身边,而你贸然设置导致无法SSH,那就等着被老板骂吧,呵呵... 以下内容是为了防止这种情况发生而写的,当然很初级,不过一般服务 ...

  2. Linux中iptables设置详细

    无论如何,iptables是一个需要特别谨慎设置的东西,万一服务器不在你身边,而你贸然设置导致无法SSH,那就等着被老板骂吧,呵呵... 一下内容是为了防止这种情况发生而写的,当然很初级,不过一般服务 ...

  3. Linux使用iptables设置黑白名单

    使用ipset工具 1,下面我先说下iptables的基本配置规则,然后再说ipset以下使用C7 x86_64为实验环境CentOS7默认的防火墙不是iptables,而是firewalle.如果你 ...

  4. linux的iptables设置---防火墙

    1.首先介绍一下指令和相关配置文件 启动指令:service iptables start 重启指令:service iptables restart 关闭指令:service iptables st ...

  5. 详解Linux下iptables中的DNAT与SNAT设置(转)

    详解Linux下iptables中的DNAT与SNAT设置 这篇文章主要介绍了Linux下iptables中的DNAT与SNAT设置,是Linux网络配置中的基础知识,需要的朋友可以参考下   原文连 ...

  6. Linux防火墙(Iptables)的开启与关闭

    Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...

  7. linux 防火墙iptables简明教程

    前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...

  8. Linux防火墙iptables简明教程

    前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...

  9. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

随机推荐

  1. [Django REST framework - RBAC-基于角色的访问控制、base64编码 、xadmin的使用]

    [Django REST framework - RBAC-基于角色的访问控制.base64编码 .xadmin的使用] RBAC-基于角色的访问控制 RBAC 是基于角色的访问控制(Role-Bas ...

  2. 【转载】CentOS-yum安装Docker环境

    安装Docker环境 $ yum install docker -y 启动Docker $ systemctl start docker 设置自启动 $ systemctl enable docker ...

  3. Java程序设计(2021春)——第二章课后题(选择题+编程题)答案与详解

    Java程序设计(2021春)--第二章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第二章课后题(选择题+编程题)答案与详解 第二章选择题 2.1 面向对象方法的特性 ...

  4. [zebra源码]分片语句ShardPreparedStatement执行过程

    主要过程包括: 分库分表的路由定位 sql语句的 ast 抽象语法树的解析 通过自定义 SQLASTVisitor (MySQLSelectASTVisitor) 遍历sql ast,解析出逻辑表名 ...

  5. nginx的基本使用

    下载: https://nginx.org/en/download.html  Window下安装: 下载好了之后直接解压就行了.(解压目录切记别含有中文) 启动:1️⃣直接双击nginx.exe2️ ...

  6. STP概述简介及生成树算法

    目录: STP概述 STP简介 生成树算法 选择根网桥 选择根端口 选择指定端口 BPDU(桥协议数据单元) STP利用BPDU选择根网桥 STP的收敛 VLAN与STP关系 MSTP多生成树协议华为 ...

  7. java并发编程基础——线程同步

    线程同步 一.线程安全问题 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码.如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安 ...

  8. DIV+css排版问题技巧总结---v客学院技术分享

                DIV+css排版问题技巧总结 一.排版思路 1.从上到下,从左到右,从大到小. 2.首先确定排版分区,排除色块分布,然后再从简单的部分开始. 3.在某一块内将HTML部分写好 ...

  9. JavaScript学习笔记:你必须要懂的原生JS(一)

    1.原始类型有哪几种?null是对象吗?原始数据类型和复杂数据类型存储有什么区别? 原始类型有6种,分别是undefined,null,bool,string,number,symbol(ES6新增) ...

  10. PO封装设计模式 -- App移动端测试

    前言: 一.App_Po 封装 (用互联网上随便一个app进行) base 存放的是页面基础类,后续的类需继承基础类 common 存放的是公共部分,测试固件分离部分,新增截图功能部分 Data 存放 ...