1. 程式人生 > >ECS 伺服器CentOS系統如何開放埠

ECS 伺服器CentOS系統如何開放埠

 ECS 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