linux系统防火墙iptables命令规则及配置的示例

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: linux系统防火墙iptables命令规则及配置的示例(本机IP为172.16.63.7): 1、允许172.16网段内的主机访问: #iptables -t filter -A INPUT -s 172.

linux系统防火墙iptables命令规则及配置的示例(本机IP为172.16.63.7):

1、允许172.16网段内的主机访问:

#iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.63.7 -j ACCEPT

译:-t表,默认filter -A追加规则 INPUT进入 -s检查源 -d检查目标 -j处理动作 ACCEPT接受;入栈的目标是本机所以-d是本机IP;

2、以数值格式显示详细信息,列出表中链上的规则:

#iptables -vnL 

pkts bytes译:XXX报文,XXXXX个字节

3、以数值格式显示详细信息,列出表中链上的规则,并数字标记规则条数:

#iptables -vnL --line-numbers

4、拒绝172.16.63.66主机访问(目前172.16.63.66可以ping通本机,也可以ssh等):

#iptables -t filter -A INPUT -s 172.16.63.66 -d 172.16.63.7 -j REJECT

注:如果你操作过第一个,那么此时设置完后,发现172.16.63.66依旧可以ping进来,原来是我们刚才已经添加了允许172.16网段访问的规则,所以此规则是后添加的,所以不生效。同一服务规则,小范围放上面,次序很重要。

如果是多个不同的服务,规则排序要根据实际情况,例如web服务每天访问量巨大,而禁止某IP服务属于小范围,如果把某IP禁止服务放在前面,每次web服务都要先检查次IP,所以应该把匹配性较大的规则放在前面。

5、删除刚才添加的“允许172.16网段访问的”规则:

#iptables -D INPUT 1 

注:需要先-vnL --line-numbers查询下,此规则属于第几条,这里第一条则删除第一条。

6、清空规则;

#iptables -F

注:当前策略一定要是ACCEPT,不然会被阻断(你可以试试),任何清空删除规则前,都要保证自己不会被阻断!!!

7、插入一条规则,不让172.16.63.66的主机访问本机:

#iptables -I INPUT -s 172.16.63.66 -d 172.16.63.7 -j REJECT

注:默认插入第一条,如果插入第二条,则:#iptables -I INPUT 2 -s 172.16.63.66 -d 172.16.63.7 -j REJECT

注:这样172.16.63.66进行ping本机时,会直接提示拒绝,当然这样是不友好的(就是拒绝你,呵呵...),所以我们一般建议使用DROP直接丢弃

#iptables -I INPUT -s 172.16.63.66 -d 172.16.63.7 -j DROP

8、替换第一条规则,不让172.16.63.77的主机访问本机:

#iptables -R INPUT 1 -s 172.16.63.77 -d 172.16.63.7 -j DROP

9、放行本机上的ssh:

#iptables -A INPUT -s 172.16.0.0/16 -d 172.16.63.7 -p tcp --dport 22 -j ACCEPT

#iptables -A OUTPUT -d 172.16.0.0/16 -s 172.16.63.7 -p tcp --sport 22 -j ACCEPT

#iptables -p INPUT DROP

#iptables -p OUTPUT DROP

#iptables -p FORWARD DROP

如果此时还要允许本机ping其它(其它主机不写,表示全部):

#iptables -A OUTPUT -s 172.16.63.7 -p icmp --icmp-type 8 -j ACCEPT 允许ping其他了,但只放出了,进不来

#iptables -A INPUT -d 172.16.63.7 -p icmp --icmp-type 0 -j ACCEPT 所以还要开放进入的

如果此时也要允许其他主机ping本机:

#iptables -A INPUT -d 172.16.63.7 -p icmp --icmp-type 8 -j ACCEPT 8是回显请求

#iptables -A OUTPUT -s 172.16.63.7 -p icmp --icmp-type 0 -j ACCEPT 0是回显应答,此时其他主机也可以ping通本机

注意:此时如果直接使用#iptables -F清空,清空后的后果你懂得,呵呵呵...

所以此时我们要清空规则,则:

#iptables -p OUTPUT ACCEPT

#iptables -p INPUT ACCEPT

#iptables -p FORWARD ACCEPT

#iptables -F

10、iptables只开启ssh、web、telnet访问

