[CentOS 7系列]firewalld

1、开启firewalld服务

[[email protected] ~]# systemctl disable iptables
Removed symlink /etc/systemd/system/basic.target.wants/iptables.service.
[[email protected] ~]# systemctl stop iptables
[[email protected] ~]# systemctl enable firewalld
Created 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.
[[email protected] ~]# systemctl start firewalld
[[email protected] ~]# firewall-cmd --get-zones     ##查看所有zone
work drop internal external trusted home dmz public block
[[email protected] ~]# firewall-cmd --get-default-zone  ##查看默认zone
public

▎man firewalld.zones

Which zones are available?
    Here are the zones provided by firewalld sorted according to the default trust level of the zones from untrusted to trusted:

    drop
      Any incoming network packets are dropped, there is no reply. Only outgoing network connections are possible.

    block
      Any incoming network connections are rejected with an icmp-host-prohibited message for IPv4 and icmp6-adm-prohibited for IPv6. Only network connections initiated within this system are possible.

    public
      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.

    external
      For use on external networks with masquerading enabled especially for routers. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

    dmz
      For computers in your demilitarized zone that are publicly-accessible with limited access to your internal network. Only selected incoming connections are accepted.

    work
      For use in work areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

    home
      For use in home areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

    internal
      For use on internal networks. You mostly trust the other computers on the networks to not harm your computer. Only selected incoming connections are accepted.

    trusted
      All network connections are accepted.

2、firewall-cmd

[[email protected] ~]# firewall-cmd --set-default-zone=work ##设置默认zone
success
[[email protected] ~]# firewall-cmd --get-default-zone  ##查看默认zone
work
[[email protected] ~]# firewall-cmd --get-zone-of-interface=ens33  ##查看接口所在的zone
work
[[email protected] ~]# firewall-cmd --zone=public --add-interface=lo  ##针对网卡设置zone
success
[[email protected] ~]# firewall-cmd --get-zone-of-interface=lo
public
[[email protected] ~]# firewall-cmd --zone=dmz --change-interface=lo  ##针对网卡更改zone
success
[[email protected] ~]# firewall-cmd --get-zone-of-interface=lo
dmz
[[email protected] ~]# firewall-cmd --zone=dmz --remove-interface=lo  ##针对网卡删除zone
success
[[email protected] ~]# firewall-cmd --get-zone-of-interface=lo
no zone
[[email protected] ~]# firewall-cmd --get-active-zones  ##查看系统所有网卡所在的zone
work
  interfaces: ens37
public
  interfaces: ens33
[[email protected] ~]# firewall-cmd --get-services  ##查看所有的services
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client ceph ceph-mon dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync freeipa-ldap free ipa-ldaps freeipa-replication ftp high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mosh mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster radius rpc-bind rsyncd samba samba-client sane smtp smtps snmp snmptrap 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
[[email protected] ~]# firewall-cmd --list-services  ##查看当前zone下有哪些service
ssh dhcpv6-client
[[email protected] ~]# firewall-cmd --zone=public --add-service=http  
success                                            ##把http增加到public zone
[[email protected] ~]# firewall-cmd --list-services --zone=public
dhcpv6-client ssh http
[[email protected] ~]# firewall-cmd --zone=public --remove-service=http
success                                            ##删除public zone中的http service
[[email protected] ~]# firewall-cmd --list-services --zone=public
dhcpv6-client ssh
[[email protected] ~]# firewall-cmd --zone=public --add-service=http --permanent
success                         ##永久操作,在/etc/firewalld/zones目录下生成配置文件

3、小案例ftp服务自定义端口1121,需要在work zone下面放行ftp

[[email protected] ~]# cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/
[[email protected] ~]# vi /etc/firewalld/services/ftp.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>FTP</short>
  <description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly avail                                                      able, enable this option. You need the vsftpd package installed for this option to be useful.</description>
  <port protocol="tcp" port="1121"/>  ##把21端口更改为1121端口
  <module name="nf_conntrack_ftp"/>
</service>
[[email protected] ~]# cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
[[email protected] ~]# vi /etc/firewalld/zones/work.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Work</short>
  <description>For use in work areas.You mostly 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="ftp"/>              ##增加该行
