5月10日

10.19 iptables規則備份和恢復centos


1. 保存iptables規則服務器

命令:service iptables save  //會把規則保存到/etc/sysconfig/iptables文件中,若是沒有保存,重啓後iptables規則會被清空。ssh

 2. 備份iptables規則(若是不想備份到默認文件中)備份到/tmp/ipt.txt文件中ide

  命令:iptables-save > /tmp/ipt.txt centos7

blob.png 

3恢復剛纔備份的規則:spa

命令:iptables-restore < /tmp/ipt.txt rest

blob.png 

4.停用iptables防火牆有時候咱們須要清除防火牆的全部規則,使用命令iptables -F當然能夠,但最好的辦法還是中止防火牆服務,以下所示:xml

命令:service iptables stop  ip

blob.png 

注:這樣防火牆就失效了,可是一旦從新設定規則(哪怕只有一條),防火牆服務仍是會自動開啓。內存


10.20 firewalld的9個zone


1.firewalldCentOS7裏面的防火牆機器,在以前的操做中把firewalld服務給禁掉了,而是打開了iptables服務,如今再反過來關閉iptables服務,打開firewalld服務,操做以下:

打開firewalld 

systemctl disable iptables 

systemctl stop iptables 

systemctl enable firewalld 

systemctl start firewalld 

blob.png 

打開firewalld之後,你能夠執行一個iptables -nvL命令查看firewalld的默認規則,會發現這些規則要經netfilter的規則複雜。以前介紹的iptables相關命令在centos7也是能夠繼續使用的,不過在centos7裏不用那麼操做,Centos7裏面有firewalld本身的命令。

 

1.1firewalld有兩個基礎概念,分別是zoneservice,每個zone裏面有不一樣的iptables規則,默認一共有9zone,而Centos 7默認的zonepublic

   查看系統全部的zone,命令:firewall-cmd --get-zones  (get前面是兩個-)

blob.png 

1.2 查看默認zone: 

命令:firewall-cmd –get-default-zone 

blob.png 

1.3 9zone的介紹以下:

blob.png 

 

10.21 firewalld關於zone的操做


firewall關於zone的操做 

1、設定默認zone: 

firewall-cmd –set-default-zone=work 

blob.png 

2、 查指定網卡有沒有zone

firewall-cmd –get-zone-of-interface=eth0

blob.png 

3、給指定網卡設置zone

firewall-cmd –zone=public –add-interface=eth0

blob.png 

4、 針對網卡更改zone: 

firewall-cmd –zone=block –change-interface=eno16777736 

blob.png 

5、 針對網卡刪除zone : 

firewall-cmd –zone=block –remove-interface=eno16777736 

blob.png 

6、 查看系統全部網卡所在的zone

firewall-cmd –get-active-zones 

blob.png 

 

10.22 firewalld關於service的操做


介紹另外一個概念service,之因此有9zone,是由於每一個zone裏面都使用了不一樣的service,而service就是針對一個服務(端口)作的iptables規則。

1、查看全部的servies: 

firewall-cmd –get-services 

blob.png 

這些service都是由一個個配置文件定義的,配置文件的模板在/usr/lib/firewalld/services/目錄下,真正生效的配置在/etc/firewalld/services目錄下面(默認爲空)。

2、查看當前zone下有哪些service 每一個zone裏面都有不一樣的service

firewall-cmd –list-services 

firewall-cmd --zone=public --list-service   //查看指定zone下有哪些service

blob.png 

3一個zone下面有某個service,意味着這個service是被信任的,好比,當前zone下面有個ssh,那麼ssh服務(也就是22)端口是放行的,咱們能夠給一個zone添加一個service

http增長到public zone下面: 

firewall-cmd –zone=public –add-service=http  //當前zone下添加http

firewall-cmd –zone=public –remove-service=http  //當前zone下刪除http

blob.png 

僅在內存中生效,若是想要永久生效,須要更改配置文件,如下

4對於每一個zone來講,都有本身的配置文件,你能夠查看目錄/usr/lib/firewalld/zones/下面對應的文件,這些就是zone配置文件: 

ls /usr/lib/firewalld/zones/ 

blob.png 

5前面已經試過一種方法能夠在一個zone裏面增長一個service,但這種方法僅僅在內存中生效,並無修改配置文件,若是想要修改配置文件,須要增長一個選項

更改配置文件,以後會在/etc/firewalld/zones目錄下面生成配置文件(永久生效) 

firewall-cmd –zone=public –add-service=http –permanent 

ls /etc/firewalld/zones    //查看zone的配置文件會生成public.xml  public.xml.old

blob.png 

備註:一旦更改了某個zone的配置文件,則會在/etc/firewalld/zones目錄下面生成對應zone的配置文件(.xml後綴的文件),其實這個目錄下面的配置文件纔是真正的配置文件,上面所介紹的目錄,能夠說是全部zone的模板配置文件。

6.實驗舉例:

假設服務器上配置了一個ftp服務,但端口並不是默認的21,而是要自定義端口1121,而且須要work zone下面放行ftp 

# cp /usr/lib/firewalld/services/ftp.xml  /etc/firewalld/services     //拷貝

# vi /etc/firewalld/services/ftp.xml             //21改成1121 參考圖1

# cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/

# vi /etc/firewalld/zones/work.xml            //增長一行(參考圖2

 <service name="ftp"/> 

# firewall-cmd --reload        //從新加載 

 success

 # firewall-cmd --zone=work --list-services   //驗證work zone裏面的services是否有ftp ssh dhcpv6-client ftp

blob.png 

圖一

blob.png 

圖二

blob.png

相關文章
相關標籤/搜索