CentOS 防火墙配置

由 jafucong 发布

firewalld

firewalld的基本使用

启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld

开机自启:chkconfig iptables on
禁用自启:chkconfig iptables off

systemctl

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前servicechkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

配置firewalld-cmd

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --list-all
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic

那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
指定IP与端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="222.209.151.129" port protocol="tcp" port="5432" accept"
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-service={http,https}
firewall-cmd --permanent --zone=public --remove-service={ssh,sshd}

firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="123.44.55.66" drop'
#禁止一个IP段,比如禁止116.255.*.*
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="116.255.0.0/16" drop'
#禁止一个IP段,比如禁止116.255.196.*
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="116.255.196.0/24" drop'
#禁止机器IP(123.44.55.66)从防火墙中删除
firewall-cmd --permanent --remove-rich-rule='rule family=ipv4 source address="123.44.55.66" drop'
#重新载入
firewall-cmd --reload
#查看
firewall-cmd --zone=public --list-all
firewall-cmd --zone=public --query-port=80/tcp
#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

iptables配置:

启动:service iptables start
查看状态:service iptables status
停止: service iptables stop
开机自启:chkconfig iptables on
禁用自启:chkconfig iptables off

查看本机关于IPTABLES的设置情况:iptables -L -n
保存:/etc/rc.d/init.d/iptables save
重启:service iptables restart

编辑:nano /etc/sysconfig/iptables

添加规则:iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -s 0.0.0.0/0 -p tcp --destination-port 18888 -j ACCEPT

拒绝之后添加的所有端口:
iptables -A INPUT -j REJECT –reject-with icmp-host-prohibited

例:

# Generated by iptables-save v1.4.7 on Sun Dec  6 11:55:50 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:152]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -s 192.168.3.120/32 -j ACCEPT 
-A INPUT -s 182.150.28.203/32 -j ACCEPT 
-A INPUT -s 115.159.44.136/32 -j ACCEPT 
-A INPUT -s 139.155.92.165/32 -j ACCEPT 
-A INPUT -s 139.155.92.164/32 -p udp -m udp --dport 5060 -j ACCEPT 
-A INPUT -s 139.155.92.164/32 -p tcp -m tcp --dport 3306 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT
# Completed on Sun Dec  6 11:55:50 2020

暂无评论

发表评论