Linux运维实战技术
Linux运维实战技术
大家好:请不要叫我防火墙,请叫我的英文名字iptables!分解开:tables是表的意思;言下之意是关于ip表的那些事!
表的操作,比如:数据库的表,无非四种:增、删、改、查,这是我的四大强项!
虽然经济上不是很富裕,但我的才华很富足,我有四表五链!
简言之就是,功能。
filter、nat、mangle、raw 过滤、转换、标记、状态跟踪
简言之就是,方向。
OUTPUT、INPUT 、FORWARD、PREROUTING、POSTROUTING 出、入、转、路由前、路由后
总结,通过四表五链我可以对以我为参照来自不同方向数据包进行不同功能的处理。
iptables [-t 表名] [选项] [链名] [条件] [-j 操作]。
省略表名,默认是filter表,也有默认规则。
操作:到达防火墙的数据包,进行四项处理,原则是匹配即停止(LOG例外),若在所有链中无任何匹配,按默认策略处理。
ACCEPT:允许。
DROP:丢弃,不给回应。
REJECT:拒绝,给回应信息。
LOG:记录日志,传给下一条规则。
配置语法:注意,centos7版本不支持部分功能,若有此需求,请使用Firewalld防火墙,见fireawalld网络安全部署。
类别 匹配选项 用法 通用 协议 -p 协议名 通用 地址 -s源地址、-d目标地址 通用 接口 -i 接受数据网卡、-o发送数据网卡 隐含 端口 - -sport 源端口、- -目标端口 隐含 ICMP类型 - -icmp-type ICMP类型
查询nat表的规则:
查询filter表规则,并添加行号输出:
iptables -t filter -L --line-numbers
查询filter表规则,并添加行号且以数字显示地址栏输出:
iptables -t filter -nL --line-numbers
临时不保存配置:重启服务会恢复原来。
1)清空指定表的所有规则:
2)删除指定的规则,按照编号:
永久保存配置:
实例一:仅允许ssh远程登录连接,拒绝其他服务的请求,并且是以不给回应的方式。
1)默认允许ssh远程登录服务器。
登录成功:
2)服务器本地设置规则, 拒绝此项行为。
iptables -t filter -P INPUT DROP
3)远程主机验证,一直是连接中,没有报错提示信息;若是已登录的远程ssh界面,无法进行操作,被锁死。
4)本地服务器添加规则,允许ssh连接的服务数据包通过:
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
5)验证:此刻ssh可以连接服务器,其他服务则不行。
查看规则链:
实例二:允许用户访问网站服务。
1)不添加规则,执行之前规则丢弃拒绝,一直显示正在连接:
2)本地服务器添加规则,允许连接80端口的服务数据包通过:
iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT
3)验证:可以访问到网站页面。
推荐观看
>>>新手必备-Linux系统安装配置+Xshell远程连接
运维界升职加薪必备的云计算技术,你学了吗?
学完高级运维云计算课程之后,你可以:
跨越90%企业的招聘硬门槛
增加70%就业机会
拿下BAT全国TOP100大厂敲门砖
体系化得到运维技术硬实力
技术大佬年薪可达30w+