Centos7 防火墙配置 两种方式

一.centos7开始使用firewall

1、查看firewall服务状态

systemctl status firewalld


2、查看firewall的状态

firewall-cmd --state
 

3、开启、重启、关闭、firewalld.service服务

#查看linux哪些程序正在使用互联网

firewall-cmd --permanent --list-services ssh dhcpv6-client

# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
4、查看防火墙规则

firewall-cmd --list-all 


5、查询、开放、关闭端口

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080-8085/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
查看防火墙的开放的端口
firewall-cmd --permanent --list-ports

#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload


# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
 

二.centos6 或之前使用iptables

网上的大部分资料都是用iptables防火墙的,但是阿里云的centos 7默认防火墙是firewall。最为简单的方法其实就是关闭我们的防火墙:

  • 查看下防火墙的状态:
systemctl status firewalld

 

 

  • 关闭防火墙:
systemctl stop firewalld

 

这样就解决了,在访问下ip地址:端口号就可以看到所写的应用啦!  但是这样的问题是很不安全,其实可以将firewall服务禁用,应用iptables服务(网上大部分启用端口的资料都是基于iptables服务)。

安装iptables

由于没有防火墙会造成不安全,所以给服务器安装一应用更广的防火墙iptables,首先要禁用firewall,通过yum安装iptables

systemctil disable firewalld
yum install -y iptables-services

启动iptables

systemctl start iptables

启动后可以通过systemctl status iptables查看状态。

更改iptables规则

  • iptables文件备份下:
cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
  • 设置 INPUT 方向所有的请求都拒绝
iptables -P INPUT DROP
  • 放开所需端口
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 3000 -m state --state NEW -j ACCEPT
  • 保存规则
iptables-save > /etc/sysconfig/iptables
  • 设置为开机启动并且重启
systemctl enable iptables.service
systemctl reboot

你可能感兴趣的:(linux)