Linux7版本防火墙轻松搞定

防火墙是系统最坚硬的盾牌,需要我们自己去铸造~

1、Linux7默认用到的防火墙是firewalld

(1)systemctl start firewalld 开启防火墙

(2)systemctl stop firewalld 关闭防火墙

(3)systemctl enable firewalld  允许开机启动

(4)systemctl diable firewalld  禁止开机启动

2、firewalld9个域以及默认的域

(1)firewall-cmd --get-zones   查看所有域

(2)firewall-cmd --get-default-zone  查看默认域

drop(丢弃),任何接受的网络数据包都被丢弃,没有任何回复,仅能有发送出去的网络连接。

block(限制),任何接受的网络连接都被IPv4的icmp-host-prohibited和IPv6的icmp6-adm-prohibited信息所拒绝。

public(公共),在公共区域使用,不能相信其他网络内的计算机不会对你的计算机造成危害,只能接受经过选取的连接。

external(外部)

dmz(非军事区),用于你的非军事区的电脑,此区域内可公开访问,可以有限的进入你的内部网络,仅仅接收经过选择的连接。

work(工作),用于工作区,可以基本信任网络其他电脑不会危害你的电脑,仅仅接收经过选择的连接。

home(家庭),用于家庭网络,可以基本信任网络其他电脑不会危害你的电脑,仅仅接收经过选择的连接。

internal(内部),用于内部网络,可以基本信任网络其他电脑不会危害你的电脑,仅仅接收经过选择的连接。

trusted(信任),可接受所有网络连接。

(3)firewall-cmd --set-default-zone=work  修改默认zone为work

(4)firewall-cmd --get-zone-of-interface=ens33  查看指定网卡的域

(5)firewall-cmd --zone=work --change-interface=ens33 更改指定网卡的域

(6)firewall-cmd --zone=home --add-interface=ens33 给指定的网卡设置zone

(7)firewall-cmd --zone=home --remove-interface=ens33 针对指定网卡删除zone

(8)firewall-cmd --get-active-zones 查看系统所有网卡所在的zone

(9)firewall-cmd --get-service  查看所有service

(10)firewall-cmd --list-services  查看当前zone下有哪些service

(11)firewall-cmd --zone=public --add-service=http 将http协议加到public zone下

(12)firewall-cmd --zone=public --remove-service=http 将协议删除

(13)ls /usr/lib/firewalld/zones   zone的配置文件模板

(14)一个小练习:ftp服务自定义端口为1121,如何在work zone下放行ftp /usr/lib/firewalld/service下为配置文件,/etc/firewalld/service下为真正生效的文件

1)cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services 将ftp协议模板拷贝到目标目录下

2)vim /etc/firewalld/service/ftp.xml 打开文件将端口修改为1121

3)cp /usr/lib/firewalld/zones/work.xml  /etc/firewalld/zones/ 将zone的work模板拷贝到目标目录下

4)vim /etc/firewalld/zones/work.xml  修改zonework 的配置文件,加入下面一行<service name="ftp">

5)重新加载

6)查看work下有多少协议

3、selinux是一种安全子系统

(1)查看selinux状态/usr/sbin/sestatus 或者 sestatus

 或者修改配置文件/etc/selinux/config

selinux有三种状态:enforcing(执行中),permissive(不执行但产生警告),disbled(关闭)

4、安装iptables服务 yum install -y iptables-services

5、开启iptables

(1)systemctl status iptables 查看iptables状态

(2)systemctl enable/disable iptables设置开机启动和禁止开机启动

(3)iptables -nvL

-L:表示查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加-t nat

-n:不对IP地址进行反查可以加快速度

-v:输出详细信息

6、linux防火墙netfilter,iptable只是netfilter的一个服务

(1)net filter五个表:filter表用于过滤包,nat表用于网络地址转换,managle表用于给数据包做标记,raw表可以实现不追踪某些数据包,security表在CentOS6中没有,用于强制访问(MAC)网络规则。

(2)filter表有INPUT,FORWARD,OUTPUT三个链

(3)nat表有PREROUTING,OUTPUT,POSTROUTING三个链

7、数据包流向与netfilter五个链

PREROUTING:数据包进入路由表之前

INPUT:通过路由表后目的为本机

FORWARD:通过路由表后目的不为本机

OUTPUT:由本机产生,向外发出

POSTROUTING:发送到网卡接口之前

8、route 查看路由表

9、iptables规则

(1)iptables -F  清空规则,重启后恢复

(2)service IP tables -save 保存规则 ,保存在/etc/sysconfig/iptables下

(3)iptables -t nat 查看nat表

(4)iptables -Z 用于把计数器清零

(5)iptables -I INPUT -s 192.168.10.0/24 -i ens33 -j DROP   -A在最后添加,-I在最开始添加

会自动丢弃所有来自192.168.10.0网段的访问

(6)iptables -D INPUT 1 删除第一行规则

关于防火墙的内容三言两语聊不完,他就像我们的盔甲一样,需要精心去铸造,如果本文有什么错误欢迎指出,一起讨论~

猜你喜欢

转载自blog.csdn.net/weixin_42774383/article/details/81349550
今日推荐