linux学习-防火墙指令

本文内容适用于 redhat 和 centos

Redhat7之前的版本(iptables)

要注意Redhat7和Redhat7之前的版本防火墙相关的指令是不同的.

开启关闭防火墙

即时生效,重启失效

# 开启
service iptables start
# 关闭
service iptables stop`

重启生效

# 开启
chkconfig iptables on
# 关闭
chkconfig iptables off

放行端口

# 命令方式开放5212端口命令

# 开启5212端口接收数据
/sbin/iptables -I INPUT -p tcp --dport 5212 -j ACCEPT


# 开启5212端口发送数据
/sbin/iptables -I OUTPUT -p tcp --dport 5212 -j ACCEPT

# 保存配置
/etc/rc.d/init.d/iptables save

# 重启防火墙服务
/etc/rc.d/init.d/iptables restart

# 查看是否开启成功
/etc/init.d/iptables status

RedHat7防火墙相关的指令(firewall-cmd)

redhat7中的防火墙是通过firewalld来控制的
firewalld有9个域

firewall-cmd --get-zones  # 查看所有域

firewall-cmd --get-default-zone # 查看默认域

firewall-cmd --set-default-zone=work # 修改默认zone为work

firewall-cmd --get-zone-of-interface=ens33 # 查看指定网卡的域
firewall-cmd --zone=work --change-interface=ens33 # 更改指定网卡的域

firewall-cmd --zone=home --add-interface=ens33 # 给指定的网卡设置zone
firewall-cmd --zone=home --remove-interface=ens33 # 针对指定网卡删除zone
firewall-cmd --get-active-zones # 查看系统所有网卡所在的zone

查看防火墙状态

systemctl status firewalld

开启/关闭防火墙

systemctl start firewalld #开启防火墙
systemctl stop firewalld  #关闭防火墙

防火墙开机自启动

systemctl start firewalld # 开启防火墙

systemctl stop firewalld # 关闭防火墙

systemctl enable firewalld  # 允许开机启动

systemctl diable firewalld  # 禁止开机启动

列出所有配置信息

firewall-cmd --list-all

查看开放了那些端口

firewall-cmd --list-ports

放行端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload # 使配置生效
# --permanent 永久生效
# --add-port 是添加一端口, 那自然尔然的 --remove-port 就是删除一个端口

firewall-cmd --permanent --zone=public --add-port=6000-6500/tcp # 开放6000-6500范围的端口
firewall-cmd --reload # 配置生效
firewall-cmd --remove-port=6000-6500/tcp # 关闭刚才开放的6000-6500端口

查看开放了那些服务

firewall-cmd --list-services

安装firewall

有时候购买一些vps默认没有给你安装防火墙, 可以自己手动安装.
yum install firewalld

原文地址:https://www.cnblogs.com/Laggage/p/11660833.html