- A+
今天 Vultr中文网给大家带来的是如何在 CentOS 系统上设置防火墙以及端口的开放和关闭。防火墙是一种网络安全工具,对于 VPS 服务器来说,防火墙是非常重要的,我们可以使用防火墙以及其他安全措施来保护我们的服务器免受黑客的撬动和攻击。为了服务器的安全,我们得配置一下防火墙规则,Vultr VPS 服务器虽然默认没有开启防火墙,但是 CentOS 系统会自带防火墙,既然有自带的防火墙,那么下面我们来看看怎么对它进行设置吧。
VULTR 官网地址:点击进入
Vultr 新用户直送 50-100 美元活动再次开启,twitter 转发再领 3 美元
Vultr VPS IP测试地址:Vultr 官方 IP 测试地址
CentOS 系统内置的防火墙
CentOS 系统的版本不同其内置的防火墙也是不一样,下面我们主要讲解 CentOS 6 和 CentOS 7 系统的防火墙规则。CentOS 6 内置的防火墙是 iptables 而 CentOS 7 内置的防火墙则是 firewalld。
不过 CentOS 系统与 Ubuntu 系统和 Debian 系统有所不同,CentOS 系统在开放一个服务时,还需要手动设置防火墙,在进行设置防火墙之前我们需要明白自己 VPS 是什么系统,在能够确定自己 VPS 的系统之后,才可以进行设置防火墙与端口等的操作。
假如自己的操作系统是Ubuntu 或者 Debian 则不需要进行防火墙设置。
另外在 Vultr VPS 的 CentOS 系统下有两种不同的版本,一个是自带 SELinux 的版本(详情参考:Vultr VPS 查看 SELinux 状态及打开或关闭防火墙端口),另一个则是不带 SELinux 的版本(详情参考:Vultr 系统中的 SELinux 是什么意思,要不要选择 SELinux 系统?),当确定好自己所使用的系统之后我们就可以进行操作了。
CentOS 6 系统上设置 iptables 防火墙规则
在 CentOS 6 系统上,默认的防火墙程序是 iptables,以下是基于 CentOS 6 系统上设置 iptables 防火墙规则的设置。
检查防火墙服务
iptables: Firewall is not running.
如果显示以上内容,则说明防火墙 iptables 没有安装,
输入以下命令进行安装 iptables:
安装完成,启动 iptables:
打开/关闭/重启防火墙
关闭防火墙(重启后永久生效):chkconfig iptables off
开启防火墙(即时生效,重启后失效):service iptables start
关闭防火墙(即时生效,重启后失效):service iptables stop
重启防火墙:service iptables restartd
添加端口规则
/etc/init.d/iptables status
#允许对外请求的返回包
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#允许 icmp 包通过
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
#允许来自于 lo 接口的数据包,如果没有此规则,将不能通过 127.0.0.1 访问本地服务
iptables -A INPUT -i lo -j ACCEPT
#常用端口(例:开放 22、80、443、3306 等端口)
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
#过滤所有非以上规则的请求
iptables -P INPUT DROP
#保存并重启防火墙
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
#开放指定范围的端口(例:开放 1024 - 10240 之间的所有端口)
iptables -A INPUT -p tcp --dport 1024:10240 -j ACCEPT
保存配置规则
重启防火墙
通过更改配置文件来配置规则
vim /etc/sysconfig/iptables
# 加入如下语句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
# 保存(按Esc退出编辑)
:wq
# 重启防火墙,修改完成
service iptables restart
删除配置规则
iptables -L -n --line-number
# 删除指定序列的端口(下面是删除第一条端口)
iptables -D INPUT 1
# 确认是否已经删除,可以重新查看列表
iptables -L -n --line-number
通过编辑配置文件进行删除规则
vim /etc/sysconfig/iptables
# 直接删除对应端口的那句 !!!!
# 保存
# 重启防火墙,修改完成
service iptables restart
保存规则
/etc/init.d/iptables save
#查看规则是否添加成功
cat /etc/sysconfig/iptables
#添加到iptables服务自启动
chkconfig iptables on
#重启iptables服务
service iptables restart
其他命令
iptables -P INPUT ACCEPT
#清空默认所有规则
iptables -F
#清空自定义的所有规则
iptables -X
#计数器置0
iptables -Z
CentOS 7 系统上设置 firewalld 防火墙规则
在 CentOS 7 系统上,默认的防火墙程序是 firewalld,它是在 CentOS 6.5 以后在 iptables 防火墙中进行了升级,以下是基于 CentOS 7 系统上设置 firewalld 防火墙规则的设置。
安装并启用 FirewallD
安装 FirewallD
在正常的情况下 Firewalld 是安装在 CentOS 7 以上的系统上面,如果发现系统上面没有安装 Firewalld,可以使用以下命令进行安装:
检查防火墙状态
在默认情况下是禁用 Firewalld 服务的,你可以使用下面的命令进行检查防火墙状态:
启用和停用 FirewallD 防火墙
停止:systemctl disable firewalld
禁用:systemctl stop firewalld
查看状态:systemctl status firewalld
FirewallD 防火墙的开启、关闭、禁用命令
关闭服务:systemctl stop firewalld.service
重启服务:systemctl restart firewalld.service
显示服务状态:systemctl status firewalld.service
在开机时启用服务:systemctl enable firewalld.service
在开机时禁用服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
使用 FirewallD-cmd 配置端口
显示当前状态:firewall-cmd --state
查看所有打开的端口:firewall-cmd --zone=public --list-ports
更新防火墙规则:firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域:firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态:firewall-cmd --panic-off
查看是否拒绝:firewall-cmd --query-panic
添加某端口(以 80 端口为例):firewall-cmd --zone=public --add-port=80/tcp --permanent
(# --permanent 参数表示永久生效,无此参数则重启后失效)
重新载入某端口:firewall-cmd --reload
查看某端口的状态(以 80 端口为例):firewall-cmd --zone= public --query-port=80/tcp
删除某端口的设置(以 80 端口为例):firewall-cmd --zone= public --remove-port=80/tcp --permanent
重启防火墙
停止firewall:systemctl stop firewalld.service #停止firewall
禁止firewall开机启动:systemctl disable firewalld.service #
查看默认防火墙状态:firewall-cmd --state(#关闭后显示notrunning,开启后显示running)
更多关于 Vultr 端口的教程
Vultr 服务器 IP 被墙、端口被封、ping不通,SSH连接不上等问题的解决办法
Vultr 修改 SSH 端口号-怎样修改 Vultr 默认的 22 端口号
Linux 下 SSH 登录-怎么查看 Vultr 的 SSH 用户名、root密码、端口号等信息
更多 Vultr 新手教程
Vultr 扣款顺序-Vultr 是先扣赠送的美元(赠款)还是先扣自己充值的钱
最值得买的 VPS 方案整理
以下几款 VPS 是在众多搬瓦工 VPS 中挑选出来的几款目前最值得购买的 VPS 套餐,如有需要的网友可以看看:
搬瓦工VPS套餐 | CPU | 内存大小 | 硬盘容量 | 每月流量 | 带宽 | 价格/年 | 购买链接 |
---|---|---|---|---|---|---|---|
CN2线路-最便宜 | 1核 | 1024 MB | 20 GB | 1000 GB | 1 Gbps | $49.99 | 点击进入 |
KVM线路-最便宜 | 2核 | 1024 MB | 20 GB | 1000 GB | 1 Gbps | $49.99 | 点击进入 |
CN2 GIA线路-最推荐 | 2核 | 1 GB | 20 GB | 1000 GB | 1 Gbps | $113.99 | 点击进入 |
CN2-GIA-E-最推荐 | 2核 | 1 GB | 20 GB | 1000 GB | 2.5 Gbps | $169.99 | 点击进入 |
香港CN2 GIA线路-最优质 | 2核 | 2048 MB | 40 GB | 500 GB | 1 Gbps | $899.99 | 点击进入 |
如果上面没有你想要的 VPS 套餐,也可以看看 Vultr 的 VPS,Vultr 目前最低价格是 5 美元一个月,收费模式是按时计费,不用不扣钱,更多 Vultr 的详细教程可以在站内搜索。
下面是 Vultr 目前的优惠活动,充值 10 美元赠送 50 美元,活动地址:
Vultr 赠送50美金优惠活动地址:点击进入
本次 Vultr 优惠活动详情请参考:Vultr 新用户直送 50-100 美元活动再次开启,twitter 转发再领 3 美元