Linux防火牆設置

Centos 7使用firewalld代替了原來的iptables。

 

一、firewall相關的操做

 

使用方法以下:html

>>> 關閉防火牆vim

systemctl stop firewalld.service             #中止firewalltcp

systemctl start firewalld.service             #開啓firewall
systemctl disable firewalld.service        #禁止firewall開機啓動工具

>>> 開啓端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
 命令含義:
--zone #做用域
--add-port=80/tcp #添加端口,格式爲:端口/通信協議
--permanent #永久生效,沒有此參數重啓後失效
>>> 重啓防火牆
firewall-cmd --reload測試

經常使用命令介紹
firewall-cmd --state                           ##查看防火牆狀態,是不是running
firewall-cmd --reload                          ##從新載入配置,好比添加規則以後,須要執行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服務,在列表中的服務是放行的
firewall-cmd --query-service ftp               ##查看ftp服務是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##臨時開放ftp服務
firewall-cmd --add-service=ftp --permanent     ##永久開放ftp服務
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服務
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n                                 ##查看規則,這個命令是和iptables的相同的
man firewall-cmd                               ##查看幫助spa

更多命令,使用  firewall-cmd --help 查看幫助文件rest

 

CentOS 7.0默認使用的是firewall做爲防火牆,使用iptables必須從新設置一下
直接關閉防火牆

systemctl stop firewalld.service           #中止firewall
systemctl disable firewalld.service     #禁止firewall開機啓動htm

二、iptables相關的操做

 

2.1常規命令

       iptables服務須要本身安裝,命令是:ip

yum install  iptables-services作用域

如圖: 

        

 

         開啓iptables防火牆的命令是:

systemctl  start  iptables.service

        重啓iptables防火牆的命令是:

systemctl  restart  iptables.service

關閉iptables防火牆的命令是:

systemctl  stop  iptables.service

查看iptables防火牆狀態的命令是:

systemctl  status  iptables.service

如圖:

   

2.2使用編輯文件的方式開放特定的端口

         不少時候,須要開啓防火牆,可是放行某些特定的端口,如何在防火牆開啓的狀態下,放行50007端口?按照下面的步驟作。

2.2.1修改規則

    主要是編輯/etc/sysconfig/iptables文件,編輯方法不少,可使用vim編輯,也能夠直接把該文件下載到本地,用本地工具編輯。

    將原來的內容    :INPUTACCEPT [0:0]   修改成     :INPUT DROP[0:0]

    將原來的內容    :FORWARDACCEPT [0:0]  修改成    :FORWARD  DROP[0:0]

   將原來的內容     :OUTPUT ACCEPT [0:0]    修改成        :OUTPUTACCEPT [0:480]

2.2.2添加放行的端口

          iptables文件的末尾有以下三行內容:

 

-A INPUT -j REJECT--reject-with icmp-host-prohibited

-A FORWARD -j REJECT--reject-with icmp-host-prohibited

COMMIT

          在這這三行的前面添加一行放行50070端口的配置內容:

-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT

          同理,若是要放行80端口,就添加一行:

-A INPUT -p tcp -m tcp --dport  80 -j ACCEPT

 

          修改完成後,個人/etc/sysconfig/iptables文件是這樣的:

*filter

:INPUT DROP [0:0]

:FORWARD DROP [0:0]

:OUTPUT ACCEPT [0:480]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22-j ACCEPT

-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

2.2.3重啓iptables防火牆

       執行重啓iptables防火牆的命令,命令是:

       systemctl  restart  iptables.service

       如圖:

      

2.2.4測試端口放行效果

       在使用命令systemctl  stop firewalld.service關閉防火牆,使用命令systemctl  start  iptables.service開啓防火牆,可是爲配置/etc/sysconfig/iptables文件,未放行50070端口的狀況下,訪問如下地址http://192.168.27.134:50070/dfshealth.html#tab-overview

是訪問不了的,如圖:

      

 

      在配置了/etc/sysconfig/iptables文件,添加了放行50070端口,而且重啓了iptables防火牆的狀況下,在訪問該地址:http://192.168.27.134:50070/

      發現OK了,如圖:

     

 

 2.3使用執行命令的方式開放特定端口

 2.3.1執行命令

       在不手動修改iptables防火牆的配置文件的狀況下,使用命令作到放行某些經常使用端口,命令集合是:

iptables -P INPUT ACCEPT

iptables -F 

iptables -X 

iptables -Z 

iptables -A INPUT -i lo -jACCEPT 

iptables -A INPUT -p tcp --dport22 -j ACCEPT 

iptables -A INPUT -p tcp --dport21 -j ACCEPT 

iptables -A INPUT -p tcp --dport80 -j ACCEPT 

iptables -A INPUT -p tcp --dport8080 -j ACCEPT

iptables -A INPUT -p tcp --dport8088 -j ACCEPT

iptables -A INPUT -p tcp --dport443 -j ACCEPT 

iptables -A INPUT -p icmp--icmp-type 8 -j ACCEPT 

iptables -A INPUT -p tcp --dport50070 -j ACCEPT 

iptables -A INPUT -m state --stateRELATED,ESTABLISHED -j ACCEPT 

iptables -P INPUT DROP 

iptables -P OUTPUT ACCEPT 

iptables -P FORWARD DROP 

service  iptables save 

systemctl  restart  iptables.service

如圖:

    

2.3.2測試

     測試方法同2.2.4章節,開放端口的效果是同樣的。

相關文章
相關標籤/搜索