Centos 运维之防火墙篇——①iptables
防火墙
一般来说,iptables和firewalld启用一个即可
iptables
iptables是Linux中常用的防火墙工具
规则链
- PREROUTING 在进行路由选择前处理数据包
- INPUT 处理流入的数据包
- OUTPUT 处理流出的数据包
- FORWARD 处理转发的数据包
- POSTROUTING 在进行路由选择后处理数据包
一般来说,从内网向外网发送的流量一般都是可控且良性的,因此使用最多的就是INPUT规则链,该规则链可以增大黑客人员从外网入侵内网的难度。 但是仅有规则链,还不足以保护用户安全,还应该和一些动作联合起来。比如允许(ACCEPT)、拒绝(REJECT|DROP)、记录(LOG)、不记录
REJECT和DROP都是拒绝流量通过,两者有不同之处。
- DROP 直接将流量丢弃而且不响应
- REJECT 会在拒绝流量后再回复一条“信息已经收到,但是被扔掉了”信息,从而让流量发送方清晰地看到数据被拒绝的响应信息。
简单来说,流量传送失败一个会告诉你已经失败,现实中多用DROP
iptables属于数据链路层的服务,所以可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配;一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。另外,防火墙策略规则的匹配顺序是从上到下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误。就是最重要的写到最前面
常用参数
参数 | 作用 |
---|---|
-P | 设置默认策略 |
-F | 清空规则链 |
-L | 查看规则链 |
-A/-D | 向规则链加入/删除规则 |
-I | 在规则链插入新规则 |
-s | 匹配来源地址IP/MASK,加 ! 表示除外 |
-d | 匹配目标地址 |
-p | 匹配协议(UDP/TCP/ICMP) |
-j | 动作(ACCEPT/DROP/REJECT) |
--dport num | 匹配目标端口号 |
--sport num | 匹配来源端口号 |
-i/o | 流入/流出网卡名称 |
配置完策略需要iptables-save
来保存配置的策略命令
常用指令
# 包含num 列出iptables规则
iptables -nvL --line-numbers
# 删除num号规则 -D后面跟链名和编号
iptables -D INPUT num
# 预设策略 即不在列表里的按此策略执行
iptables -P INPUT ACCEPT
# 添加规则
#1.1.1.1可以为IP也可以为网段0.0.0.0/0
iptables -A INPUT -s 1.1.1.1 --dport 80 -j DROP
# 添加ping --icmp-type要跟-p icmp一起使用,后面指定类型编号。这个8指的是能在本机ping通其他机器,而其他机器不能ping通本机,请牢记
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
# 停止防火墙
service iptables stop
# 开启防火墙
service iptables start
# 查看防火墙状态
service iptables status
保存和备份iptables规则
# 保存并输出配置文件位置
service iptables save
# 备份到指定路径
iptables-save > myipt.rule
# 通过文件还原规则
iptables-restore < myipt.rule
相关文章
- linux网络配置出现E325,Linux CentOS E325错误,如何解决?VI如何使用?「建议收藏」
- linux如何安装node.js_centos安装nodejs
- dracut 查看linux分区,Centos进入dracut模式,报 /dev/centos/swap does not exist,如何恢复[通俗易懂]
- CentOS 7 部署 OpenVPN
- Centos 6.9_centos iptables
- 【图文教程】Centos单机安装Redis
- Centos 6.5升级内核失败问题
- CentOS 7内核升级操作参考
- Centos 运维之防火墙篇——②firewalld
- CentOS 6.5/6.6修改SSH默认端口号
- CentOS 上安装GNU编译器套件—GCC
- Linux CentOS 6.5 ifconfig查询不到ip的解决方法
- centOS 7安装mysql5.6详解程序员
- centos 7 关闭 firewall、iptables详解程序员
- CentOS 7 安装 Mysql 8.0 教程详解程序员
- CentOS通过光盘启动救援数据详解程序员
- CentOS 8设置自动更新的完整步骤
- 浅析Hyper-V安装CentOS 8问题
- Centos步骤简明教程:安装Oracle 11g(centos安装oracle11g)
- 查看CentOS系统下mysql版本:从运维的角度(centos查看mysql版本)
- 【CentOS】重启MySQL:一步一步教程(centos重启mysql)
- 如何在CentOS 7上安装Oracle Database 12c
- CentOS与Linux:非凡之旅(centos和linux)
- 实战案例:实现CentOS 7编译安装基于httpd 模块方式的LAMP
- CentOS安装MySQL 解决复杂数据库问题(centos安装mysql)
- CentOS系统下轻松安装MongoDB指南(centos安装mongodb)
- CentOS系统如何连接MySQL数据库(centos连mysql)
- 配置CentOS下MySQL安装与配置指南(centos中mysql)
- centos环境下lnmp安装配置