Linux 防火墙:Netfilter iptables
一、Netfilter 简介
(1) Netfilter 是 Linux 内置的一种防火墙机制,我们一般也称之为数据包过滤机制,而 iptables 只是操作 netfilter 的一个命令行工具
(2) Netfilter 是 Linux CentOS 6 内置的防火墙机制,Firewall 是 Linux CentOS 7 内置的防火墙机制,如果想在 CentOS 7 中使用 netfilter 而不是 firewall,操作如下
[root@MongoDB ~]# systemctl stop firewalld.service // 停止firewalld
[root@MongoDB ~]# systemctl disable firewalld.service // 禁止firewall开机启动
[root@MongoDB ~]# yum install iptables-services -y
[root@MongoDB ~]# systemctl start iptables.service //启动防火墙
[root@MongoDB ~]# systemctl enable iptables.service // 设置防火墙开机启动
centos7 iptables服务
1.查看iptables服务状态
[root@MongoDB ~]#systemctl status iptables
systemctl start iptables // 启动iptables服务
systemctl restart iptables // 重启iptables服务
systemctl stop iptables // 关闭iptables服务
centos6 iptables 服务
service iptables start // 启动 iptables服务
service iptables restart // 重启iptables服务
service iptables stop // 关闭iptables服务
service iptables status // 查看iptables服务状态
/etc/init.d/iptables stop // 关闭iptables服务
/etc/init.d/iptables status // 查看iptables状态
2.查看规则,默认查看filter表的规则
iptables -nvL
针对INPUT链 默认规则ACCEPT通过
iptables -nvL
Chain INPUT (policy ACCEPT packets, bytes) // 针对INPUT链 默认规则
// INPUT链 规则
pkts bytes target prot opt in out source destination
858K ACCEPT all -- * * 0.0.0.0/ 0.0.0.0/ state RELATED,ESTABLISHED
ACCEPT icmp -- * * 0.0.0.0/ 0.0.0.0/
ACCEPT all -- lo * 0.0.0.0/ 0.0.0.0/
ACCEPT tcp -- * * 0.0.0.0/ 0.0.0.0/ state NEW tcp dpt:
ACCEPT tcp -- * * 0.0.0.0/ 0.0.0.0/ state NEW tcp dpt:
3205K REJECT all -- * * 0.0.0.0/ 0.0.0.0/ reject-with icmp-host-prohibited // FORWARD链 默认规则
Chain FORWARD (policy ACCEPT packets, bytes)
pkts bytes target prot opt in out source destination
REJECT all -- * * 0.0.0.0/ 0.0.0.0/ reject-with icmp-host-prohibited // OUTPUT链 默认规则
Chain OUTPUT (policy ACCEPT packets, 950K bytes)
pkts bytes target prot opt in out source destination
二、iptables 常见用法:
iptables -F # 清空规则,默认清空filter表的规则
iptables -X # 删除用户自定义规则
iptables -Z # 清空链的计数器
service iptables save # 保存规则,会把当前规则保存到/etc/sysconfig/iptables
iptables-save > my.ipt # 备份规则,这里指定备份到my.ipt文件
iptables-restore < my.ipt # 恢复规则,这里指定使用my.ipt文件进行恢复
清空所有的规则,只留下默认规则
iptables -F 清空规则,默认清空filter表的规则
只留下默认规则 默认规则都是ACCEPT动作
[root@MongoDB ~]# iptables -F
[root@MongoDB ~]# iptables -nvL
Chain INPUT (policy ACCEPT packets, bytes)
pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT packets, bytes)
pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT packets, bytes)
pkts bytes target prot opt in out source destination
iptables -X 删除用户定义规则
iptables -Z 清空链的计数器
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 放通80端口
iptables -A INPUT -p tcp --dport 22 -j DROP # 禁用22端口
iptables -A INPUT -p tcp -m multiport --dport 80,843,443 -j ACCEPT # 放通多个端口
iptables -A INPUT -s 192.168.1.1/32 -p tcp --dport 22 -j ACCEPT # 只允许某个IP访问22端口
iptables -A INPUT -s 192.168.1.1/32 -p tcp -m multiport --dport 3873,4507,3306 -j ACCEPT # 允许某个IP访问多个端口
添加一条规则 到filter表 允许8080端口
[root@MongoDB ~]# iptables -t filter -A INPUT -p tcp --dport 8080 -j ACCEPT
删除一条规则
先执行 iptables -nvL --line-numbers 查看规则的序列号
[root@MongoDB ~]# iptables -nvL --line-numbers
Chain INPUT (policy ACCEPT 93 packets, 7775 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 59 packets, 6900 bytes)
num pkts bytes target prot opt in out source destination
-D 删除规则
然后执行 iptables -D INPUT <number> 删除规则
[root@MongoDB ~]# iptables -D INPUT 1
[root@MongoDB ~]#
[root@MongoDB ~]# iptables -nvL --line-numbers
Chain INPUT (policy ACCEPT 14 packets, 1020 bytes)
num pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 6 packets, 728 bytes)
num pkts bytes target prot opt in out source destination
/etc/init.d/iptables restart 和 /etc/init.d/iptable reload 区别
相同点:二者都是使配置文件重新生效
不同点:
reload (重新加载),reload会重新加载配置文件,服务不会中断。而且reload时会测试conf语法等,如果出错会rollback用上一次正确配置文件保持正常运行。也叫平滑重启,不会对已经连接的服务造成影响。
restart (重启)(先stop后start),会重启服务。这个重启会造成服务一瞬间的中断,如果配置文件出错会导致服务启动失败,那就是更长时间的服务中断了。
注意:修改配置文件前一定要先备份!为了保证线上服务高可用,推荐使用reload
-A # 添加规则,默认添加到最后一条规则
-I # 插入规则,默认插入到第一条规则
-D # 删除规则,先执行 iptables -nvL --line-numbers 查看规则的序列号,然后执行 iptables -D INPUT <number> 删除规则
-n # 数字
-s # 用于指定源IP地址,用法如:iptables -A INPUT -s 192.168.1.1/32 -p tcp --dport 22 -j ACCEPT
-d # 用于指定目标IP地址,用法如:iptables -A INPUT -d 192.168.1.1/32 -p tcp --dport 22 -j ACCEPT
-p # 用于指定检查哪个协议,用法如:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
-i # 用于指定入口网卡,用法如:iptables -A INPUT -i eth0 -j ACCEPT
-o # 用于指定出口网卡,用法如:iptables -A FORWARD -o eth0 -j ACCEPT
-j # 用于指定要进行的处理动作,ACCEPT表示接受数据包进来 DROP直接丢弃数据包 用法如:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
-P # 用于设置默认规则,用法如:iptables -P INPUT DROP
-t # 用于指定操作哪张表,用法如:iptables -t nat -nvL , iptables -t filter ,如果没有指定默认是filter表
-Z # 用于清空计数器,用法如:iptables -Z
-L # 用于列出规则链中的所有规则
--sport # 用于指定源端口,用法如:iptables -A INPUT -p tcp --sport 1234 -j ACCEPT
--dport # 用于指定目标端口,用法如:iptables -A INPUT -s 192.168.1.1/32 -p tcp --dport 22 -j ACCEPT
! # 取反
Linux 防火墙:Netfilter iptables的更多相关文章
- Linux防火墙简介 – iptables配置策略
Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...
- Linux防火墙(iptables/firewalld)
Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...
- linux防火墙之iptables
linux防火墙之iptables 1.1.1 关于iptables简介 IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 ...
- linux中的防火墙netfilter iptables
目录 一.Linux防火墙基础 1.1 ptables的表.链结构 1.2 数据包控制的匹配流程 二.编写防火墙规则 1.iptables的安装 2.1 基本语法.控制类型 一般在生产环境中设置网络型 ...
- Linux防火墙配置(iptables, firewalld)
netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...
- Linux防火墙:iptables禁IP与解封IP常用命令
在Linux服务器被攻击的时候,有的时候会有几个主力IP.如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了. 在Linux下封停IP,有封杀网段和封杀单个IP两种形 ...
- linux防火墙相关 iptables
1. root用户查看防火墙状态(非root用户无权限查看) 查看防火墙状态: service iptables status 2.开启和关闭防火墙 //开启防火墙: service iptables ...
- Linux防火墙之iptables入门
一.防火墙的概念 什么是防火墙?防火墙是一台或一组设备,用以在网络间实施访问控制策略:事实上一个防火墙能够包含OSI模型中的很多层,并且可能会涉及进行数据包过滤的设备,它可以实施数据包检查和过滤,在更 ...
- Linux防火墙之iptables常用扩展匹配条件(二)
上一篇博文我们讲到了iptables的一些常用的扩展匹配模块以及扩展模块的一些选项的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12273755.htm ...
- Linux防火墙设置——iptables
防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全.iptables是Linux下设置防火墙规则的常用工具,它可以让你设置.维护以及查看防火墙的规则表.你可以定义多个表,每个表可以包含 ...
随机推荐
- CountDownLatch、CyclicBarrier和Semaphore 使用示例及原理
备注:博客园的markDown格式支持的特别不友好.也欢迎查看我的csdn的此篇文章链接:CountDownLatch.CyclicBarrier和Semaphore 使用示例及原理 CountDow ...
- [U3D Demo] 手机飞机大战
游戏截图 使用插件 DOTween NGUI 游戏介绍 游戏使用C#开发,素材是<全民飞机大战>中提取出来的,该游戏最早是去年由Flash Air+Starling开发的Demo,后来我修 ...
- 【Spark深入学习 -14】Spark应用经验与程序调优
----本节内容------- 1.遗留问题解答 2.Spark调优初体验 2.1 利用WebUI分析程序瓶颈 2.2 设置合适的资源 2.3 调整任务的并发度 2.4 修改存储格式 3.Spark调 ...
- plsql的特殊复制
转载自:https://jingyan.baidu.com/article/2fb0ba409c8c2100f2ec5f91.html PL/SQL中写好的SQL语句,如果要放到JAVA文件中,如果很 ...
- Java反射+简单工厂模式总结
除了 new 之外的创建对象的方法 通过 new 创建对象,会使得程序面向实现编程,先举个例子,某个果园里现在有两种水果,一种是苹果,一种是香蕉,有客户想采摘园子里的水果,要求用get()方法表示即可 ...
- Html.Partial,Html.RenderPartial Html.Action,Html.RenderAction区别
@Html.Partial,@Html.RenderPartial 这两者的共同点都是在视图中去调用另外一个视图,区别是 Html.Partial 有返回值 ( MvcHtmlStrin ...
- 蜕变成蝶~Linux设备驱动之字符设备驱动
一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面向流 ...
- 24小时学通Linux内核总结篇(kconfig和Makefile & 讲不出再见)
非常开心能够和大家一起分享这些,让我受益匪浅,感激之情也溢于言表,,code monkey的话少,没办法煽情了,,,,,,,冬天的风,吹得伤怀,倒叙往事,褪成空白~学校的人越来越少了,就像那年我们小年 ...
- 域渗透分析神器BloodHound
一.安装过程: 1.首先安装JDK,要求是JDK8 JDK8下载地址 windows下按照提示自动安装好久可以了 2.安装neo4j neo4j图数据库下载地址 下载好后,进入对应的目录在命令行运行如 ...
- [Golang] kafka集群搭建和golang版生产者和消费者
一.kafka集群搭建 至于kafka是什么我都不多做介绍了,网上写的已经非常详尽了. 1. 下载zookeeper https://zookeeper.apache.org/releases.ht ...