zoukankan      html  css  js  c++  java
  • linux配置防火墙

    centos6.5 防火墙开放80端口
    iptables -I INPUT -p tcp –dport 80 -j ACCEPT //注意,dport前面是两个-,其中-I是指在防火墙INPUT表最前面插入该条规则-p 用来指定协议的 –dport指定端口
    那么我们再看看怎么关闭80端口
    iptables -I INPUT -p tcp –dport 80 -j REJECT //很明显,就是把最后的ACCEPT改为REJECT
    那么问题来了,重启后,该条规则会在重启后失效,所以我们需要保存对防火墙规则的修改
    service iptables save (还没试过行不行)
    Centos7 用firewalld代替iptables了,所以在Centos7下,也可以这么写命令

    开放80端口
    firewall-cmd –permanent –add-port=80/tcp #执行之后会提示success

    firewall-cmd --reload #执行这条语句后才能生效

    或者

    firewalld-cmd --permanent --add-service=httpd

    取消80端口对外开放

    firewall-cmd –permanent –remove-port=80/tcp

    firewalld-cmd --permanent --remove-service=httpd

    再来个有趣点的,我们只将80端口对外开放一分钟

    firewalld-cmd --permanent --add-service=httpd --timeout=1m

    现在我们试着把1566端口的请求转移到80端口

    firewall-cmd --add-forward-port=port=1566:proto=tcp:toport=80

    让我们更近一步,把端口请求转发到另一个主机上

    firewall-cmd --add-forward-port=port=80:proto=tcp:toport=80:toaddr=10.0.3.92

    如果没有意外的话,再次访问本地主机网页,发现并没有跳转到10.0.3.92去

    这是因为我没哟没有开启防火墙的伪装功能,执行以下语句开启该功能就可以了

    firewall-cmd --add-masquerade

    这个功能怎么看开没开启呢(很明显,下面这个就没有)

    firewall-cmd --zone=public --list-all

    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: eth0
      sources: 
      services: dhcpv6-client http ssh
      ports: 
      protocols: 
      masquerade: no
      forward-ports: port=1566:proto=tcp:toport=80:toaddr=
    	port=80:proto=tcp:toport=80:toaddr=10.0.3.92
      sourceports: 
      icmp-blocks: 
      rich rules: 
    

    为什么上面加了一个--zone=public呢,这个值可以通过firewall-cmd --get-active-zone 查看

    再来一个给力的,拒绝所有包有时候被DDoS攻击了之类的,就可以执行这条语句了。执行之后,ssh以及http等服务均无法从外部连接

    firewall-cmd --panic-on

    下面这条语句用于恢复正常

    firewall-cmd --panic-off

    看一下,防火墙目前允许那些服务通过

    firewall-cmd --zone=public --list-services

    看一下某个区域里面是否有某个接口

    firewall-cmd --zone=public --query-interface=eth0

    有没有注意到query这个词,于是我试了一下。还真的能查询

    [root@localhost ~]# firewall-cmd --zone=public --query-service=ssh
    yes
    [root@localhost ~]#

    有时候我们直接firewall-cmd --add-port=80/tcp,忘记加--permanent,但是实际上我们希望这条规则永久生效,应该如何呢

    firewall-cmd --runtime-to-permanent

  • 相关阅读:
    Stereo Matching文献笔记之(一):《Cross-Scale Cost Aggregation for Stereo Matching》读后感~
    机器视觉之 ICP算法和RANSAC算法
    基于语义约束与 Graph Cuts 的稠密三维场景 重建
    RANSAC算法详解
    三维重建技术在无人机方面的应用如何?三维重建未来的学术前景如何?
    尺度空间(Scale space)理论
    网速调控、带宽限制原理探究
    Cisco交换机IOS升级
    Nmap
    vi实用命令集
  • 原文地址:https://www.cnblogs.com/biaopei/p/7730592.html
Copyright © 2011-2022 走看看