CentOS系统的服务器,初始并没有开启防火墙,服务器对端口是没有屏蔽的,如果用户想在服务器内只允许特定的端口可以对外使用,可以在服务器内设置iptables规则,来实现对端口的控制,具体的方法如下: 1. 首次登录服务器,使用service iptables status 命令可以查看到服务器的防火墙是关闭的状态,此时可以使用 service iptables start 命令来启动防火墙,防火墙启动后,再次使用service iptables status可以查看目前防火墙内是没有规则的,端口全部不阻断。
2.之后将服务器常用端口添加到防火墙内,以远程端口22为例,命令如下: iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT 命令解释:-A 指添加一条新的规则 -p 指定是什么协议 通常指的是tcp协议,也可以使用udp --dport 就是目标端口 当数据从外部进入服务器为目标端口 反之 数据从服务器出去 则为数据源端口 使用 --sport -j 就是指定是 ACCEPT 接收 或者 DROP 不接收 添加之后使用service iptables save命令保存下规则(注:如果端口号添加错误,用户可以将命令中的-A参数修改为-D,其他不变,执行后可以删除之前添加的规则),之后使用service iptables restart重启下防火墙,使用service iptables status查看下规则,可以看到目前防火墙的出站和 入站规则中,22端口是放行的状态,如果用户需要开启其他的端口,可以按照此方法自行开通下,规则添加完需要手动保存下,之后重启下防火墙才能生效。
3.需要放行的端口添加完毕后,输入下如下三条命令: iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP 这三条命令的作用是禁止全部入站出站行为,之后保存重启下防火墙,此时防火墙会屏蔽除了您开放的端口之外的其他全部端口。
(责任编辑:IT) |