iptables規則備份和恢復/firewalld的zone及操做

iptables規則的備份和恢復

iptables規則保存,默認保存的位置路徑:/etc/sysconfig/iptables文件裏;網絡

service iptables save

iptables規則備份到指定路徑ssh

iptables-save > /tmp/ipt.txt

iptables恢復規則能夠選項將/etc/sysconfig/iptables文件作備份,也可使用下面命令將輸出的文件恢復:tcp

iptables-restore < /tmp/ipt.txt

firewalld的9個zone

鑑於上節課作實驗咱們關閉了firewalld打開了iptables,咱們須要關閉iptables和開啓firewalldrest

1.關閉iptablescode

systemctl disable iptables #禁用開機啓動
systemctl stop iptables #中止iptables

2.啓用firewalldxml

systemctl enable firewalld #設置開機啓動
systemctl start firewalld #啓動firewalld

3.從新查看規則發現默認規則已經和以前不一樣,說明已經更改過來ip

iptables -nvL

firewalld默認有9個zone,zone是firewalld的最小單位,默認zone爲public;utf-8

查看firewalld的9個zone的命令路由

[root@yolks1 ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work

查看firewalld默認使用的zonerem

[root@yolks1 ~]# firewall-cmd --get-default-zone
public

上面9個zone的簡介:

  • drop(丟棄):任何接收的網絡數據包都被拋棄,沒有任何回覆。僅能有發送出去的網絡鏈接。
  • block(限制):任何接收的網絡鏈接都被IPv4的icmp-host-prohibited信息和IPv6的icmp-adm-prohibited信息所拒絕。
  • public(公共):在公共區域使用,不能相信網絡內的其餘計算機不會對你的計算機形成危害,只能接收通過選取的鏈接
  • external(外部):特別是爲路由器啓用了假裝功能的外部網。你不能信任來自網絡的其餘計算,不能相信它們不會對你的計算機形成危害,只能接收通過選擇的鏈接。
  • dmz(非軍事區):用於你的非軍事區內的計算機,此區域內可公開訪問,能夠有限地進入你的內部網絡,僅僅接收通過選擇的鏈接。
  • work(工做):用於工做區。你能夠基本相信網絡內的其它計算機不會危害你的計算機。僅僅接收通過選擇的鏈接。
  • home(家庭):用於家庭網絡。你能夠基本信任網絡內的其它計算機不會危害你的計算機。僅僅接收通過選擇的鏈接。
  • internal(內部):用於內部網絡。你能夠基本上信任網絡內的其它計算機不會威脅你的計算機,僅僅接收通過選擇的鏈接。
  • trusted(信任):可接收全部的網絡鏈接

firewalld關於zone的操做

設定默認的zone爲work

[root@yolks1 ~]# firewall-cmd --set-default-zone=work
success
[root@yolks1 ~]# firewall-cmd --get-default-zone
work

查看指定網卡所在的zone

[root@yolks1 ~]# firewall-cmd --get-zone-of-interface=ens33
work

給指定網卡設置zone

[root@yolks1 ~]# firewall-cmd --zone=home --add-interface=ens33
The interface is under control of NetworkManager, setting zone to 'home'.
success
[root@yolks1 ~]# firewall-cmd --get-zone-of-interface=ens33
home

針對網卡更改zone

[root@yolks1 ~]# firewall-cmd --zone=work --change-interface=ens33
The interface is under control of NetworkManager, setting zone to 'work'.
success
[root@yolks1 ~]# firewall-cmd --get-zone-of-interface=ens33
work

針對網卡刪除zone

firewall-cmd --zone=work --remove-interface=ens33

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

[root@yolks1 ~]# firewall-cmd --get-active-zones
work
  interfaces: ens33

firewalld關於service的操做

在/usr/lib/firewalld/services/目錄中,還保存了另一類配置文件,每一個文件對應一項具體的網絡服務,如ssh服務等。
與之對應的配置文件中記錄了各項服務所使用的tcp/udp端口,在最新版的firewalld中默認已經定義了70多種服務供咱們使用。
zone就是調用了不一樣的service而實現了不一樣的效果。

列出當前系統全部的service

firewall-cmd --get-service

查看當前zone下有哪些service

firewall-cmd --list-services

查看指定zone下有哪些service

firewall-cmd --zone=public --list-services

把http和ftp增長到public zone下面(臨時保存)

[root@yolks1 ~]# firewall-cmd --zone=public --add-service=http --add-service=ftp
success

以修改配置文件來增長service

[root@yolks1 ~]# firewall-cmd --zone=public --add-service=http --permanent
success

查看zone對應的配置文件(配置文件在/etc/firewalld/zones/下,每次修改完配置文件,他都會把舊的配置文件後綴名加上.old也保存在目錄下)

[root@yolks1 ~]# ls /etc/firewalld/zones/
public.xml  public.xml.old
[root@yolks1 ~]# cat /etc/firewalld/zones/public.xml #查看配置文件
<?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="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="http"/>
</zone>

在**/usr/lib/firewalld/services下保存的是services的模板
/usr/lib/firewalld/zone下保存的是zone**的模板

需求:把ftp服務自定義端口1121,須要在work zone下面放行ftp

1.複製模板到service下

cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services

2.修改ftp的配置文件,修改端口1121

3.複製模板到zones下

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

4.修改work.xml的配置文件,把ftp加到裏面

5.從新查看workzone的服務

[root@yolks1 ~]# firewall-cmd --zone=work --list-service
ssh dhcpv6-client ftp
相關文章
相關標籤/搜索