iptables备份和恢复
概念:
设定的防火墙规则只保存在内存中,并没有保存到某个文件中。
也就是说,当系统重启后以前设定的规则就没有了,所以设定号的规则后要先保存一下。
防火墙默认保存在/etc/sysconfig/iptables目录中。
service iptables save保存规则。
备份iptables规则格式如下:
iptables-save > ipt.txt
恢复刚才备份的规格式如下:
iptables-restore < ipt.txt
fiewalld(防火墙机制)的9个zone
概念:fiewalld默认由9个zone,默认zone为public
drop (丢弃) 任何接受的网络数据包都被丢弃,没有任何回复,仅能发送出去的网络链接
block(限制) 任何接受的网络链接都被ipv4和ipv6的信息拒绝
public(公共) 在公共区域内使用,
不能相信网络内的其他计算机不会对你的计算机造成威胁,所以只能接受经过选取的链接。
extrenal(外部)为路由器启用了伪装功能的外部网
不能信任来自任何网络的其他计算机,不能相信他们不会对你的计算机造成畏寒
所以只能接受经过选择的链接
dmz(非军事区)此区域为公开访问,可以有限的进入内部网络,仅接受经过选择的链接
work(工作)用于工作期,仅接受经过选择的链接
home(家庭)用于家庭网络,仅接受经过选择的链接
internal(内部)用户内部网络,仅接受经过选择的链接
trusted(信任)可以接受所有的网络链接
打开fiewalld服务
[root@zhang-01 ~]# systemctl disable iptables
[root@zhang-01 ~]# systemctl stop iptables
[root@zhang-01 ~]# systemctl enable firewalld
查看所有的zone
[root@zhang-01 ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
查看默认的zone
[root@zhang-01 ~]# firewall-cmd --get-default-zone
public
firewall关于zone的操作
设定默认的zone
[root@zhang-01 ~]# firewall-cmd --set-default-zone=work
Warning: ZONE_ALREADY_SET: work #默认zone修改成work
success #成功
- 查看是否修改成功
[root@zhang-01 ~]# firewall-cmd --get-default-zone work
查看指定网卡用的哪个zone
[root@zhang-01 ~]# firewall-cmd --get-zone-of-interface=ens33 work
给指定网卡设置zone
[root@zhang-01 ~]# firewall-cmd --zone=public --add-interface=lo success [root@zhang-01 ~]# firewall-cmd --get-zone-of-interface=lo public
针对网卡更改zone
[root@zhang-01 ~]# firewall-cmd --zone=dmz --change-interface=lo success [root@zhang-01 ~]# firewall-cmd --get-zone-of-interface=lo dmz
针对网卡删除zone
[root@zhang-01 ~]# firewall-cmd --zone=dmz --remove--interface=lo
查看系统所有网卡所在的zone
[root@zhang-01 ~]# firewall-cmd --get-active-zones dmz interfaces: lo work interfaces: ens33
firewall关于service的操作
查看所有的service
[root@zhang-01 ~]# firewall-cmd --get-services RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
查看当前zone下有哪些service
[root@zhang-01 ~]# firewall-cmd --list-services ssh dhcpv6-client
把http增加到public zone下面
[root@zhang-01 ~]# firewall-cmd --zone=public --add-service=http success
zone的配置文件模块
[root@zhang-01 ~]# ls /usr/lib/firewalld/zones/
block.xml dmz.xml drop.xml external.xml home.xml internal.xml public.xml trusted.xml work.xml
更改配置文件之后会在/etc/firewalld/zones目录下面生成配置文件
[root@zhang-01 ~]# firewall-cmd --zone=public --add-service=http --permanent
success
需求:ftp服务自定义端口1121,需要在work zone下面放行ftp
- 拷贝一个目录到service目录下
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services - vi编辑目录,把21改成1121
vi /etc/firewalld/services/ftp.xml //把21改为1121 - 再拷贝个目录,到zones目录下
cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/ - 重新加载firewall
firewall-cmd reload
success -
编辑添加一行内容如下:
vi /etc/firewalld/zones/work.xml //增加一行
<service name="ftp"/> - firewall-cmd --reload //重新加载
- firewall-cmd --zone=work --list-services #指定zeone为list