> CentOS > CentOS入门 >

服务器CentOS系统如何开放端口

CentOS系统的服务器,初始并没有开启防火墙,服务器对端口是没有屏蔽的,如果用户想在服务器内只允许特定的端口可以对外使用,可以在服务器内设置iptables规则,来实现对端口的控制,具体的方法如下:

1. 首次登录服务器,使用service iptables status 命令可以查看到服务器的防火墙是关闭的状态,此时可以使用 service iptables start 命令来启动防火墙,防火墙启动后,再次使用service iptables status可以查看目前防火墙内是没有规则的,端口全部不阻断。

QQ???20150324115202.png

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端口是放行的状态,如果用户需要开启其他的端口,可以按照此方法自行开通下,规则添加完需要手动保存下,之后重启下防火墙才能生效。

QQ???20150324115718.png

3.需要放行的端口添加完毕后,输入下如下三条命令:

                 iptables -P INPUT DROP

                 iptables -P FORWARD DROP

                 iptables -P OUTPUT DROP

 这三条命令的作用是禁止全部入站出站行为,之后保存重启下防火墙,此时防火墙会屏蔽除了您开放的端口之外的其他全部端口。

QQ???20150324132505.png

 

 

(责任编辑:IT)