当前位置:   article > 正文

Firewalld防火墙管理(一)_public.xml

public.xml
一,Firewalld 概述
动态防火墙后台程序 firewalld 提供了一个 动态管理的防火墙, 用以支持网络 “ zones” , 以分配对一个网络及其相关链接和界面一定程度的信任。它具备对 IP v4 和 IP v6 防火墙设置的支持。它支持以太网桥 , 并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口
系统提供了图像化的配置工具 firewall-config 、 system-config-firewall, 提供命令行客户端 firewall-cmd, 用于配置firewalld 永久性或非永久性运行时间的改变 : 它依次用iptables 工具与执行数据包筛选的内核中的 Netfilter 通信firewalld 和 iptables service
firewalld 和 iptables service 之间最本质的不同是 :
iptables service 在 /etc/sysconfig/iptables 中储存配置

firewalld 将配置储存在 /usr/lib/firewalld/ 和/etc/firewalld/ 中的各种 XML 文件里 .

firewall的各种域

二,firewall安装与配置

注意:firewalld与iptables服务有冲突,注意开启firewalld时要关闭iptables,同样,如果开启了iptables,那么也要关闭firewalld。

图形化管理防火墙

三,防火墙基本命令

  1. firewall-cmd --state                                                         >>>>>查看防火墙的状态
  2. firewall-cmd --get-active-zones                                              >>>>>查看活跃的域(显示正在使用的域和网卡名称)
  3. firewall-cmd --get-default-zone                                              >>>>>查看默认的域
  4. firewall-cmd --get-zones                                                     >>>>>查看所有的域
  5. firewall-cmd --zone=public --list-all                                        >>>>>查看public域的详细信息
  6. firewall-cmd --get-services                                                  >>>>>查看预先定义的服务
  7. firewall-cmd --list-all-zones                                                >>>>>查看所有域的详细情况
  8. firewall-cmd --list-all --zone=trusted                                       >>>>>查看指定域trusted的详细信息
  9. firewall-cmd --list-all                                                      >>>>>查看默认域的详细信息
  10. firewall-cmd --set-default-zone=dmz                                          >>>>>设置默认域为dmz



三,防火墙常用命令

1,不用域对服务的影响

  1. [root@client Desktop]# firewall-cmd --set-default-zone=public
  2. success
  3. 此时浏览器浏览该主机ip,无法访问,因为public域中不允许httpd网络连接
  4. [root@client Desktop]# firewall-cmd --set-default-zone=trusted
  5. success
  6. 此时浏览器可以正常访问,因为trusted域可接受所有的网络连接

2,再添加一块网卡,配置ip

  1. [root@client network-scripts]# firewall-cmd --list-all                                           >>>>>>在public域里面,156默认是不能浏览器访问本机的
  2. public (default, active)
  3.   interfaces: eth0 eth1
  4.   sources:
  5.   services: dhcpv6-client ssh
  6.   ports:
  7.   masquerade: no
  8.   forward-ports:
  9.   icmp-blocks:
  10.   rich rules:
  11. [root@client ~]# firewall-cmd --add-source=172.25.254.156 --zone=trusted                         >>>>>>把156添加到trusted域里面,此时可以正常访问
  12. success
  13. [root@client ~]# firewall-cmd --list-all --zone=trusted
  14. trusted
  15. interfaces:
  16. sources: 172.25.254.156                                                        >>>>>trusted域里面出现156
  17. services:
  18. ports:
  19. masquerade: no
  20. forward-ports:
  21. icmp-blocks:
  22. rich rules:
  23. [root@client ~]# firewall-cmd --list-all
  24. public (default, active)
  25. interfaces: eth0 eth1
  26. sources:                                                                       >>>>>public域里面没有156,但是156主机可以通过156域访问
  27. services: dhcpv6-client ssh
  28. ports:
  29. masquerade: no
  30. forward-ports:
  31. icmp-blocks:
  32. rich rules:
  33. [root@client ~]# firewall-cmd --remove-source=172.25.254.156 --zone=trusted     >>>>>>把156从trusted域移除
  34. success
  35. [root@client ~]# firewall-cmd --list-all --zone=trusted
  36. trusted
  37. interfaces:
  38. sources:                                                                      >>>>>>>此时156就无法在浏览器访问本机
  39. services:
  40. ports:
  41. masquerade: no
  42. forward-ports:
  43. icmp-blocks:
  44. rich rules:
  45. [root@client ~]# firewall-cmd --list-interfaces                                 >>>>>>>列出所有接口
  46. eth0 eth1
  47. [root@client ~]# firewall-cmd --get-zone-of-interface=eth1                      >>>>>>>查看eht1网卡所在域
  48. public
  49. [root@client ~]# firewall-cmd --get-zone-of-interface=eth0                      >>>>>>>查看eth0网卡所在域
  50. public
  51. [root@client ~]# firewall-cmd --change-interface=eth0 --zone=trusted            >>>>>>>改变eth0所在域为trusted
  52. success
  53. [root@client ~]# firewall-cmd --remove-interface=eth0 --zone=trusted            >>>>>>>把eth0从trusted从移除
  54. success
  55. [root@client ~]# firewall-cmd --get-zone-of-interface=eth0                      >>>>>>>此时eth0域每有在任何域中
  56. no zone
  57. [root@client ~]# firewall-cmd --add-interface=eth0 --zone=public                >>>>>>>把eht0添加到public域里面
  58. success

