linux-firewalld

简介:

############# Firewalld ############


*)实验『使不同网段之间通信』######################

准备实验环境:

真机查看

Screenshot from 2017-12-02 21-14-50.png


配置好双网卡主机


Screenshot from 2017-12-02 21-19-57.png


第三台主机配置如下:

ip设置与双网卡主机内网在同一网段,网关设为双网卡eth1

Screenshot from 2017-12-02 23-02-01.png


Screenshot from 2017-12-02 23-03-21.png


效果如下:

Screenshot from 2017-12-02 23-04-06.png



*)启用 firewalld ############################

#yum install -y firewalld firewall-config    安装服务

#systemctl start firewalld                        开启服务

#systemctl enable firewalld                    开机开启

#systemctl disable firewalld                      开机关闭

#systemctl stop firewalld                          关闭服务


*)网络区域名称及默认设置##################################


Screenshot from 2017-12-02 20-10-10.png



[root@desktop ~]# firewall-config &   调用图形


看到如下界面!可在图形界面更改设置

Screenshot from 2017-12-02 19-36-11.png

[root@desktop ~]# firewall-cmd --list-all   查看火墙


public (default, active)
  interfaces: eth0
  sources: 
  services: dhcpv6-client ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 


图形勾选 http



[root@desktop ~]# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources: 
  services: dhcpv6-client http ssh   <-------
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 


*)安装 http 服务###########################

[root@desktop ~]# yum install httpd -y


编辑 /var/www/html/index.html 文件,使实验效果明显

Screenshot from 2017-12-02 19-46-30.png


测试 在浏览器输入:172.25.12.10  效果如下

Screenshot from 2017-12-02 19-49-07.png


编辑配置文件 更改端口

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 

[root@localhost ~]# systemctl restart httpd


Screenshot from 2017-12-02 20-04-23.png

测试:




Screenshot from 2017-12-02 20-07-50.png


在图形界面添加端口




如下命令查看http服务端口

Screenshot from 2017-12-02 20-19-25.png


*)火墙的相关命令###################################


[root@desktop ~]# firewall-cmd --state     查看火墙状态

[root@desktop ~]# firewall-cmd --get-active-zones  查看活跃区域

[root@desktop ~]# firewall-cmd --get-default-zone   查看默认区域

[root@desktop ~]# firewall-cmd --get-zones    查看所有网络区域

[root@desktop ~]# firewall-cmd --zone=public --list-all 查看public区域信息

[root@desktop ~]# firewall-cmd --get-services  列出所有服务

[root@desktop ~]# firewall-cmd --list-all-zones  列出所有

[root@desktop ~]# firewall-cmd --set-default-zone=dmz 设置默认区域为dmz


Screenshot from 2017-12-02 20-24-31.png



[root@desktop ~]# firewall-cmd --list-all-zones  列出所有

Screenshot from 2017-12-02 20-26-50.png


Screenshot from 2017-12-02 20-28-29.png


*)在 /etc/firewalld/zones 有关于火墙配置的一些文件#####################


Screenshot from 2017-12-02 21-03-49.png


列如在public.xml中 可查看火墙的一些相关配置,也可通过修改该文件,改变火墙配置


Screenshot from 2017-12-02 21-06-09.png


在此文件中加入443端口,重启火墙看到如下


Screenshot from 2017-12-02 21-07-53.png


一些相关命令:

[root@desktop ~]# firewall-cmd --permanent --add-port=8080/tcp  永久加入80端口

[root@desktop ~]# firewall-cmd --permanent --remove-port=8080/tcp 永久移除80端口

[root@localhost ~]# firewall-cmd --permanent --zone=internal --add-source=172.25.0.0./24 加入--源

[root@localhost ~]# firewall-cmd --permanent --zone=internal --removesource=172.25.0.0./24 移除--源

[root@desktop ~]# firewall-cmd --add-interface=eth1 --zone=public     把eth1加入public

[root@desktop ~]# firewall-cmd --permanent --remove-interface=eth1 --zone=public 把eth1从public移除

[root@desktop ~]# firewall-cmd --permanent --add-interface=eth1 --zone=trusted 把eth1加入trusted

[root@desktop zones]# firewall-cmd --change-interface=eth1 --zone=public 更改所属区域

[root@desktop ~]# firewall-cmd --permanent --add-service=http  加入http服务

[root@desktop ~]# firewall-cmd --permanent --remove-service=http 移除服务

[root@localhost ~]# firewall-cmd --permanent --zone=internal --add-interface=eth0 加入

[root@localhost ~]# firewall-cmd --permanent --zone=internal --remove-interface=eth0 移除

[root@desktop services]# firewall-cmd --reload  重新加载


*)reload 与complete-reload ################################


实验环境:


[root@desktop zones]# firewall-cmd --get-active-zones 
public
  interfaces: eth0
trusted
  interfaces: eth1

[root@desktop zones]# firewall-cmd --permanent --add-source=172.25.12.250 --zone=block  拒绝250连接

[root@desktop zones]# firewall-cmd --list-allpublic (default, active)
  interfaces: eth0
  sources: 
  services: dhcpv6-client ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 


[kiosk@foundation12 ~]$ ssh root@172.25.12.10  如下连接失败

Screenshot from 2017-12-02 21-46-24.png


