2017-12-1 7周5次课 linux防火墙--netfilter

来源:互联网 发布:数据库的概念模型 编辑:程序博客网 时间:2024/06/03 22:40

保存和备份iptables 规则

[root@wagskun ~]# iptables-save > /tmp/ipt.txt[root@wagskun ~]# cat /tmp/ipt.txt# Generated by iptables-save v1.4.21 on Sun Dec  3 09:03:14 2017*mangle:PREROUTING ACCEPT [1013:93839]:INPUT ACCEPT [783:77141]:FORWARD ACCEPT [216:14017]:OUTPUT ACCEPT [539:48699]:POSTROUTING ACCEPT [579:56626]

恢复规则

[root@wagskun ~]# iptables-restore < /tmp/ipt.txt

[root@wagskun ~]# service iptables saveiptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定 

firewalld

  • 打开firewalld
  • systemctl disable iptables
  • systemctl stop iptablse
  • systemctl enable firewalld
  • systemctl start firewalld
  • firewalld默认有9个zone
  • 默认zone为pubilc
  • firewall-cmd --get-zones #查看所有zone
  • firewall-cmd --get-default-zone #查看默认zone
[root@wagskun ~]# service iptables saveiptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定  ][root@wagskun ~]# systemctl disable iptablesRemoved symlink /etc/systemd/system/basic.target.wants/iptables.service.[root@wagskun ~]# systemctl stop iptables[root@wagskun ~]# systemctl enable firewalldCreated symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.[root@wagskun ~]# systemctl start firewalld

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

drop(丢弃)任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
 block(限制)任何接受的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。
 pubilc(公共)在公共区域内使用,不能相信网络内的其他计算机不会对你的计算机造成危害,只能接收经过选取的连接。 external(外部)特别是为路由器启动了伪装功能的外部网。你不能信任来自网络的其他计算,机,不能相信他们不会对你的计算机造成危害,只能接收经过选择的连接。
 dmz(非军事区)用于你的非军事区内的电脑,此区域内可以公开访问,可以有限的进入你的内部网络,仅仅接收经过选择的连接。
 work(工作)用于工作区。你可以基本相信网络内的其他电脑不会危害你的电脑。仅仅接收经过选择的连接。
 home(家庭)用于家庭网络。你可以基本信任网络内的其他计算机不会危害你的计算机。仅仅接收经过选择的连接。
 internal(内部)用于内部网路。你可以基本上信任网络内的其他计算机不会威胁你的计算机。仅仅接收经过选择的连接。 trusted(信任)可接受所有网络连接。

#设定默认zone

[root@wagskun ~]# firewall-cmd --set-default-zone=worksuccess[root@wagskun ~]# firewall-cmd --get-default-zonework
查指定网卡

[root@wagskun ~]# firewall-cmd --get-zone-of-interface=ens33work[root@wagskun ~]# firewall-cmd --get-zone-of-interface=ens37no zone[root@wagskun ~]# firewall-cmd --get-zone-of-interface=lono zone


给指定网卡设置zone

[root@wagskun ~]# firewall-cmd --zone=dmz --add-interface=ens37The interface is under control of NetworkManager and already bound to 'dmz'The interface is under control of NetworkManager, setting zone to 'dmz'.success[root@wagskun ~]# firewall-cmd --get-zone-of-interface=ens37dmz

[root@wagskun ~]# firewall-cmd --zone=public --add-interface=lo
success
[root@wagskun ~]# firewall-cmd --get-zone-of-interface=lo
public

  • firewall-cmd --zone=dmz --change-interface=lo #针对网卡更改zone
  • firewall-cmd --zone=dmz --remove-interface=lo #针对网卡删除zone
  • firewall-cmd --get-active-zones #查看系统所有网卡所有的zone

  • firewall-cmd --get-services #查看所有的services

  • firewall-cmd --list-services #查看当前zone下有哪些service
  • firewall-cmd --zone=public --add-service=http #将http增加到public zone下面
  • firewall-cmd --zone=public --remove-service=http
  • ls /usr/lib/firewalld/zones #zone的配置文件模板
  • firewall-cmd --zone=public --add-service=http --permanent #更改配置文件,之后会在/etc/frewalld/zones目录下面生成配置文件
  • 需求:ftp服务自定义端口1121,需要在work zone下面放行ftp
  • cp /usr/lib/firewalld/service/ftp.xml /etc/firewalld/services
  • vi /etc/firewalld/services/ftp.xml #把21改为1121
  • cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
  • vi /etc/firewalld/zones/work.xml #增加一行
  • <service name="ftp"/>
  • firewall-cmd --reload #重新加载
  • firewall-cmd --zone=work --list-services