一、防火墙iptables 简洁介绍
iptables 和 firewalld 都是工作在用户空间、用来定义规则的工具,本身不是防火墙,他们定义的规则,可以让内核空间当中的netfilter读取,并且实现防火墙工作。
netfilter是操作系统核心层内部的一个数据包处理模块,它具有如下功能:
1.网络地址转换 nat
2.数据包内容修改 mangle
3.数据包过滤的防火墙功能 filter
centos7.2 默认使用firewalld ;iptables默认无法被systemctl控制,需要安装iptables-services、iptables-devel这两个依赖包
二、将firewalld切换到 iptables
1. 停止并禁用 firewalld
sudo systemctl stop firewald.service && sudo systemctl disable firewald.service
2.安装iptables-services、iptables-devel
sudo yum install iptables-services iptables-devel
3.启用并启动iptables
sudo systemctl enable iptables.service && sudo systemctl start iptables.service
4.查看iptables配置文件
sudo vim /etc/sysconfig/iptables
5.开启转发功能
(1) 在 /etc/sysctl.conf 中添加 net.ipv4.ip_forward=1
(2) sudo sysctl -p 同步内核参数
(3) 继续查看内核参数 less /proc/sys/net/ipv4/ip_forward 如果为1 则配置生效
6.iptables 保存规则(很多时候修改了规则都不一定生效,原因是未保存)
service iptables save
或者
/etc/init.d/iptables save