本文内容适用于 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