由于centos7默认没有iptables,请简述一下,怎么安装iptables防火墙,修改配置文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由于centos7默认没有iptables,请简述一下,怎么安装iptables防火墙,修改配置文件相关的知识,希望对你有一定的参考价值。
centos 7 和 redhat 7 一样,用firewalld代替了旧版本的 iptables。新的防火墙管理命令firewall-cmd与图形化工具firewall-config。
Firewalld服务是红帽RHEL7系统中默认的防火墙管理工具,特点是拥有运行时配置与永久配置选项且能够支持动态更新以及"zone"的区域功能概念,使用图形化工具firewall-config或文本管理工具firewall-cmd,下面实验中会讲到~
8.3.1 区域概念与作用
防火墙的网络区域定义了网络连接的可信等级,我们可以根据不同场景来调用不同的firewalld区域,区域规则有:
编辑
区域 默认规则策略
trusted 允许所有的数据包。
home 拒绝流入的数据包,除非与输出流量数据包相关或是ssh,mdns,ipp-client,samba-client与dhcpv6-client服务则允许。
internal 等同于home区域
work 拒绝流入的数据包,除非与输出流量数据包相关或是ssh,ipp-client与dhcpv6-client服务则允许。
public 拒绝流入的数据包,除非与输出流量数据包相关或是ssh,dhcpv6-client服务则允许。
external 拒绝流入的数据包,除非与输出流量数据包相关或是ssh服务则允许。
dmz 拒绝流入的数据包,除非与输出流量数据包相关或是ssh服务则允许。
block 拒绝流入的数据包,除非与输出流量数据包相关。
drop 拒绝流入的数据包,除非与输出流量数据包相关。
简单来讲就是为用户预先准备了几套规则集合,我们可以根据场景的不同选择合适的规矩集合,而默认区域是public。
8.3.2 字符管理工具
如果想要更高效的配置妥当防火墙,那么就一定要学习字符管理工具firewall-cmd命令,命令参数有:
编辑
参数 作用
--get-default-zone 查询默认的区域名称。
--set-default-zone=<区域名称> 设置默认的区域,永久生效。
--get-zones 显示可用的区域。
--get-services 显示预先定义的服务。
--get-active-zones 显示当前正在使用的区域与网卡名称。
--add-source= 将来源于此IP或子网的流量导向指定的区域。
--remove-source= 不再将此IP或子网的流量导向某个指定区域。
--add-interface=<网卡名称> 将来自于该网卡的所有流量都导向某个指定区域。
--change-interface=<网卡名称> 将某个网卡与区域做关联。
--list-all 显示当前区域的网卡配置参数,资源,端口以及服务等信息。
--list-all-zones 显示所有区域的网卡配置参数,资源,端口以及服务等信息。
--add-service=<服务名> 设置默认区域允许该服务的流量。
--add-port=<端口号/协议> 允许默认区域允许该端口的流量。
--remove-service=<服务名> 设置默认区域不再允许该服务的流量。
--remove-port=<端口号/协议> 允许默认区域不再允许该端口的流量。
--reload 让“永久生效”的配置规则立即生效,覆盖当前的。
以上摘抄自,可以访问查看详情:http://www.linuxprobe.com/chapter-08.html#83_Firewalld 参考技术A 有更好用的firewalld啊
(转)CentOS 7.0关闭默认防火墙启用iptables防火墙
场景:在本地虚拟机上使用ftp软件需要进行相应的端口设置,不可避免要访问Cnetos的防火墙,默认firewall操作不方便,所以需要进行相应的替换。
1 配置防火墙,开启80端口、3306端口
1.1 配置iptables
CentOS 7 默认使用firewalld来管理iptables规则,由于防火墙规则变动的情况很少,动不动态变得无所谓了。但是习惯是魔鬼,跟之前不一样,总是感觉不太习惯。
systemctl disable firewalld
yum remove firewalld -y
使用下面的办法来恢复原来的习惯,同时解决iptables开机启动的问题。
yum install iptables-services -y
systemctl enable iptables
这样的话,iptables服务会开机启动,自动从/etc/sysconfig/iptables 文件导入规则。
为了让/etc/init.d/iptables save 这条命令生效,需要这么做
cp /usr/libexec/iptables/iptables.init /etc/init.d/iptables
/etc/init.d/iptables save
而chkconfig iptables 命令会自动重定向到sytemctl enable iptables (并不清楚这这条命令的相关作用)
1.2 防火墙端口配置
在配置防火墙前先备份一下配置文件:
cp /etc/sysconfig/iptables /etc/sysconfig/iptables_vba
编辑防火墙配置文件,添加80和3306两个端口
#编辑防火墙配置文件
vim /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall Linux学习,http:// linux.it.NET.cn # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] Linux学习,http:// linux.it.Net.cn -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited IT网,http://www.it.net.cn COMMIT IT网,http://www.it.net.cn :wq! #保存退出
备注:这里使用80和8080端口为例。***部分一般添加到“-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
2 关闭SELINUX
除了需要更改系统默认的防火墙以外,我们还需要关闭SELinux,这个步骤是可选的。(如果要安装vsftpd服务时候,就需要执行下面的步骤)
SELinux是一个由美国国家安全局和SCC开发的 Linux的一个扩张强制访问控制安全模块。它可以保护Linux,但是开着SELinux有时候会发生一些莫名其妙的问题。所以在这里还是关掉算了。
vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq! #保存退出 setenforce 0 #使配置立即生效
3 CentOS 配置防火墙操作实例(启、停、开、闭端口)
注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status 停止防火墙: [root@localhost ~]# service iptables stop 启动防火墙: [root@localhost ~]# service iptables start 重启防火墙: [root@localhost ~]# service iptables restart 永久关闭防火墙: [root@localhost ~]# chkconfig iptables off 永久关闭后启用: [root@localhost ~]# chkconfig iptables on
1、查看防火墙状态
[root@localhost ~]# service iptables status
2、依葫芦画瓢,我们添加8080端口和9990端口
3、保存/etc/sysconfig/iptables文件,并在终端执行
[root@localhost ~]# service iptables restart <回车>
4、从新查看防火墙状态
[root@localhost ~]# service iptables status<回车>
5、时候,服务器的8080和9990端口就可以对外提供服务了。
6、其他端口的开放模式就是类似如此开放模式。
以上是关于由于centos7默认没有iptables,请简述一下,怎么安装iptables防火墙,修改配置文件的主要内容,如果未能解决你的问题,请参考以下文章