Linux中iptables的用法
1 iptables
iptables命令用于创建数据过滤与NAT规则,在iptables命令中设置数据过滤或处理数据包的策略叫做规则,将多个规则合成一个链。
1.1 iptables的控制类型
ACCEPT:允许通过
LOG:记录日志信息,然后传给下一条规则继续匹配。
REJECT:拒绝通过,必要时给出提示。
DROP:直接丢弃,不给出任何回应。
1.2 规则链
规则链依据处理数据包的位置不同而进行分类
PREROUTING:在进行路由选择前处理数据包。
INPUT:处理入站的数据包。
OUTPUT:处理出站的数据包。
FORWARD:处理转发的数据包。
POSTROUTING:在进行路由选择后处理数据包。
规则链的先后顺序:
入站顺序:PREROUTINGàINPUT
出站顺序:OUTPUTàPOSTROUTING
转发顺序:PREROUTINGàFORWARDàPOSTROUTING
1.3 规则表
iptables中的规则表是用于容纳规则链,规则表默认是允许状态的,那么规则链就是设置被禁止的规则,而反之如果规则表是禁止状态的,那么规则链就是设置被允许的规则
raw表:确定是否对该数据包进行状态跟踪。
mangle表:为数据包设置标记。
nat表:修改数据包中的源、目的IP地址或端口。
filter表:此表是默认规则表,确定是否放行该数据包。
规则表的先后顺序:rawàmangleànatàfilter
1.4 注意事项
1. 没有指定规则表则默认指filter表。
2. 不指定规则链则指表内所有的规则链。
3. 在规则链中匹配规则时会依次检查,匹配即停止(LOG规则除外),若没有匹配项则按链的默认状态处理。
1.5 iptables命令用法
1.5.1 添加规则
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
1.5.1.1 INPUT规则
# iptables -L -t filter #查看filter表,“-t filter”可省略,因为默认就是filter表
# iptables -L -t nat #查看nat表
#将INPUT链的默认策略设置为丢弃。(此时ssh连接也被拒绝了) -P:policy
# iptables -P INPUT DROP
#允许所有的ping操作,-I:insert在规则链头部加入新规则 -p:protocol -j: jump指令
# iptables -I INPUT -p icmp -j ACCEPT
在INPUT链追加一条规则,允许所有未被其他规则匹配上的数据包通过,“-t filter”可省略,因为默认就是filter表
# iptables -t filter -A INPUT -j ACCEPT
仅允许来自于10.0.0.0/24网段的用户连接本机的ssh服务
# iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j REJECT
不允许任何主机访问本机的12345端口
# iptables -I INPUT -p tcp --dport 12345 -j REJECT
# iptables -I INPUT -p udp --dport 12345 -j REJECT
拒绝所有主机通过eth0网卡访问本机的http服务
# iptables -I INPUT -i eth0 -p tcp --dport 80 -j REJECT
1.5.1.2 FORWARD规则
FORWARD规则相当于路由功能
禁止用户访问www.wangning.com
iptables -I FORWARD -d www.wangning.com -j REJECT
禁止IP为10.0.0.66的用户上网
# iptables -I FORWARD -s 10.0.0.66 -j REJECT
1.5.2 删除规则
#删除filter表中INPUT规则的第一条
# iptables -D INPUT 1
1.6 保存iptables配置
# /etc/init.d/iptables save
本文转自 茁壮的小草 51CTO博客,原文链接:http://blog.51cto.com/wn2100/2054541,如需转载请自行联系原作者
Linux中iptables的用法相关推荐
- linux中EOF的用法梳理
2019独角兽企业重金招聘Python工程师标准>>> linux中EOF的用法梳理 在linux运维工作中,我们会碰到这样一个场景: 执行脚本的时候,需要往一个文件里自动输入N行内 ...
- linux中make的用法
一.linux中make的用法 目的: 基本掌握了make 的用法,能在Linux系统上编程. 环境: Linux系统 准备: 准备三个文件:file1. ...
- linux bin fuser,Linux中fuser命令用法详解
描述: fuser可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser显示使用指定文件或者文件系统的进程ID. 默认情况下每个文件名后面跟一个字母 ...
- linux中iptables配置文件及命令详解详解
linux中iptables配置文件及命令详解详解 2018年05月04日 14:23:41 hxpjava1 阅读数 956 linux中iptables配置文件及命令详解详解 iptables配置 ...
- Linux中iptables防火墙
Linux中iptables防火墙 一.iptables概述 1.1.Linux系统的防火墙 1.2.netfilter/iptables 关系: 二.四表五链 2.1.四表 2.2.五链 2.3.四 ...
- linux ksh 用户名,实例讲解Linux中ksh的用法
实例讲解Linux中ksh的用法 发布时间:2008-02-18 20:46:01来源:红联作者:Modegle 熟悉Linux的朋友肯定都知道bash,它是Linux默认的命令行解释程序,熟悉Sol ...
- Linux之make的用法讲解,linux中make的用法
1.linux中make的用法 目的: 基本掌握了make 的用法,能在Linux系统上编程. 环境: Linux系统 准备: 准备三个文件:file1.c, file2.c, file2.h fil ...
- Linux中iptables防火墙配置实例分享
转自:http://www.jbxue.com/LINUXjishu/9827.html iptables -I OUTPUT -d 192.168.1.2 -j DROP // 禁止往外向192.1 ...
- linux中ftp的用法,linux中的ftp命令用法(7页)-原创力文档
第 第 PAGE 1 页 共 NUMPAGES 1 页 linux中的ftp命令用法 Linux系统中的ftp命令功能强大,那么它的具体用法是怎样呢?下面由小编为大家整理了linux中的ftp命令用法 ...
最新文章
- debian 10 静态ip配置
- To be a true man
- 下载了一堆mysql_干掉一堆mysql数据库,仅需这样一个shell脚本
- STM32常用数据类型 u8、u16、u32
- 设计模式(4)--AbstractFactory(抽象工厂模式)--创建型
- mysql 重复字段查询及排除重复值
- 新世纪英汉词典 | 今日最佳
- CSS中的overflow属性
- 突然发现被点名(理想恋人游戏)
- 0.3:Before We Start
- linux系统下:IO端口,内存,PCI总线 的 读写(I/O)操作
- 初步理解NServiceBus
- 引物设计软件_你的引物设计进行得如何了?这份PCR引物设计及软件使用技巧供你参考...
- sqoop-1.4.7安装
- python上传文件方法总结
- Redis全面实战教程
- Kubernetes 集群安全 - 鉴权 实战rolebinding和clusterrole
- win10专业版开机画面模糊_为什么win10有些软件显示模糊_win10软件界面模糊的解决办法...
- 嵌入SpreadJS,赋能计量器具检定信息化
- Jenkins流水线部署java项目
热门文章
- 用计算机弹剪刀刺客,刺客伍六七:阿七使用过的四种武器,剪刀最常用,这个需要臂力!...
- html圆角兼容jq,IE兼容css3圆角的htc解决方法
- java 与c 运行效率_Java语言与C语言代码运行效率的比较
- 计算机学院校园文化标语,校园文化建设标语50条
- 小米6 android os,脱离安卓!小米6刷入全新系统:界面炫酷,可流畅日常使用!...
- 在Win10下安装python+tensorflow-gpu-2.4 虚拟环境
- html用颜色区分不同区间数据_最新数据可视化指南
- easyui 动态设置单元格控件_插入控件-gt;引用变量-gt;实现动态图表纵横筛选
- 【TypeScript】字符串转义符序列
- angular新版 父组件修改子组件某个div样式