2.想让配置策略一直存在,就需要使用永久(Permanent)模式了,方法就是在用firewall-cmd命令正常设置防火墙策略时添加--permanent参数,永久生效模式设置的策略只有在系统重启之后才能自动生效。
3.如果想让配置的策略立即生效,需要手动执行firewall-cmd --reload命令。
4.启动/关闭firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用):
[root@localhost ~]# firewall-cmd --panic-on
success
[root@localhost ~]# firewall-cmd --panic-off
success
5.流量转发
命令格式为firewall-cmd --permanent --zone=<区域>--add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
eg:把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto= tcp:toport=22:toaddr=192.168.10.10
success
[root@localhost ~]# firewall-cmd --reload
success
6.拒绝访问(富规则)
firewalld可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防火墙策略中也是最高的。
eg:
firewalld服务中配置一条富规则,使其拒绝192.168.10.0/24网段的所有用户访问本机的ssh服务(22端口):
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
[root@localhost ~]# firewall-cmd --reload
success
查看当前开了哪些端口其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件。firewall-\cmd --list-services通过这个命令我们查看当前打开了那些服务,比如下面这个
我开启了两个服务,但是没有开启http和ftp服务,所以不能通过外网访问搭建的nginx服务器和ftp服务器
(1)可以通过下面这个命令查看可以打开的服务有哪些
firewall-\cmd --get-services
(2)可以通过下面的命令添加一个服务到firewalld
firewall-\cmd --add-service=http //http换成想要开放的service这样添加的service当前立刻生效,但系统下次启动就失效,可以测试使用。要永久开发一个service,加上 --permanent
firewall-\cmd --permanent --add-service=http然后通过systemctl restart firewalld.service重启防火墙就生效了
这个时候就可以通过外网访问搭建的nginx和ftp服务器了.
现在的RedHat/CentOS7版本默认都使用firewall防火墙了,firewall的配方法大致可以分为图形化和命令行。firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。
wiki百科↓
https://fedoraproject.org/wiki/Firewalld
firewall-cmd #是命令行配置
firewall-config #是图形化配置 默认中文不支持福规则的动作设置需要LANG=C 转一下英文ASCII环境
开始之前确认防火墙是开启的状态
端口转发需要用到forward-port
到重点了,这里上面的条目富规则都可实现
具体配置案例查询firewalld.richlanguage
firewalld防火墙开启ip伪装
1、网卡默认是在public的zones内,也是默认zones。永久添加源地址转换功能
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload
2、共享上网
开启的ip转发后,相当了一台本地的nat服务器。
将client的网关指向你配置的ip转发服务器的IP。
只要你的ip转发服务器可以正常解析公网IP(dns可解析公网地址)。
Clent服务器就可以借助IP转发服务器实现上网(前提是中间路由可达)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)