[root@desktop zones]# firewall-cmd --permanent --remove-source=172.25.12.250 --zone=block  取消拒绝250

250连接上后

[root@desktop zones]# firewall-cmd --reload 
success

已连接上的未断开
[root@desktop zones]# firewall-cmd --complete-reload   断开所有连接
success



Screenshot from 2017-12-02 21-49-59.png


只好用以下命令断开连接,恢复

Screenshot from 2017-12-02 21-53-02.png


*)添加策略################################################

[root@desktop ~]# firewall-cmd --direct --get-all-rules   目前没有
[root@desktop ~]#

 

如下:station可连接

Screenshot from 2017-12-02 22-27-20.png

加入规则:

[root@desktop ~]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.12.12 -p tcp --dport 22 -j REJECT  

                                                                                                                                               拒绝12主机的ssh服务

Screenshot from 2017-12-02 22-28-27.png


效果如下:连接不上

Screenshot from 2017-12-02 22-28-39.png

特殊服务:

[root@desktop ~]# yum install vsftpd  安装服务
[root@desktop ~]# systemctl restart vsftpd  开启服务
[root@desktop ~]# ss -antulpe | grep vsftpd  查看端口
tcp    LISTEN     0      32                    :::21                   :::*      users:(("vsftpd",19346,3)) ino:165904 sk:ffff88007b53a000 <->
[root@desktop ~]# firewall-cmd --add-service=ftp  写入火墙策略
success


设置如下:

只允许250连接lftp
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.250 -p tcp --dport 21 -j REJECT



查看   cat /usr/lib/firewalld/services/ftp.xml 


Screenshot from 2017-12-02 22-43-46.png


  <port protocol="tcp" port="21"/>
  <module name="nf_conntrack_ftp"/>    相比其他服务,多了此模块,该模块为跟踪模块,可跟踪随机端口


[root@desktop ~]# lsmod | grep ftp  可查看服务模块


Screenshot from 2017-12-02 22-45-38.png


*)伪装#############################################


[root@desktop ~]# firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.12.12  将desktop(10)的22端口伪装到12主机上


Screenshot from 2017-12-02 22-49-44.png





[root@desktop ~]# firewall-cmd --add-masquerade 开启伪装


测试:当主机(250)连接10时,连接到了12上


Screenshot from 2017-12-02 22-51-52.png


[root@desktop ~]# firewall-cmd --remove-masquerade 关闭伪装



 本文转自 huanzi2017 51CTO博客,原文链接:http://blog.51cto.com/13362895/2047448


相关文章
|
6月前
|
网络协议 Linux 网络安全
【Linux环境】centos出现“FirewallD is not running”怎么办,如何解决
【Linux环境】centos出现“FirewallD is not running”怎么办,如何解决
199 0
|
4月前
|
存储 网络协议 Linux
Linux加强篇008-使用Iptables与Firewalld防火墙
山重水复疑无路,柳暗花明又一村
305 0
Linux加强篇008-使用Iptables与Firewalld防火墙
|
6月前
|
Ubuntu 网络协议 Linux
Linux: FirewallD和Iptables防火墙 使用
Linux: FirewallD和Iptables防火墙 使用
99 0
|
7月前
|
网络协议 Linux 网络安全
百度搜索:蓝易云【Linux 防火墙配置(iptables和firewalld)详细教程。】
以上只是一些常见的iptables和firewalld命令示例,你可以根据自己的需求进行修改和扩展。请注意,在配置防火墙时务必小心,确保不会阻塞你所需要的合法流量,并确保保存和加载配置以使其永久生效。另外,建议在配置防火墙之前备份现有的防火墙规则以防止意外情况发生。
572 2
|
7月前
|
Linux 网络安全
百度搜索:蓝易云【Linux系统iptables与Firewalld防火墙区别?】
需要注意的是,iptables和Firewalld并不是完全互斥的,实际上Firewalld在内部仍然使用iptables来实现防火墙功能。Firewalld提供了更高级的管理接口和易用性,尤其适用于动态环境下的配置管理。而在一些特定的情况下,仍然可以直接使用iptables来进行更精细的配置和控制。
91 0
|
9月前
|
人工智能 安全 网络协议
linux中iptable和firewalld详解
linux中iptable和firewalld详解
187 0
|
运维 Kubernetes 安全
关于 Linux 中 firewalld 的一些笔记整理
嗯,今天和小伙伴们分享一些 firewall 的笔记 内容涉及: zone 的介绍具和具体规则的添加 服务,端口和协议,ICMP 阻塞,SNAT/DNAT,IP伪装,端口转发等Demo firewall 离线命令(服务未启动规则预设方式) 理解不足小伙伴帮忙指正
151 0
|
存储 XML 安全
Linux防火墙firewalld安全设置(下)
Linux防火墙firewalld安全设置
Linux防火墙firewalld安全设置(下)
|
XML 存储 安全
Linux防火墙firewalld安全设置(上)
Linux防火墙firewalld安全设置
Linux防火墙firewalld安全设置(上)
|
网络协议 Linux 网络安全
Linux日记本_03:CentOS 7 中firewalld的使用
1、firewalld的基本使用 启动:systemctl start firewalld 关闭:systemctl stop firewalld 查看状态:systemctl status firewalld 开机禁用 :systemctl disable firewalld 开机启用 :systemctl enable firewalld 2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
1072 0