(27) firewalld 防火墙服务管理

一、防火墙

 1.概述

   动态防火墙后台程序 FireWalld 提供了一个动态管理的防火墙,用以支持网络的zones,以分配对一个网络及相关连接和界面一定程度的信任;它支持以太网桥,并有分离运行时间和永久行配置选择。

 2.域

  home(家庭):用于家庭网络,仅接受dhcpv6-client、ipp-client、mdns、samba-client、ssh服务

  internal(内部):用于内部网络,仅接受dhcpv6-client、ipp-client、mdns、samba-client、ssh服务

  public(公共):用于公共区域使用,仅接受dhcpv6-client、ssh服务

  trusted(信任):接受所有网络连接

  work(工作):用于工作区,仅接受dhcpv6-client、ipp-client、ssh服务

  block(限制):拒绝所有网络连接

  dmz(非军事区):仅接受ssh服务连接

  drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复

  external(外部):出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh服务连接

二、防火墙相关命令

 1.开启防火墙及查看状态


扫描二维码关注公众号,回复: 1531675 查看本文章
 2.查看火墙状态  firewall-cmd --state
 3.查看火墙正在使用的域 firewall-cmd --get-active-zones
 4.查看火墙的默认域  firewall-cmd --get-default-zone
 5.查看火墙所有的域  firewall-cmd --get-zones


 6.查看public域的信息 firewall-cmd --list-all --zone=public


 7.查看不同通过火墙的服务 firewall-cmd --get-services


 8.修改火墙的默认域


 9.火墙的图形化配置工具


三、接口控制

 1.接口访问控制

  eth0 = 172.25.254.208

  eth1 = 172.25.77.208


 此时实验(连接/访问/ping均可

 254.208不通;77.208正常


 2.8080端口

 在接口eth1上打开8080端口


 修改http服务的配置文件  /etc/httpd/conf/httpd.conf


 重启http服务,网页访问8080端口


 3.实验:禁止77.177主机链接


  77.177主机无法链接


  服务端永久变更


  已连接的8主机不会断开


  但是complete-reload之后,77.177主机立即断开,无法操作

四、防火墙访问控制

Direct Rules

 1.接口eth0不允许http服务


 2.设置规则,允许77主机访问本机


  77主机可正常访问


  但是77.208则无法访问


Rich Rules

 1.地址转换


 2.连接208主机,将直接跳转到77.177主机

[kiosk@foundation8 Desktop]$ [email protected] -X

[email protected]'s password:    ##主机77.177的root密码


 3.主机172.25.77.177连接其他主机时,将伪装成208主机

 77.177主机修改网络配置

    IPADDR=172.25.77.177

    GATEWAY=172.25.77.208

内核路由打开:

当77.177主机链接254.77主机时,将伪装成208主机


###注意:net.ipv4.ip_forward ####

[root@localhost ~]# sysctl   -a  |  grep  ip_forward

net.ipv4.ip_forward = 1

若net.ipv4.ip_forward = 0,编辑配置文件,重启服务即可

 

五、Iptables命令管理

  内核3个表,5条链

 filter:经过本机内核的数据,input,forward,ouput

 nat:不经过本机内核的数据,input,ouput,prerouting,postrouting

 mangle:所有经过主机上的数据,prerouting,input,forward,ouput,postrouting

 1.显示内核三张表的信息

  iptables  -nL      ##默认为filter表


  iptables -nL -t nat   ##显示nat表


 iptables -nL -t  mangle  ##显示mangle表,备用


 2.表格命令编辑   ##默认filter表

  iptables -A  INPUT -s 172.25.254.111 -j REJECT   ##添加


  iptables -D INPUT 6  ##删除INPUT链的第6条


  iptables -I INPUT -s 172.25.254.111 -j REJECT  ##插入至第1条


  iptables -R INPUT 1 -j ACCEPT   ##将INPUT第1条规则改为ACCEPT

 【iptables -F   ##刷新(类似删除)配置,但是重启后配置依然存在

  systemctl  restart  iptables.service

 

 【iptables -F   ##刷新后保存,重启后配置为空

  service iptables  systemctl restart iptables.service


  iptables -P FORWARD DROP  ##将FORWARD链规则改为DROP


  iptables -N redhat  ##新建redhat自定义链


  iptables -E redhat REDHAt  ##修改自定义链的名称


  iptables -X REDHAt  ##删除自定义链


 3.服务管理

 iptables -A INPUT -p tcp --dport 22 -j ACCEPT  ###允许所有主机链接ssh(22)

 iptables -A INPUT -s 172.25.254.77 -p tcp --dport 80 -j ACCEPT  ###只允许主77机链接http(80

 iptables -A INPUT ! -s 172.25.254.77 -p tcp --dport 53 -j REJECT ###除了主机77都拒链接DNS(53)

 iptables -A INPUT -j REJECT  ###读取以上规则后,其他所有访问拒绝  (从前到后,逐条读取)


   ##将修改后的配置保存在文件/etc/sysconfig/iptables


六.Iptables地址转换

  注意:

  1.一定要刷新filter表   iptables -F
  2.打开内核路由  ##若net.ipv4.ip_forward=0

    sysctl -p  == 【restart systemd-sysctl.service】


  3. 0.208主机配置网络

  IPADDR  = 172.25.77.177     (一块网卡主机)

  GATEWAY = 172.25.77.208 (两块网卡主机)


  4.设定策略

[root@localhost ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.208

[root@localhost ~]# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 172.25.0.208


 5.当主机8访问链接208主机时,转换到0.208主机上



猜你喜欢

转载自blog.csdn.net/qq_41869566/article/details/80316051