Centos 防火墙开启/关闭端口
查看 centos 版本
cat /etc/redhat-release
Centos 6 开启/关闭端口
查看防火墙状态
service iptables status
命令的方式
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 端口号 -j DROP # 写入禁用规则
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 端口号 -j ACCEPT # 写入启用规则
/etc/init.d/iptables save # 保存写入的规则
service iptables restart # 重启防火墙
该方法实则为将命令禁用命令写入文件
然后通过 save 保存文件
写入iptables文件的方式
关闭端口
vim /etc/sysconfig/iptables # 打开防火墙规则文件, 进行编辑
service iptables restart # 重启防火墙
该方法则为直接操作文件
既可以直接删除开放端口的命令
也可以添加禁用端口的命令
个人比较喜欢方法二, 直接编辑规则文件, 防止同时存在禁用规则跟启用规则
Centos 7 开启/关闭端口
查看firewall服务状态
systemctl status firewalld
查看firewall的状态
firewall-cmd --state
开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
查看防火墙规则
firewall-cmd --list-all
查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 禁止开启启动防火墙
systemctl disable firewalld.service
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
关于防火墙拦截FTP的问题
- 防火墙不需要放行
21
端口, 关键控制在新增ftp服务
- 查看防火墙服务
firewall-cmd --list-services
- 没有ftp, 就增加ftp服务
# 新增服务
firewall-cmd --permanent --add-service=ftp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
centos 7 注意的地方
上图发现 firewall 没有运行,但是iptables是运行的。
iptables是centos6的防火墙,在centos7中并未弃用,可以将centos7的firewall-cmd切换成centos6的iptables