Centos7 防火墙常用命令 开启 关闭防火墙

如果你的系统上没有安装使用命令安装

 

[html] view plain copy
 
  1. #yum install firewalld  //安装firewalld 防火墙  

开启服务

 

 

[html] view plain copy
 
  1. # systemctl start firewalld.service  

关闭防火墙

[html] view plain copy
 
  1. # systemctl stop firewalld.service  

开机自动启动

[html] view plain copy
 
  1. # systemctl enable firewalld.service  

关闭开机制动启动

[html] view plain copy
 
  1. # systemctl disable firewalld.service  

查看状态

[html] view plain copy
 
  1. #systemctl status firewalld  
[html] view plain copy
 
  1. ● firewalld.service - firewalld - dynamic firewall daemon  
  2.    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)  
  3.    Active: active (running) since 四 2017-06-08 19:25:45 CST; 4 days ago  
  4.      Docs: man:firewalld(1)  
  5.  Main PID: 744 (firewalld)  
  6.    CGroup: /system.slice/firewalld.service  
  7.            └─744 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid  

active表示开启,inactive表示关闭

 

设置 firwall 

使用firewall-cmd 命令

[html] view plain copy
 
  1. #firewall-cmd --panic-on  //在 0.3.0 之前的 FirewallD版本中, panic 选项是 –enable-panic 与 –disable-panic  



查看状态

[html] view plain copy
 
  1. #firewall-cmd --state    //running 表示运行  

获取活动的区域

[html] view plain copy
 
  1. #firewall-cmd --get-active-zones  

这条命令将用以下格式输出每个区域所含接口:
<zone1>: <interface1> <interface2> ..<zone2>: <interface3> ..

获取所有支持的服务

[html] view plain copy
 
  1. #firewall-cmd --get-service  

每个服务以空格分隔 例如:
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-http

获取永久选项所支持的服务 就是重启后也支出的

[html] view plain copy
 
  1. #firewall-cmd --get-service --permanent  //在 0.3.0 之前的 FirewallD版本中, panic 选项是 –enable-panic 与 –disable-panic  

开启应急模式阻断所有网络连接

[html] view plain copy
 
  1. #firewall-cmd --panic-on  //在 0.3.0 之前的 FirewallD版本中, panic 选项是 –enable-panic 与 –disable-panic  

关闭应急模式 

[html] view plain copy
 
  1. #firewall-cmd --panic-off  

查看应急模式的状态

[html] view plain copy
 
  1. #firewall-cmd --query-panic  

在不改变状态的条件下重新加载防火墙:

[html] view plain copy
 
  1. #firewall-cmd --reload  

防火墙预定义的服务配置文件是xml文件 目录在 /usr/lib/firewalld/services/

在 /etc/firewalld/services/ 这个目录中也有配置文件 但是/etc/firewalld/services/目录 优先于 /usr/lib/firewalld/services/ 目录
修改配置文件后 使用命令重新加载

 

 

[html] view plain copy
 
  1. #firewall-cmd --reload  

启用某个服务

[html] view plain copy
 
  1. # firewall-cmd --zone=public --add-service=https   //临时  
  2. # firewall-cmd --permanent --zone=public --add-service=https  //永久  

开启某个端口

[html] view plain copy
 
  1. #firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp  //永久  
  2. #firewall-cmd  --zone=public --add-port=8080-8081/tcp   //临时  

使用命令加载设置

 

 

[html] view plain copy
 
  1. #firewall-cmd --reload  

查看开启的端口和服务

[html] view plain copy
 
  1. #firewall-cmd --permanent --zone=public --list-services    //服务空格隔开  例如 dhcpv6-client https ss     
  2. #firewall-cmd --permanent --zone=public --list-ports //端口空格隔开  例如  8080-8081/tcp 8388/tcp 80/tcp  

在每次修改 端口和服务后 /etc/firewalld/zones/public.xml 文件就会被修改 所以也可以在文件中之间修改 然后重新加载

 

设置某个ip 访问某个服务

 

[html] view plain copy
 
  1. #firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"  source address="192.168.0.4/24" service name="http" accept"  

ip 192.168.0.4/24 访问 http

 

设置后 public.xml 就会出现变化


删除上面设置的规则

 

[html] view plain copy
 
  1. #firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4"  source address="192.168.0.4/24" service name="http" accept"  

启动服务

[html] view plain copy
 
  1. #systemctl start firewalld.service  //开启服务  
  2. #systemctl enable firewalld.service //开机制动启动  
  3.   
  4. #systemctl stop firewalld.service  //关闭服务  
  5. #systemctl disable firewalld.service //禁止开机启动  

 

 

端口转发
先开启允许伪装IP

[html] view plain copy
 
  1. firewall-cmd --query-masquerade # 检查是否允许伪装IP  
  2. firewall-cmd --add-masquerade   # 允许防火墙伪装IP  
  3. firewall-cmd --remove-masquerade# 禁止防火墙伪装IP  

设置转发
然后转发 tcp 22 端口至 3753

 

[html] view plain copy
 
  1. # firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=3753  

转发 22 端口数据至另一个 ip 的相同端口上

[html] view plain copy
 
  1. # firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100  

转发 22 端口数据至另一 ip 的 2055 端口上

[html] view plain copy
 
  1. # firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100  

 

posted on 2017-12-22 16:34  唐浩199  阅读(479)  评论(0编辑  收藏  举报

导航