linux系统的防火墙

一,概述

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

域:firewalld预先准备的几套防火墙的策略,用户可以根据不同的场景选择不同的域。

trusted :允许所有的数据包

block:拒绝所有网络连接

drop:任何接受的网络数据包都被丢弃,没有任何恢复

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

二,防火墙的相关命令

1,开启防火墙,并查看防火墙的状态

linux系统的防火墙

查看火墙的状态

linux系统的防火墙

查看火墙正在使用的域

linux系统的防火墙

查看火墙所有的域

linux系统的防火墙

查看public域的信息

linux系统的防火墙

查看通过火墙的服务

linux系统的防火墙

修改火墙默认的域

linux系统的防火墙

火墙的图形化配置工具

linux系统的防火墙

2.接口控制

首先查看接口信息

linux系统的防火墙

将接口eth0加入到block域中

linux系统的防火墙

然后就不能ping通该接口的地址,并且显示的是prohibited(被禁止的)

linux系统的防火墙

防火墙策略,可以访问特定的接口

首先将http服务的端口改为8080

linux系统的防火墙

然后对防火墙进行策略,将8080接口对外开放

linux系统的防火墙

然后就可以通过浏览器访问http服务

linux系统的防火墙

禁止某一台特定的主机访问

linux系统的防火墙

刚开始200这台主机还可以访问,当将这台主机的ip地址加入block域以后就不能访问

linux系统的防火墙

当服务端永久变革时,

[[email protected] ~]# firewall-cmd --reload:这样已经连接的主机不会断开

[[email protected] ~]# firewall-cmd --complete-reload :这样会立即断开,无法操作

防火墙的访问控制

内核防火墙的三表五链

filter(经过本机内核的数据) input output forward    
nat(不经过本机内核的数据) input output  

prerouting(路由前)

postrouting(路由后)
mangle(所有经过本机上的数据) input output forward prerouting postrouting

3.rich rules

地址转换

当有人远程连接109时会转到200的主机上,填写密码时需要200这台主机的密码。

首先要进行防火墙的策略配置,

linux系统的防火墙

linux系统的防火墙

然后打开masquerade

linux系统的防火墙

当在209这台主机上ssh 109时会自动跳转到200这台主机上

linux系统的防火墙

伪装:当你去远程连接一台主机时,别人看到的时别的主机在连他

让两个不在统一网段的两台主机通信

首先需要在服务端的两个网卡上设置不同的ip

linux系统的防火墙


另外一台客户端的ip地址也要设置成0网段,网关是服务端eth1的地址

linux系统的防火墙

然后将服务端内核级的防火墙打开

linux系统的防火墙

通过客户端去远程连接200这台主机时,在200上显示的是服务端的eth0在连接他

linux系统的防火墙

三,iptables

显示内核三张表的信息

linux系统的防火墙

linux系统的防火墙

linux系统的防火墙

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

  iptables -A INPUT -s 172.25.254.100 -j REJECT  添加

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

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

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

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

  systemctl restart iptables.service】

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

  service iptables save

  systemctl restart iptables.service】

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

  iptables -N redhat  新建redhat自定义链

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

  iptables -X REDHAt  删除自定义链

3,服务管理

[[email protected] ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  允许所有主机链接ssh(22)
[[email protected] ~]# iptables -A INPUT -s 172.25.254.8 -p tcp --dport 80 -j ACCEPT
  只允许主机8链接http(80)
[[email protected] ~]# iptables -A INPUT ! -s 172.25.254.8 -p tcp --dport 53 -j REJECT
  除了主机8都拒链接DNS(53)
[[email protected] ~]# iptables -A INPUT -j REJECT

  读取以上规则后,其他所有访问拒绝  (从前到后,逐条读取)


linux系统的防火墙