一级女人毛片人一女人-一级女性大黄生活片免费-一级女性全黄久久生活片-一级女性全黄生活片免费-国产美女在线一区二区三区-国产美女在线观看

億恩科技有限公司旗下門戶資訊平臺!
服務器租用 4元建網站

配置Linux防火墻的幾種方式

盡管工作在Linux內核的網絡過濾器代碼上,總體上和舊有的配置防火墻的方法是不兼容的。Red Hat Enterprise Linux 7 和其他的新版本則需要依靠新的配置方法。本文的所有命令都基于RHEL 7。

防火墻起初看起來很難使用,但是實際上并不是這樣。服務以及區域使一個個碎片的結合以及Linux防火墻的配置變得很容易。盡管工作在Linux內核的網絡過濾器代碼上,總體上和舊有的配置防火墻的方法是不兼容的。Red Hat Enterprise Linux 7 和其他的新版本則需要依靠新的配置方法。本文的所有命令都基于RHEL 7。

防火墻工作網絡

首先,檢查防火墻是否在運行。使用列表1中的systemctl status firewalld命令。

列表1.下面的序列表明防火墻是活動狀態且在運行中。這些斜線是有幫助的,當你試圖將表1全面顯示出來,使用-1命令。

[root@rhelserver ~]# systemctl status firewalld

firewalld.service - firewalld - dynamic firewall daemon

   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)

   Active: active (running) since Thu 2014-05-22 07:48:08 EDT; 14min ago

Main PID: 867 (firewalld)

   CGroup: /system.slice/firewalld.service

           └─867 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

May 22 07:48:08 rhelserver.example.com systemd[1]: Started firewalld - dynami...

防火墻中的一切都與一個或者多個區域相關聯。

配置之后,RHEL 7服務器正常會在公共區域,但是你也許會想將它放置在另一個網絡配置防火墻訪問。這時使用firewall-cmd --get-default-zone命令,該命令顯示你的服務器在哪一個網絡。如果你想查看配置特定網絡的詳細信息,你可以使用列表2中的firewall-cmd --zone=zonename --list-all命令。

列表2.

root@rhelserver ~]# firewall-cmd --get-default-zone

public

  [root@rhelserver ~]# firewall-cmd --get-zones

  block dmz drop external home internal public trusted work

  [root@rhelserver ~]# firewall-cmd --zone=public --list-all

  public (default, active)

  interfaces: ens33

  sources:

  services: dhcpv6-client sander ssh

  ports:

  masquerade: no

  forward-ports:

  icmp-blocks:

  rich rules:

改變當前區域并不難:使用firewall-cmd --set-default-zone=home命令,該命令可用于從公共網絡到家庭網絡制定一個默認網絡。

服務和其他構件

在區域中有一些基本的構件塊,其中服務是最重要的。防火墻使用管理員創建在/usr/lib/firewalld/services(系統默認服務) 和/etc/firewalld/services文件下的XML文件,配置的自身服務集。XML文件時通過列表3中的例子創建的。

列表3.

[root@rhelserver services]# cat ftp.xml

<?xml version="1.0" encoding="utf-8"?>

<service>

  <short>FTP</short>

  <description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You need the

vsftpd package installed for this option to be useful.</description>

  <port protocol="tcp" port="21"/>

  <module name="nf_conntrack_ftp"/>

</service>

每一個服務定義都需要一個簡短的名字、描述和端口網絡用于指定需要使用的協議、端口和模塊名。

列表4.以下是創建防火墻服務的例子

[root@rhelserver services]# cat sander.xml

<?xml version="1.0" encoding="utf-8"?>

<service>

  <short>Sander</short>

  <description>Sander is a random service to show how service configuration works.</description>

  <port port="666" protocol="tcp"/>

</service>

一旦你有了正確的服務文件,使用以下代碼復制它。firewall-cmd --list-services命令顯示從你服務器上的所有可以找到的服務列表。如果要增加服務則輸入firewall-cmd --add-service yourservice將服務放到默認網絡上,或者是使用--zone=zonename選擇特定網絡。

下面描述了它如何工作:

1.使用firewall-cmd --zone=public --list-all命令,顯示當前公共區域配置。

  [root@rhelserver ~]# firewall-cmd --zone=public --list-all

  public (default, active)

  interfaces: ens33

  sources:

  services: dhcpv6-client ssh

  ports:

  masquerade: no

  forward-ports:

  icmp-blocks:

  rich rules:

2.命令firewall-cmd --zone=public --add-service=ftp,在Linux防火墻的公共區域上添加FTP服務。

3.重復步驟1檢查FTP服務是否成功添加,你將看到服務列表。

