添加规则 -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. 资源:zookeeper下载地址

    提供zookeeper下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/

  2. spring boot j集成seagger 加入拦截器后 swagger 不能访问

    一开始我是这样排除拦截的,但是发现没用 后来我发现swagger的真实访问路径是这样的 转自: https://blog.csdn.net/ab1991823/article/details/7906 ...

  3. LVM磁盘管理实战案例

    前言:这是关于centos/linux上的LVM磁盘上的扩容,缩减,磁盘类型等收集做的案例 至于ubuntu系统的磁盘扩容参考:https://www.jianshu.com/p/5dcfcec687 ...

  4. netcore3.1 + vue (前后端分离) ElementUI多文件带参数上传

    vue前端代码 前端主要使用了ElementUI的el-uploda插件,除去业务代码需要注意的是使用formdata存储片上传时所需的参数 <el-upload class="upl ...

  5. 各种学位&不同学段的表达

    1.学士 B.S.=Bachelor of Science 2.硕士 Master ​ MA.Sc(master of Science科学硕士) ​ MA.Eng(master of engineer ...

  6. 深入理解Java容器——HashMap

    目录 存储结构 初始化 put resize 树化 get 为什么equals和hashCode要同时重写? 为何HashMap的数组长度一定是2的次幂? 线程安全 参考 存储结构 JDK1.8前是数 ...

  7. 简单学习java内存马

    看了雷石的内存马深入浅出,就心血来潮看了看,由于本人java贼菜就不介绍原理了,本文有关知识都贴链接吧 前置知识 本次主要看的是tomcat的内存马,所以前置知识有下列 1.tomcat结构,tomc ...

  8. Linux | 文本编辑器vim

    vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...

  9. 第一个用户进程 - Android 的 Init 进程

    本文尝试对着 <深入理解 Android 5.0 系统>来对 android 9.0 的启动代码进行分析,但是分析过程中发现自己缺乏操作系统方面的知识,以致于只能做一些简单分析.最近也买了 ...

  10. C语言:猴子吃桃问题

    //猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个. //第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个.以后每天早上都吃了前一天剩下的一半零一个. //到第 10 ...