作为一个小菜鸟,在工作开发中经常会遇到没有运维工程的情况下,需要快速搭建服务器开发环境;当然若是作为生产环境还是需要运维工程师进行加固和修补才可以的!
本文使用 阿里云服务器 Centos 7 Linux 服务器。
稍微说说防火墙问题
在很多的文章中提到 Centos7 中默认将原来的防火墙iptables升级为了firewalld,好处也有两点:
- firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
- firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
这里也涉及很多防火墙的知识,楼主是个小菜鸟,这方面还没涉及所有也就只是了解个大概,所以一般配置服务器,楼主都是直接关闭防火墙。这样也防止因为防火墙造成的不可访问等原因。但是在正式的生产环境下,还是建议在配置完环境后开启防火墙并且设置访问端口规则。
注意:阿里云服务器 除了服务器端口有防火墙拦截外,在阿里云控制台还有一个出入站端口规则,若是安装服务无法正常访问,请到阿里云查看端口开放情况。
1.配置方式
先查看现在的服务防火墙的状态:
systemctl status firewalld.service #firewalld
systemctl status iptables.service #iptables
说明服务器防火墙开启状态
先说说把firewalld防火墙换成iptables防火墙的方法吧!
- 关闭firewalld防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service #禁止开机启动
- 安装iptables防火墙
yum install iptables
- 编辑iptables防火墙配置
vim /etc/sysconfig/iptables #编辑防火墙配置文件
- 配置文件内容
Firewall configuration written by system-config-firewall
Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
- 重启防火墙和设置开机自启
1. systemctl start iptables.service
2. systemctl enable iptables.service #开机启动
当然,如果想要直接用firewall作为防火墙来使用也是可以的,下面说说firewall配置方式
- 查看现有的规则
1. firewall-cmd --list-all
楼主开放80和22端口
- 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令回馈说明:
success 添加成功
命令参数说明:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
- 重启防火墙
systemctl restart firewalld.service
- 移除80端口
firewall-cmd --zone= public --remove-port=80/tcp --permanent