3,永久添加

  1. [root@client Desktop]# firewall-cmd --add-source=172.25.254.156                   >>>>>>>注意,没有指名是哪个域就是默认的域
  2. success
  3. [root@client Desktop]# firewall-cmd --list-all
  4. public (default, active)
  5. interfaces: eth0 eth1
  6. sources: 172.25.254.156                                                         >>>>>>>>虽然添加成功,但是这是一次性的
  7. services: dhcpv6-client ssh
  8. ports:
  9. masquerade: no
  10. forward-ports:
  11. icmp-blocks:
  12. rich rules:
  13. [root@client Desktop]# systemctl restart firewalld                               >>>>>>>>>重启之后就没有了
  14. [root@client Desktop]# firewall-cmd --list-all
  15. public (default, active)
  16. interfaces: eth0 eth1
  17. sources:                                                                        >>>>>>>>>之前添加的ip消失
  18. services: dhcpv6-client ssh
  19. ports:
  20. masquerade: no
  21. forward-ports:
  22. icmp-blocks:
  23. rich rules:
  24. [root@client Desktop]# firewall-cmd --permanent --add-source=172.25.254.156       >>>>>>>>加上参数--permanent,永久添加
  25. success
  26. [root@client Desktop]# firewall-cmd --list-all
  27. public (default, active)
  28. interfaces: eth0 eth1
  29. sources:                                                                        >>>>>>>>永久添加不会立即生效
  30. services: dhcpv6-client ssh
  31. ports:
  32. masquerade: no
  33. forward-ports:
  34. icmp-blocks:
  35. rich rules:
  36. [root@client Desktop]# firewall-cmd --reload                                      >>>>>>>>需要重新加载
  37. success
  38. [root@client Desktop]# firewall-cmd --list-all                                    >>>>>>>>重新显示,156成功显示
  39. public (default, active)
  40. interfaces: eth0 eth1
  41. sources: 172.25.254.156
  42. services: dhcpv6-client ssh
  43. ports:
  44. masquerade: no
  45. forward-ports:
  46. icmp-blocks:
  47. rich rules:

4,修改配置文加添加管理

  1. [root@client ~]# cd /usr/lib/firewalld/
  2. [root@client firewalld]# ls
  3. icmptypes services zones                                                                >>>>>>firewall数据文件
  4. [root@client ~]# grep 172.25.254.156 -r /etc/                                             >>>>>>!!!!!在/etc下找包含172.25.254.156的内容,-r递归查找
  5. /etc/yum.repos.d/rhel_dvd.repo:baseurl = http://172.25.254.156/source7.0
  6. /etc/firewalld/zones/public.xml: <source address="172.25.254.156"/>
  7. [root@client ~]# cd /etc/firewalld/zones/                                                 >>>>>>防火墙的配置文件  
  8. [root@client zones]# ls
  9. public.xml public.xml.old ROL.xml
  10. [root@client zones]# vim public.xml                                                       >>>>>>修改配置文件
  11. [root@client zones]# cat public.xml
  12. <?xml version="1.0" encoding="utf-8"?>
  13. <zone>
  14. <short>Public</short>
  15. <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  16. <source address="172.25.254.156"/>
  17. <service name="dhcpv6-client"/>
  18. <service name="ssh"/>
  19. <service name="http"/>                                                                  >>>>>>添加http服务
  20. </zone>
  21. [root@client zones]# systemctl restart firewalld.service                                  >>>>>>重启服务,这个是永久性的
  22. [root@client zones]# firewall-cmd --list-all
  23. public (default, active)
  24. interfaces: eth0 eth1
  25. sources: 172.25.254.156
  26. services: dhcpv6-client http ssh                                                        >>>>>>成功添加http服务
  27. ports:
  28. masquerade: no
  29. forward-ports:
  30. icmp-blocks:
  31. rich rules:
  32. [root@client firewalld]# cd /usr/lib/firewalld/
  33. [root@client firewalld]# ls
  34. icmptypes services zones
  35. [root@client firewalld]# cd services/                                                          >>>>>>服务的数据文件
  36. [root@client services]# cat http.xml
  37. <?xml version="1.0" encoding="utf-8"?>
  38. <service>
  39. <short>WWW (HTTP)</short>
  40. <description>HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.</description>
  41. <port protocol="tcp" port="80"/>                                                             >>>>>>可以查看到http的服务端口与协议
  42. </service>
  43. [root@client services]# firewall-cmd --add-port=8080/tcp --zone=public                         >>>>>>暂时在public域中添加一个端口
  44. success
  45. [root@client services]# firewall-cmd --list-all
  46. public (default, active)
  47. interfaces: eth0 eth1
  48. sources: 172.25.254.156
  49. services: dhcpv6-client http ssh
  50. ports: 8080/tcp                                                                              >>>>>>添加成功
  51. masquerade: no
  52. forward-ports:
  53. icmp-blocks:
  54. rich rules:
  55. [root@client services]# firewall-cmd --remove-service=ssh                                      >>>>>>>暂时移除ssh服务,此时其他主机无法连接
  56. success
  57. [root@client services]# firewall-cmd --list-all
  58. public (default, active)
  59. interfaces: eth0 eth1
  60. sources: 172.25.254.156
  61. services: dhcpv6-client http
  62. ports: 8080/tcp
  63. masquerade: no
  64. forward-ports:
  65. icmp-blocks:
  66. rich rules:
  67. [root@client services]# firewall-cmd --reload                                                  >>>>>>>重新加载,会把暂时添加或者删除的都恢复
  68. success
  69. [root@client services]# firewall-cmd --list-all
  70. public (default, active)
  71. interfaces: eth0 eth1
  72. sources: 172.25.254.156
  73. services: dhcpv6-client http ssh                                                             >>>>>>>ssh服务再次出现
  74. ports:                                                                                       >>>>>>>添加的端口消失
  75. masquerade: no
  76. forward-ports:
  77. icmp-blocks:
  78. rich rules:

