centos7 firewall 防火墙 命令

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

yum install firewalld  

开启服务 

systemctl start firewalld.service

关闭防火墙

systemctl stop firewalld.service

开机自动启动

systemctl enable firewalld.service

关闭开机制动启动

systemctl disable firewalld.service

查看状态

systemctl status firewalld

得到到的结果如果是

● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2016-09-05 02:34:07 UTC; 15min ago
Main PID: 3447 (firewalld)
CGroup: /system.slice/firewalld.service
└─3447 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Sep 05 02:34:07 vultr.guest systemd[1]: Starting firewalld - dynamic firewall daemon...
Sep 05 02:34:07 vultr.guest systemd[1]: Started firewalld - dynamic firewall daemon.

这样的说明没有问题

设置 firwall 

使用firewall-cmd 命令

查看状态   running 表示运行

firewall-cmd --state

获取活动的区域

firewall-cmd --get-active-zones

这条命令将用以下格式输出每个区域所含接口:

<zone1>: <interface1> <interface2> ..<zone2>: <interface3> ..

 获取所有支持的服务

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

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

firewall-cmd --get-service --permanent

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

firewall-cmd --panic-on

关闭应急模式       

firewall-cmd --panic-off

 查看应急模式的状态

firewall-cmd --query-panic

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

firewall-cmd --reload

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

在 /etc/firewalld/services/ 这个目录中也有配置文件    但是/etc/firewalld/services/目录 优先于 /usr/lib/firewalld/services/  目录

修改配置文件后 使用命令重新加载

firewall-cmd --reload

启用某个服务

#临时
firewall-cmd --zone=public --add-service=https   

#永久
firewall-cmd --permanent --zone=public --add-service=https  

开启某个端口

#永久
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp 

#临时
firewall-cmd  --zone=public --add-port=8080-8081/tcp 

使用命令加载设置

firewall-cmd --reload

查看开启的端口和服务

#服务空格隔开  例如 dhcpv6-client https ss   
firewall-cmd --permanent --zone=public --list-services    

#端口空格隔开  例如  8080-8081/tcp 8388/tcp 80/tcp
firewall-cmd --permanent --zone=public --list-ports 

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

设置某个ip 访问某个服务

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 就会出现变化

 

 删除上面设置的规则

firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4"  source address="192.168.0.4/24" service name="http" accept"

设置某个ip 访问某个端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"

启动服务

#开启服务
systemctl start firewalld.service  

#开机制动启动
systemctl enable firewalld.service 

#关闭服务
systemctl stop firewalld.service  

#禁止开机启动
systemctl disable firewalld.service 

端口转发

先开启允许伪装IP

1

2

3

firewall-cmd --query-masquerade # 检查是否允许伪装IP

firewall-cmd --add-masquerade   # 允许防火墙伪装IP

firewall-cmd --remove-masquerade# 禁止防火墙伪装IP

设置转发

然后转发 tcp 22 端口至 3753

firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=3753

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

firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100

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

firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值