如何制定防火墙的规则,具体的操作是怎样
Admin 2022-06-20 群英技术资讯 932 次浏览
今天就跟大家聊聊有关“如何制定防火墙的规则,具体的操作是怎样”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“如何制定防火墙的规则,具体的操作是怎样”文章能对大家有帮助。准备工作
制定规则前,我们首先关闭firewalld服务、开启iptables服务,然后清除已有的规则。
# systemctl stop firewalld # systemctl start iptables # iptables -F # iptables -X # iptables -Z
新增规则链
关于iptables的添加规则链,选项非常繁多,下面我们看基本用法:
iptables [-t tables] -A|I 链名 [-i|o 网络接口] [-m state] [--state 数据包状态] \ > [-p 网络协议] [-s 源地址 --sport 端口范围] [-d 目标地址 --dport 端口范围] \ > -j [ACCEPT|DROP|REJECT]
选项与参数:
-A|I 链名 A表示在已有规则后添加规则,而I则是在最前面插入规则
-i|o 网络接口 i表示数据包进入的那个网络接口,需要和INPUT或PREROUTING链配合使用;o表示数据包出去的那个接口,需和OUTPUT链配合使用
-p 网络协议 常见的有tcp、upd、icmp以及all
-m state 数据包的状态
--state 数据包状态 常见的状态有INVALID(无效的数据包)、ESTABLISHED(已经成功连接的状态)、NEW(新建立的数据包)、RELATED(新连接与现有连接相关联)
-s 源地址 地址可以是ip地址,如192.168.1.110 或网络地址192.168.1.0/24
-d 目的地址
-j 后面接操作,常见的有ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝)
针对ip、网络、网卡接口的规则制定
下面,给出几个规则链案例。我们允许从192.168.1.110发来的数据、拒绝192.168.1.111发来的数据。
# iptables -A INPUT -s 192.168.1.110 -j ACCEPT
# iptables -I INPUT -s 192.168.1.111 -j DROP
# iptables -vnL
Chain INPUT (policy ACCEPT 33 packets, 3048 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 192.168.1.111 0.0.0.0/0
0 0 ACCEPT all -- * * 192.168.1.110 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 18 packets, 1844 bytes)
pkts bytes target prot opt in out source destination允许192.168.1.0/24网络地址访问
# iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
# iptables -vnL
Chain INPUT (policy ACCEPT 29 packets, 2328 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 192.168.1.111 0.0.0.0/0
0 0 ACCEPT all -- * * 192.168.1.110 0.0.0.0/0
0 0 ACCEPT all -- * * 192.168.1.0/24 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 15 packets, 1460 bytes)
pkts bytes target prot opt in out source destination思考一个问题,192.168.1.111的数据包是会被接受还是会拒绝。从INPUT第一条规则看是会被拒绝,但从最后一条看,会接受。答案是会被拒绝,当满足其中一条规则时,就不会再走下面的规则了,所以说规则链的顺序也是非常重要的。
继续看案例:只要是本地回环地址lo都允许
# iptables -A INPUT -i lo -j ACCEPT
针对端口的规则制定
将进入本地的21端口数据包都阻挡掉
# iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP
将1024至65534之间的端口都开放,可以用 端口号:端口号 来表示一段连续的端口号
# iptables -A INPUT -i eth0 -p tcp --dport 1024:65534 -j ACCEPT
下面来看两个个综合性的规则
本机的3306端口,不对192.168.1.0/24这个网络开放。
本机的ssh服务,不接受192.168.1.0/24这个网络的1024:65535端口的数据包
# iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --dport 3306 -j DROP # iptables -A INPUT -i etc0 -p tcp -s 192.168.1.0/24 \ > --sport 1024:65535 --dport 22 -j DROP
针对数据包的连接状态的规则制定
数据包常见的状态有INVALID(无效的数据包)、ESTABLISHED(已经成功连接的状态)、NEW(新建立的数据包)、RELATED(新连接与现有连接相关联)。
针对ESTABLISHED以及RELATED状态的数据包全都接受,针对INVALID状态的数据包全部丢弃
# iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # iptables -A INPUT -m state --state INVALID -j DROP
删除规则链
删除规则链基本和添加规则链一致,只不过-A换成-D即可,下面我们一起来删除几条规则。
# iptables-save # Generated by iptables-save v1.4.21 on Sun Nov 15 22:36:41 2020 *filter :INPUT ACCEPT [4:1920] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [16:1380] -A INPUT -s 192.168.1.111/32 -j DROP -A INPUT -s 192.168.1.110/32 -j ACCEPT -A INPUT -s 192.168.1.0/24 -j ACCEPT …… # iptables -t filter -D INPUT -s 192.168.1.111/32 -j DROP # iptables -D INPUT -s 192.168.1.110/32 -j ACCEPT
注:以上关于iptables的设置只会保存到内存中去,重启服务后系统后,这些设置将消失。所以,只要不把自己阻挡在外情况下,请尽管练习吧
若想保存规则的话,请输入/usr/libexec/iptables/iptables.init save来保存。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
误删除文件我想是每个程序员都遇到过的问题, 有的时候可能造成影响非常小,但是有时候会造成无法挽回的后果,这种例子比比皆是,大家可以
linux的“etc”目录下存放着用户信息。etc目录用来存放系统主要的配置文件,例如用户的账号密码等文件;该目录下的passwd文件是系统用户配置文件,存储了系统中所有用户的基本信息,而shadow文件存储了系统中用户的密码信息。
在linux中,s指的是“强制位权限”,位于user或group权限组的第三位置。如果在user权限组中设置了s位,则当文件被执行时,该文件是以文件所有者UID而不是用户UID执行程序;如果在group权限组中设置了s位,当文件被执行时,该文件是以文件所有者GID而不是用户GID执行程序。s权限位是一个敏感的权限位,容易造成系统的安全问题。
下面由linux系统教程栏目给大家介绍Linux下git 命令 免输密码怎么设置,希望对需要的朋友有所帮助!
linux原生系统不能直接安装exe后缀的应用;exe文件是windows下的可执行文件,linux平台是不允许直接安装的,但是可以利用Wine软件实现在linux上的安装,该软件可以模拟一部分的windows程序接口。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008