</zone>
[[email protected] ~]# firewall-cmd --reload  ##重新加载
success
[[email protected] ~]# firewall-cmd --zone=work --list-services
ssh dhcpv6-client ftp
时间: 2024-10-06 20:31:41

[CentOS 7系列]firewalld的相关文章

Centos 7防火墙firewalld开放80端口

Centos 7防火墙firewalld开放80端口 作者:巧克力发布时间:2015-11-08 18:47:14分类:Linux浏览:1943 返回上一页 开启80端口 1 firewall-cmd --zone=public --add-port=80/tcp --permanent 出现success表明添加成功 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 重启防火墙

RHEL 7 / CentOS 7 : Disable Firewalld and use iptables

systemctl disable firewalld systemctl stop firewalld yum -y install iptables-services systemctl enable iptables systemctl start iptables RHEL 7 / CentOS 7 : Disable Firewalld and use iptables

[CentOS 7系列]网络与安全

1.网卡IP 使用ifconfig和ip add命令查看网卡IP. [[email protected] ~]# ifconfig  ##查看网卡IP,如果不支持,需要安装net-tools ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500         inet 192.168.137.100  netmask 255.255.255.0  broadcast 192.168.137.255         inet6 

[CentOS 7系列]磁盘格式化与挂载

在windows操作系统中,硬盘有fat32和ntfs等多种格式.在linux中同样如此.CentOS 6之前,主要是ext4.ext3和ext2等格式.在CentOS 7这个版本开始,默认的磁盘格式变成了xfs格式. [[email protected] ~]# cat /etc/filesystems xfs ext4 ext3 ext2 nodev proc nodev devpts iso9660 vfat hfs hfsplus * [[email protected] ~]# mou

CentOS 7 系列(四)系统服务配置 服务(Service)

System.service: 服务单元,你可以理解为系统服务和原来的init.d下面的服务一样,只是比它更加丰富.每一个服务都是以.service进行标识的,如下图: systemctl list-unit-files --type=service 我们看看一个服务包含哪些内容: systemctl cat sshd.service 通过这个图是不是可以看出一些联系呢?和之前说的单元概念中包括的[Unit]段和[Install]段,这里还多了一个[Service]段,这个段就是用来定义服务的.

[CentOS 7系列]忘记密码的“救星”——单用户模式和救援模式

init是Linux系统操作中不可缺少的程序之一. 是一个由内核启动的用户级进程. 内核启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式来启动其他用户级的进程或服务.所以,init始终是第一个进程(其PID始终为1).内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init.如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败. 运行级就是操作系

CentOS 7 系列(一)系统服务 systemd

Systemd: 在CentOS 7中开始使用了Systemd,它取代了原来的SysVinit,我们在系统中查看,你会发现systemd这个进程的PID为1,而不是原来的init进程.systemd进程将作为所有进程的父进程运行,这就是在CentOS 7中的新的进程管理程序. 这仅仅是一个名字的变化吗?答案是否定的. Systemd是Linux内核发起的第一个程序,通过上面的截图也可以印证这一点,而且它还扮演很多角色,它会启动系统服务.处理用户登陆.执行一些定时任务等.它变成了Linux的的一种

[CentOS 7系列]命令历史与别名

当用户登录linux操作系统时,就进入了当前用户的shell.shell是一个命令解释器,它提供了用户与机器之间的交互.它支持特定语法,比如逻辑判断.循环等.每个用户都可以有自己特定的shell.CentOS 7默认shell为bash.除了bash之外,还有zsh.ksh等shell类型. 在shell中,用户输入命令控制操作系统.在所有可执行命令中,history和alias比较特殊.history命令是用来查看过往输入的命令历史.而alias命令是用来定义命令的别名的.这两者都是为了用户使

[CentOS 7系列]系统目录结构

Linux内所有的一切都是以文件的形式呈现,文件存放在目录中.无论哪个版本的Linux系统,在根目录下都有一些目录,这些目录是标准的.各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差不多. 下面通过命令查看CentOS 7的目录结构: 也可以通过tree命令以树状的形式查显示整个文件目录的内容.系统默认不自带tree命令,需要通过yum的方式安装tree命令软件包. 以下通过表格详细说明各个目录的作用: 序号 目录 用途 作用范围 备注 1 bin 存放可执行命令的文件 普通用