5,防火墙与ssh服务,完全reload

156主机已经登陆上了本机

  1. [root@client ~]# firewall-cmd --list-all
  2. public (default, active)
  3. interfaces: eth0 eth1
  4. sources: 172.25.254.156
  5. services: dhcpv6-client http ssh
  6. ports:
  7. masquerade: no
  8. forward-ports:
  9. icmp-blocks:
  10. rich rules:
  11. [root@client ~]# firewall-cmd --remove-service=ssh                                    >>>>>暂时删除ssh,156主机还能执行操作
  12. success
  13. [root@client ~]# firewall-cmd --list-all
  14. public (default, active)
  15. interfaces: eth0 eth1
  16. sources: 172.25.254.156
  17. services: dhcpv6-client http
  18. ports:
  19. masquerade: no
  20. forward-ports:
  21. icmp-blocks:
  22. rich rules:
  23. [root@client ~]# firewall-cmd --reload
  24. success
  25. [root@client ~]# firewall-cmd --list-all
  26. public (default, active)
  27. interfaces: eth0 eth1
  28. sources: 172.25.254.156
  29. services: dhcpv6-client http ssh                                                >>>>>>加载之后,ssh出现,156主机还是可以执行命令
  30. ports:
  31. masquerade: no
  32. forward-ports:
  33. icmp-blocks:
  34. rich rules:
  35. [root@client ~]# firewall-cmd --permanent --remove-service=ssh                   >>>>>>>永久删除ssh
  36. success
  37. [root@client ~]# firewall-cmd --list-all
  38. public (default, active)
  39. interfaces: eth0 eth1
  40. sources: 172.25.254.156
  41. services: dhcpv6-client http ssh                                                >>>>>>>ssh还在,156主机还是可以执行操作
  42. ports:
  43. masquerade: no
  44. forward-ports:
  45. icmp-blocks:
  46. rich rules:
  47. [root@client ~]# firewall-cmd --reload
  48. success
  49. [root@client ~]# firewall-cmd --list-all
  50. public (default, active)
  51. interfaces: eth0 eth1
  52. sources: 172.25.254.156
  53. services: dhcpv6-client http                                                     >>>>>>>重新加载,ssh消失,但是156主机还是可以进行操作
  54. ports:
  55. masquerade: no
  56. forward-ports:
  57. icmp-blocks:
  58. rich rules:
  59. [root@client ~]# firewall-cmd --complete-reload                                    !!!!!!!需要永久删除,然后完全加载
  60. success
  61. [root@client ~]# firewall-cmd --list-all
  62. public (default, active)
  63. interfaces: eth0 eth1
  64. sources: 172.25.254.156
  65. services: dhcpv6-client http                                                      >>>>>>>ssh消失,并且156主机ssh卡住,无法执行命令
  66. ports:
  67. masquerade: no
  68. forward-ports:
  69. icmp-blocks:
  70. rich rules:


本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签