4.重啟服務器,執行步驟1.你將看到FTP服務消失了,在防火墻中,沒有永久的事物,除非你使用了permanent選項。

5.將FTP服務添加到公共網絡上,并設為永久設置,該步驟使用firewall-cmd  --permanent --zone=public --add-service=ftp命令。重啟之后該設置生效。

6.輸入firewall-cmd –reload提交所有規則同時重載防火墻。使用permanent設置永久防火墻選項是非常重要的。

打破規則

配置防火墻配置服務是推薦的方式,它可以輕而易舉地提供防火墻的全局概覽。但是如果你想在/etc/firewalld/service文件下自己定義服務,在不使用該文件的情況下也可添加端口。

使用firewall-cmd --permanent --zone=dmz --add-port=22/tcp命令為特定網絡指定特定端口,然后使用firewall-cmd --zone=dmz --list-all確認端口已成功添加。這種方式是非兼容方式,使用服務使對不同的主機分配相似的規則變得簡單。如果沒有服務,文件就很難被分配,配置文件中的規則分配也變得困難。

對于更多的控制,你不能夠使用直接規則。原因如下:

1.輸入firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 80 -j ACCEPT

2.現在輸入firewall-cdm --list-all顯示你的默認網絡的配置,端口80沒有添加任何東西。

  [root@rhelserver ~]# firewall-cmd --list-all

  public (default, active)

  Interfaces: ens33

  sources:

  services: dhcpv6-client ftp ssh

  ports:

  masquerade: no

  forward-ports:

  icmp-blocks:

  rich rules:

輸入完以上命令后,HTTP端口并沒有發生改變,這是因為直接規則寫給了IP信息包過濾器接口,而不是防火墻。

3.輸入firewall-cmd --direct --get-all-rules,或者使用firewall-cmd --direct --get-all-rules顯示直接規則。

相比于直接規則,使用iptables(列表5)命令可以寫到防火墻里。

列表5.Linux防火墻規則實例

firewall-cmd--permanent--zone=public--add-rich-rule="rule family="ipv4" source address="192.168.4.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept"

防火墻規則類似于IP信息包過濾防火墻,提供了大量靈活性。

使用列表5中的一條命令就可以完成和提交許多任務。它指定了IP家族、源地址、服務名等。但是需要注意規則是怎樣處理登陸的:定義一個特定的登陸前綴、登陸等級信息,以及每分鐘傳遞信息的極限值。

Linux管理員可以申請監測端口的過濾器,所以規則對于IP地址上的過濾器非常有用。(列表6)

列表6.規則申請Linux防火墻IP地址端口的過濾器

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" \

   source address="192.168.0.4/24" service name="http" accept"

分析區域

firewall-cmd命令是眾多配置防火墻的方法之一。二者擇一的,你可以直接編寫網絡配置文件。但是如果語法有誤,將不會得到任何反饋。但這是一個簡潔簡單的配置文件,容易修改和在多個服務器上分配。

列表7.你可以通過編寫配置文件配置防火墻

<?xml version="1.0" encoding="utf-8"?>

<zone>

  <short>Public</short>

  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>

  <service name="dhcpv6-client"/>

   <service name="ssh"/>

   <rule family="ipv4">

    <source address="192.168.4.0/24"/>

    <service name="tftp"/>

    <log prefix="tftp" level="info">

    <limit value="1/m"/>

    </log>

    <accept/>

  </rule>

</zone>

列表7中包含了添加到先前例子中的所有代碼,可以直接寫入區域配置文件,其中不包含直接規則,因為直接規則有自己的配置文件。

[root@rhelserver firewalld]# cat direct.xml

<?xml version="1.0" encoding="utf-8"?>

<direct>

  <rule priority="0" table="filter" ipv="ipv4" chain="INPUT">-p tcp --dport 80 -j ACCEPT</rule>

</direct>

河南億恩科技股份有限公司(www.laynepeng.cn)始創于2000年,專注服務器托管租用,是國家工信部認定的綜合電信服務運營商。億恩為近五十萬的用戶提供服務器托管、服務器租用、機柜租用、云服務器、網站建設、網站托管等網絡基礎服務,另有網總管、名片俠網絡推廣服務,使得客戶不斷的獲得更大的收益。
服務器/云主機 24小時售后服務電話:0371-60135900
虛擬主機/智能建站 24小時售后服務電話:0371-55621053
網絡版權侵權舉報電話:0371-60135995
服務熱線:0371-60135900

0
3
分享到:責任編輯:阿柳

相關推介

共有:0條評論網友評論:

驗證碼 看不清換一張 換一張

親,還沒評論呢!速度搶沙發吧!