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

Linux iptables命令

iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。

语法

iptables(选项)(参数)
复制代码

选项

-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口。复制代码

iptables命令选项输入顺序:

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作复制代码

表名包括:

  • raw:高级功能,如:网址过滤。
  • mangle:数据包修改(QOS),用于实现服务质量。
  • net:地址转换,用于网关路由器。
  • filter:包过滤,用于防火墙规则。

规则链名包括:

  • INPUT链:处理输入数据包。
  • OUTPUT链:处理输出数据包。
  • PORWARD链:处理转发数据包。
  • PREROUTING链:用于目标地址转换(DNAT)。
  • POSTOUTING链:用于源地址转换(SNAT)。

动作包括:

  • accept:接收数据包。
  • DROP:丢弃数据包。
  • REDIRECT:重定向、映射、透明代理。
  • SNAT:源地址转换。
  • DNAT:目标地址转换。
  • MASQUERADE:IP伪装(NAT),用于ADSL。
  • LOG:日志记录。

实例

清除已有iptables规则

iptables -F
iptables -X
iptables -Z复制代码

开放指定的端口

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT               #允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT    #允许已建立的或相关连的通行
iptables -A OUTPUT -j ACCEPT         #允许所有本机向外的访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT    #允许访问22端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT    #允许访问80端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT    #允许ftp服务的21端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT    #允许FTP服务的20端口
iptables -A INPUT -j reject       #禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT     #禁止其他未允许的规则访问复制代码

屏蔽IP

iptables -I INPUT -s 123.45.6.7 -j DROP       #屏蔽单个IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP      #封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP    #封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 123.45.6.0/24 -j DROP    #封IP段即从123.45.6.1到123.45.6.254的命令是复制代码

查看已添加的iptables规则

iptables -L -n -v复制代码

删除已添加的iptables规则

将所有iptables以序号标记显示,执行:

iptables -L -n --line-numbers复制代码

比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8复制代码


转载于:https://juejin.im/post/5b554de9e51d455d6825c517

相关文章:

  • Dubbo2.7源码分析-Dubbo是如何整合spring-framework的
  • Mozilla推出兼容iOS的Face ID密码管理器Firefox Lockbox
  • Shareinstall——精确监测与推广APP的完美神器!
  • OpenJ_Bailian 7617 输出前k大的数
  • Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法分别是做什么的?有什么区别?...
  • CSS选取第几个标签元素:nth-child、first-child、last-child
  • Kotlin 1.3 新特性抢先看,协程已稳定并将向后兼容
  • 第一章 Java多线程技能
  • Visual Studio 2017 设置透明背景图
  • 实现rsync远程同步效果展示
  • 因为阿里,他们成了“杭漂”
  • 基于web的全景—— Pannellum小试
  • vlan
  • BTA 常问的 Java基础40道常见面试题及详细答案
  • ELK的心脏,ElasticSearch学习方法论
  • python3.6+scrapy+mysql 爬虫实战
  • 分享一款快速APP功能测试工具
  • Angular4 模板式表单用法以及验证
  • docker容器内的网络抓包
  • JavaScript设计模式与开发实践系列之策略模式
  • Java教程_软件开发基础
  • mysql innodb 索引使用指南
  • Redis中的lru算法实现
  • SpingCloudBus整合RabbitMQ
  • 关于for循环的简单归纳
  • 基于webpack 的 vue 多页架构
  • 检测对象或数组
  • 京东美团研发面经
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 如何用vue打造一个移动端音乐播放器
  • 《天龙八部3D》Unity技术方案揭秘
  • 我们雇佣了一只大猴子...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • # Maven错误Error executing Maven
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #NOIP 2014#Day.2 T3 解方程
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Java数据结构)ArrayList
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)计算机毕业设计ssm电影分享网站
  • (篇九)MySQL常用内置函数
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • .NET 事件模型教程(二)
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .Net各种迷惑命名解释
  • .NET设计模式(11):组合模式(Composite Pattern)
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • [ linux ] linux 命令英文全称及解释
  • [120_移动开发Android]008_android开发之Pull操作xml文件