先确定ss -lnt端口是否都已打开。

iptables -A INPUT -d 172.16.63.7 -p tcp -m multiport --dports 22:23,80 -j ACCEPT 连续的端口可用:表示XX端口到XX端口

iptables -A OUTPUT -s 172.16.63.7 -p tcp -m multiport --sports 22:23,80 -j ACCEPT

iptables -A INPUT -d 172.16.63.7 -j DROP

iptables -A OUTPUT -s 172.16.63.7 -j DROP

11、(根据上面继续来做)指定ip地址范围可以访问本机mysql

iptables -I INPUT 2 -d 172.16.63.7 -p tcp --dport 3306 -m iprange --src-range 172.16.63.70-172.16.63.100 -j ACCEPT

iptables -I OUTPUT 2 -s 172.16.63.7 -p tcp --sport 3306 -m iprange --dst-range 172.16.63.70-172.16.63.100 -j ACCEPT

mysql 本机添加一个mysql测试

GRANT ALL ON . TO 'root'@'%' IDENTIFIED BY 'whsir';

使用172.16.63.70-172.16.63.100之间的一个主机访问下试试:

mysql -uroot -h172.16.63.7 -pwuhao 可以连接上,没问题
12、(接上面操作)本机html内添加admin字符串,禁止网段内的IP不能访问带admin字符串的页面,但是可以访问其他页面

iptables -I OUTPUT -s 172.16.63.7 -p tcp --sport 80 -m iprange ! --dst-range 172.16.63.70-172.16.63.100 -m string --string "admin" --algo kmp -j REJECT 限制172.16.63.70-172.16.63.100网段

13、仅允许周2、4、6,9点到18点访问本机telnet

iptables -I INPUT -d 172.16.63.7 -p tcp --dport 23 -m time --timestart 09:00:00 --timestop 18:00:00 --weekdays Tue,Thu,Sat -j ACCEPT

14、限制客户端对本机telnet服务并发连接数小于等于3

iptables -A INPUT -d 172.16.63.7 -p tcp --dport 23 -m connlimit --connlimit-upto 3 -j ACCEPT 同一主机最大同时能连接3个

iptables -A INPUT -d 172.16.63.7 -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -d 172.16.63.7 -j DROP

iptables -A OUTPUT -s 172.16.63.7 -j DROP

15、允许客户端对本机连续ping5个包,然后每三秒钟ping一个

iptables -I INPUT -d 172.16.63.7 -p icmp --icmp-type 8 -m limit --limit-burst 5 --limit 20/minute -j ACCEPT

每分钟ping20个,也就是3秒一个,这样可以防止客户端对本机的大量ping操作

目录
相关文章
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
414 1
二、Linux文本处理与文件操作核心命令
|
2月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
666 57
|
1月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
380 2
|
2月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
264 0
Linux内存问题排查命令详解
|
网络协议 Linux 网络安全
Linux系列——关于防火墙iptables的常用命令
Linux系列——关于防火墙iptables的常用命令
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
450 73
|
网络协议 Linux 网络安全
百度搜索:蓝易云【Linux 防火墙配置(iptables和firewalld)详细教程。】
以上只是一些常见的iptables和firewalld命令示例,你可以根据自己的需求进行修改和扩展。请注意,在配置防火墙时务必小心,确保不会阻塞你所需要的合法流量,并确保保存和加载配置以使其永久生效。另外,建议在配置防火墙之前备份现有的防火墙规则以防止意外情况发生。
684 2
|
网络协议 安全 Linux
Linux防火墙--IPtables配置策略思路
Linux防火墙--IPtables配置策略思路 防火墙定义:是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。 防火墙发展应用:最早是ipfwadm和ipchains(Redhat7.0), 其次是iptables,Centos7开始后friewalld迅速发展,对iptables进行了 改良,目前还是iptables用的比较多。
633 0
Linux防火墙--IPtables配置策略思路
|
网络协议 Ubuntu 安全
Linux 防火墙 iptables 初学者教程
iptables 是专为 Linux 操作系统打造的极其灵活的防火墙工具。对 Linux 极客玩家和系统管理员来说,iptables 非常有用。本文将向你展示如何配置最通用的 Linux 防火墙。
482 0
Linux 防火墙 iptables 初学者教程