firewalld
一、图形化管理火墙
系统提供了图像化的配置工具 firewall-config 、 system-config-firewall, 提供命令行客户端 firewall-cmd, 用于配置 firewalld 永久性或非永久性运行时间的改变。在图形工具里可以根据需求简单直接的设置火墙策略。
二、firewalld的配置存储
/etc/firewalld
进行的所有永久设定,均是改变此中文件/etc/firewalld/zones中的文件的内容,也可在文件中直接改动,改完后需要进行重启服务。
三、用命令管理firewalld
firewall-cmd --state ##状态
firewall-cmd --get-zones ##查看系统火墙域有哪些
firewall-cmd --get-default-zone ##查看默认域是哪一个
firewall-cmd --get-active-zones ##当前正在生效的设定
firewall-cmd --zone=public --list-all ##列出指定域的策略
firewall-cmd --get-services ##查看所有可以开启的服务
对于企业来说,一些服务器要同时向内部和外界提供服务。出于安全性考虑,对内外所开放的服务权限是不同的。这一点就可以用配置火墙来实现。(在此以public和trusted以及httpd服务来作一个简单的示例。)
首先给该服务器配置双网卡,假设eth0为内网,eth1为外网。其各自ip如下。
将eth0从public域上取下,放到trusted域上。
查看正在工作的域有public和trusted
查看public域的火墙策略,不支持http访问。
通过eth0的http访问成功。
通过eth1的http访问被拒。
这样就可以实现不同网段的访问控制。
firewall-cmd --add-service=ftp
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.60 -p tcp --dport 21 -j REJECT ##只允许60使用21端口否则拒绝,第一条非172.25.254.60不能连接21端口firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 ! -s 172.25.254.60 -p tcp --dport 21 -j REJECT ##移除
60主机本可以连接21端口。
写入策略后60主机不能连接。
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.60 -p tcp --dport 22 -j DROP ##只允许60连接否则等待
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 ! -s 172.25.254.60 -p tcp --dport 22 -j DROP ##移除
目的地地址转发,路由之前 ##别人连我,转换出去
firewall-cmd --add-masquerade --zone=public
firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.60
测试:
foundation60.ilt.example.com主机的ip为172.25.254.60
firewall-cmd --remove-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.60
源地址转换,路由之后
firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.25.254.160 masquerade'
firewall-cmd --list-all
客户机的网关要设置成路由器上能和它通信的ip。