centos设置防火墙

网友投稿 862 2022-11-20

centos设置防火墙

centos设置防火墙

前言:centos 7

1、基本操作

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

yum install firewalld //安装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 daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2016-09-05 02:34:07 UTC; 15min agoMain PID: 3447 (firewalld)CGroup: /system.slice/firewalld.service└─3447 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopidSep 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.

这样的说明没有问题

2、设置 firewall

使用firewall-cmd 命令

查看状态

#firewall-cmd --state //running 表示运行

获取活动的区域

#firewall-cmd --get-active-zones

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

: ..: ..

获取所有支持的服务

#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 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-就是重启后也支出的

#firewall-cmd --get-service --permanent //在 0.3.0 之前的 FirewallD版本中, panic 选项是 –enable-panic 与 –disable-panic

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

#firewall-cmd --panic-on //在 0.3.0 之前的 FirewallD版本中, panic 选项是 –enable-panic 与 –disable-panic

关闭应急模式

#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 --zone=public --add-service= //临时# firewall-cmd --permanent --zone=public --add-service= //永久

开启某个端口

#永久开启8080-8081端口#firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp //永久#firewall-cmd --zone=public --add-port=8080-8081/tcp //临时

查看开启的端口和服务

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

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

编辑防火墙文件:​​vim /etc/firewalld/zones/public.xml​​

Public For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

重启防火墙:

firewall-cmd --reload

设置某个ip 访问某个服务

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

ip 192.168.0.4/24 访问 public.xml 就会出现变化

删除上面设置的规则

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

端口转发

先开启允许伪装IP

firewall-cmd --query-masquerade # 检查是否允许伪装IPfirewall-cmd --add-masquerade # 允许防火墙伪装IPfirewall-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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mysql查询所有分类的前5行结果
下一篇:JDK动态代理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~