火墙配置

来源:互联网 发布:淘宝支持微信支付吗 编辑:程序博客网 时间:2024/06/02 09:34
在计算中,防火墙是基于预定安全规则来监视和控制传入和传出网络流量的网络安全系统。该计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。(来源于百度百科)
  在linux系统里,防火墙其实就是一张表iptables,在数据包传输的时侯,如果表中允许通过的话,数据包就可以通过,如果表中不允许通过的话,就会被拒绝。配置火墙其实就是给表中写入数据。写入数据有两种模式,一种是firewalld的模式,另一种是iptables模式。下来就逐一进行介绍。
  fireword模式:
firewalld的图形管理:

  安装并打开firewalld服务,执行以下命令,就会进入firewalld的图形管理界面:


  进入图形管理界面后,如下所示:


  注释:
    1.zone(网络区):
    block(限制)        #拒绝所有网络连接      
    dmz(非军事区)        #仅接受ssh连接
    drop(丢弃)        #任何接受的网络数据包都会被丢弃
    external(外部)    #出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh'服务
    home(家庭)        #用于家庭网络,仅接受ssh,mdns,ipp-client,samba-clien或者dhcpv6-client服务
    internal(内部)    #用于内部网络连接,仅接受ssh,mdns,ipp-client,samba-clien,dhcpv6-client服务
    public(公共)        #在公共区域使用,仅接受ssh或dhcpv6-client服务连接,为firewalld的默认区域
    trusted    (信任)    #可接受所有网络连接
    work(工作)        #用于工作区,仅接受ssh,ipp-client或dhcpv6-client服务连接
    2.configuration中有两种模式,一种是Runtime临时设置,一种是Permanent永久设置。临时设置的直接启用,永久设置在重启后才会被启用。

  可以用以下命令对火墙进行监控:


  在临时设置时,直接被启用,如图中的dns服务:


  在永久设置时,只有在服务被重启之后才会被启用:


  如果要修改网络域的话,点击右上角的option-->change defaultzone,如下:

         

  在默认情况下firewalld是不支持http服务的,但是在service加入hhtp服务之后就被允许,如下:


  在默认情况下,火墙支持http服务的端口是80,如果在服务端将http的端口改为8080的话,火墙就不允许访问apache如下:



  要能够访问apache的话,需要在火墙对http服务的配置文件中修改端口为8080,如下:


除了以配置文件的方式修改端口,还可以通过图形界面修改端口,如下:


  查看firewall状态,如下:


  查看火墙支持的网段:


  查看火墙的默认网络域:


  查看trusted网络区的信息:


  查看firewalld所支持的服务:


  修改默认网络区:


  查看所有的网络区:


  列出所有的网络区:


  添加trusted支持的地址,添加后172.25.254.60所有的数据包都可以通过:


  移除trusted支持的地址:


  列出默认的网络区:


  通过火墙设置控制网络接口的开合:

    服务器有两个网络接口eth0和eth1,eth0的ip地址为172.25.254.160.eth1的ip地址为172.25.60.160,通过以下设置可以使172.25.60.160无法访问。


    首先将eth1从public网络区移除,然后将eth1添加到block网络区,这样就可以实现网络接口的控制,如下:



  添加public网络区的端口,永久添加后,需要重新加载:


  除了命令形式,还可以在/etc/firewalld/zones/public.xml文件中添加端口,如下:


  拒绝所有来自172.25.254.60主机的数据包:


  除了172.25.254.60主机外拒绝其它地址访问tcp协议下22端口,即ssh服务:




  firewalld模式下路由功能的实现,因为firewall的智能化,172.25.60.161主机的网关设置为172.25.60.160,在服务端将火墙的伪装功能打开,它就可以访问172.25.254网段的主机。如下:




  除次之外还可以实现转接功能,将伪装功能关闭后,实行以下命令,就可以让所有访问22端口的转接到172.25.254.60主机上。

iptables模式:


 


  首先安装iptables,然后将firewall关闭,并锁住,打开iptables,如下:



  iptables命令中所有参数:
  -A    #添加        -m    #状态
  -D    #删除        -i    #输入
  -p    #协议        -o    #输出
  -dport #目的地端口    -sport    #源地址端口
  -j    #动作        -t    #表
  -n    #不解析        -L    #显示
  -F    #刷新        -I    #插入
  -N    #添加一个链    -E    #替换链名
  -X    #删除链        -s    #源
  -P            -R    

 查看iptables:


  刷新iptables,将里面的内容全部刷掉,列出filter表:


  保存所写入的内容:


  拒绝所有访问:


  使已经访问过和正在访问过的数据包通过,允许新的数据访问tcp协议的22(ssh服务)端口,和80(http服务)端口,其它的数据包不允许通过:


  iptables的路由功能:

    使从eth0网络接口出去的数据,都转到172.25.254.160主机上,并编辑该文件:


    写入如下内容:


    刷新:


    此时172.25.254.60.161的主机就可以连接上172.25.254.160的主机:


  火墙设置的两种模式中,iptables模式比较经典,较稳定。firewalld模式属于主流模式,比较智能,但相比于iptables不够稳定,我们可以通过自己的喜好选择。

除了以配置文件的方式修改端口,还可以通过图形界面修改端口.


原创粉丝点击