linux的iptables设置
添加规则 | -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设置的更多相关文章
- Linux中iptables设置详细(转)
无论如何,iptables是一个需要特别谨慎设置的东西,万一服务器不在你身边,而你贸然设置导致无法SSH,那就等着被老板骂吧,呵呵... 以下内容是为了防止这种情况发生而写的,当然很初级,不过一般服务 ...
- Linux中iptables设置详细
无论如何,iptables是一个需要特别谨慎设置的东西,万一服务器不在你身边,而你贸然设置导致无法SSH,那就等着被老板骂吧,呵呵... 一下内容是为了防止这种情况发生而写的,当然很初级,不过一般服务 ...
- Linux使用iptables设置黑白名单
使用ipset工具 1,下面我先说下iptables的基本配置规则,然后再说ipset以下使用C7 x86_64为实验环境CentOS7默认的防火墙不是iptables,而是firewalle.如果你 ...
- linux的iptables设置---防火墙
1.首先介绍一下指令和相关配置文件 启动指令:service iptables start 重启指令:service iptables restart 关闭指令:service iptables st ...
- 详解Linux下iptables中的DNAT与SNAT设置(转)
详解Linux下iptables中的DNAT与SNAT设置 这篇文章主要介绍了Linux下iptables中的DNAT与SNAT设置,是Linux网络配置中的基础知识,需要的朋友可以参考下 原文连 ...
- Linux防火墙(Iptables)的开启与关闭
Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...
- linux 防火墙iptables简明教程
前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...
- Linux防火墙iptables简明教程
前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
随机推荐
- 资源:zookeeper下载地址
提供zookeeper下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
- spring boot j集成seagger 加入拦截器后 swagger 不能访问
一开始我是这样排除拦截的,但是发现没用 后来我发现swagger的真实访问路径是这样的 转自: https://blog.csdn.net/ab1991823/article/details/7906 ...
- LVM磁盘管理实战案例
前言:这是关于centos/linux上的LVM磁盘上的扩容,缩减,磁盘类型等收集做的案例 至于ubuntu系统的磁盘扩容参考:https://www.jianshu.com/p/5dcfcec687 ...
- netcore3.1 + vue (前后端分离) ElementUI多文件带参数上传
vue前端代码 前端主要使用了ElementUI的el-uploda插件,除去业务代码需要注意的是使用formdata存储片上传时所需的参数 <el-upload class="upl ...
- 各种学位&不同学段的表达
1.学士 B.S.=Bachelor of Science 2.硕士 Master MA.Sc(master of Science科学硕士) MA.Eng(master of engineer ...
- 深入理解Java容器——HashMap
目录 存储结构 初始化 put resize 树化 get 为什么equals和hashCode要同时重写? 为何HashMap的数组长度一定是2的次幂? 线程安全 参考 存储结构 JDK1.8前是数 ...
- 简单学习java内存马
看了雷石的内存马深入浅出,就心血来潮看了看,由于本人java贼菜就不介绍原理了,本文有关知识都贴链接吧 前置知识 本次主要看的是tomcat的内存马,所以前置知识有下列 1.tomcat结构,tomc ...
- Linux | 文本编辑器vim
vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...
- 第一个用户进程 - Android 的 Init 进程
本文尝试对着 <深入理解 Android 5.0 系统>来对 android 9.0 的启动代码进行分析,但是分析过程中发现自己缺乏操作系统方面的知识,以致于只能做一些简单分析.最近也买了 ...
- C语言:猴子吃桃问题
//猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个. //第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个.以后每天早上都吃了前一天剩下的一半零一个. //到第 10 ...