zoukankan      html  css  js  c++  java
  • CentOS7防火墙

    一、CentOS7依然使用iptables的方法

    CentOS7不再使用iptables,而是使用firewalld,若不想使用firewalld,可以停掉firewalld并且安装iptables-services包,具体操作方法如下:

    systemctl stop firewalld

    systemctl disable firewalld

    yum -y install iptables-services

    systemctl enable iptables

    systemctl start iptables

    二、firewalld的9个zone

    1、drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复,仅能有发送出去的网络连接;

    2、block(限制):任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝;

    3、public(公共)在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接;

    4、extemal(外部):特别是为路由器启用了伪装功能的外部网,您不能信任来自网络的其他计算机,不能相信他们不会对您的计算机造成危害,只能接收过选择的连接;

    5、dmz(非军事区):用于您的非军事区内的电脑,此区域可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接;

    6、work(工作):用于工作区,您可以基本相信网络内的其他计算机不会危害您的计算机,仅仅接收经过选择的连接;

    7、home(家庭):用于家庭网络,您可以基本相信网络内的其他计算机不会危害您的计算机,仅仅接收经过选择的连接;

    8、internal(内部):用于内部网络,您可以相信网络内的其他计算机不会威胁您的计算机,仅仅接收经过选择的连接;

    9、trusted(信任):可以接受所有的网络连接

    指定其中一个区域为默认区域是可行的,当接口连接加入了NetworkManager,他们就被分配为默认区域,安装时,firewalld里的默认区域被设定为公共区域。

    二、firewalld zone相关的命令用法

    配置文件在/etc/firewalld

    所有zone的配置文件在: /usr/lib/firewalld/zones/

    设置默认的zone:

    firewall-cmd --set-default-zone=work

    查看网卡所在的zone:

    firewall-cmd --get-zone-of-interface=eno16777728

    给指定网卡设置zone:

    firewall-cmd --zone=public --add-interface=lo

    针对网卡更改zone:

    firewall-cmd --zone=dmz --change-interface=lo

    针对网卡删除zone:

    firewall-cmd --zone=dmz --remove-interface=lo

    查看所有网卡所在的zone:

    firewall-cmd --get-active-zones

    三、firewalld service相关的命令用法

    在/usr/lib/firewalld/services/目录中,还保存了另外一类配置文件,每个文件对应一项具体的网络服务,如ssh服务等

    与之对应的配置文件中记录了各项服务所使用的tcp/udp端口,在最新版本的firewalld中默认已经定义了70+种服务

    zone就是调用了不同的service而实现了不同的效果

    列出所有的service:

    firewall-cmd --get-services

    列出当前zone下加载的service:

    firewall-cmd --list-services

    查看某个zone下面的service:

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

    给一个zone下面添加一个service

    firewall-cmd --zone=public --add-service=http
    要想将添加的service保存到配置文件需要加上permanent

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

    删除service

    firewall-cmd --zone=public --remove-service=http --permanent

    四、防火墙规则编写

    例如:将ssh端口号设置为2016添加到规则中去

    firewall-cmd -add-port=2016/tcp --permanent

    如果需要是规则保存到zone配置文件,则需要加参数--permanent

    防火墙配置文件也可以手动修改,修改后记得重载,重载的命令:

    firewall-cmd --reload 

    重载加载防火墙并不会中断用户连接,也可以彻底加载,这时候会终端用户连接,也会丢弃状态信息 

    firewall-cmd --complete-reload 

    添加一个端口范围:

    firewall-cmd -add-port=2000-4000/tcp

    针对某个zone添加端口:

    firewall-cmd --permanent --zone=home --add-port=443/tcp

    启用端口转发,例如把22端口转发到127.0.0.2

    firewall-cmd --permanent --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2 

    五、firewalld的配置文件

    两个路径/etc/firewalld/和/usr/lib/firewalld/

    系统使用的是/etc/firewalld下面的配置文件

    在/etc/firewalld/zones下面只有一个public.xml,如果给另外一个zone做一些改动,并永久保存,那么会自动生成对应的配置文件

    比如给work zone增加一个端口:

    firewall-cmd --permanent --zone=work --add-port=1000/tcp 

    此时就会生成一个work.xml配置文件 

    例如:

    修改ftp的端口,默认ftp端口是21,改成1121 

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

    把21改为1121 

    vim /etc/firewalld/services/ftp.xml

    work默认为zone,所以要编辑啊work.xml增加一行:

    vim /etc/firewalld/zones/work.xml加入:

    <service name="ftp"/>

    重新加载

    firewall-cmd --reload

  • 相关阅读:
    数据结构 --- 循环队列(队列的顺序存储结构)
    SPOJ MYQ10 10649. Mirror Number 数位DP
    CodeForces 215E Periodical Numbers 数位DP
    CodeForces 234Div2
    URAL 1057 Amount of Degrees 数位DP
    CodeForces 55D Beautiful numbers 数位DP+数学
    HDU 4352 XHXJ's LIS 数位DP + 状压
    SPOJ BALNUM Balanced Numbers 状压+数位DP
    HDU 4909 String 统计+状压
    CodeForces 258B Little Elephant and Elections 数位DP
  • 原文地址:https://www.cnblogs.com/fansik/p/6039959.html
Copyright © 2011-2022 走看看