当前位置: 首页 > news >正文

linux中iptables乱码,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

相关文章:

  • linux卸载cntk,10个深度学习软件的安装指南(附代码)
  • linux的profile文件被删除,Centos7 etc/profile和/bin被误删除的解决办法
  • 深度linux怎么显示图标,Linux(Ubuntu/Deepin) 添加启动图标
  • c语言写入csv 逗号字符串,[转]C语言处理CSV文件的方法,以及kdd cup的简单说明...
  • c语言阅读程序求结果题型,阅卷教师面对面 C语言程序设计五种题型别马虎
  • C语言wait参数status,C语言-系统-wait()和waitpid()函数
  • claim用法c语言中,通过一个例子学习Kubernetes里的PersistentVolumeClaim的用法
  • ipv6报文封装linux,IPv6报文的路由头封装方法及装置与流程
  • android 7下载地址,Android7.0下载地址 安卓7.0系统手机下载安装教程
  • android 弹出菜单环形,谷歌新专利:安卓环形菜单 双指触屏效率高
  • android相机拍摄时动画完成效果,Android 仿微信图像拍摄和选择界面功能(代码分享)...
  • 安装android 模拟器 停止运行程序,才知道,原来修改程序后,不需要重新启动AVD模拟器就可以测试程序运行的!...
  • 修改sim卡号码 android,android 如何动态修改SIM卡应用名称 MT6572 MT6589
  • android studio sqliteopenhelper,android studio使用SQLiteOpenHelper()建立数据库的方法
  • 一加5android 系统耗电,一加5评测:可能是今年最好的Android旗舰
  • #Java异常处理
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • EventListener原理
  • JavaScript-Array类型
  • Protobuf3语言指南
  • python docx文档转html页面
  • Python socket服务器端、客户端传送信息
  • Python中eval与exec的使用及区别
  • Shadow DOM 内部构造及如何构建独立组件
  • SOFAMosn配置模型
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • vue-cli3搭建项目
  • zookeeper系列(七)实战分布式命名服务
  • 第2章 网络文档
  • 翻译--Thinking in React
  • 构建工具 - 收藏集 - 掘金
  • 聊聊hikari连接池的leakDetectionThreshold
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 系统认识JavaScript正则表达式
  • 用Canvas画一棵二叉树
  • 在Mac OS X上安装 Ruby运行环境
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #QT项目实战(天气预报)
  • #图像处理
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Note)C++中的继承方式
  • (分布式缓存)Redis分片集群
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (三)mysql_MYSQL(三)
  • (转)jdk与jre的区别
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树