快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程安卓软件教程 → centos7操作firewalld防火墙的常用操作命令

centos7操作firewalld防火墙的常用操作命令

时间:2020-01-11 18:42:03人气:作者:快盘下载我要评论

centos7默认的防火墙工具为firewalld使用起来比iptables更方便快捷。本教程也是在工作中遇到了双网卡网络如何配置防火墙所记录的。具体网络 拓扑就不画了。外网只提供http80端口,22都吧开放,内网开放部分端口。这样的需求,基本可以再这篇文章中找到你所需要的答案。

centos7操作firewalld防火墙的常用操作命令


打开firewalld,这个是必须的。不打开防火墙你操作啥呢 ,j我是说我这个新手操作防火墙的糗事。


[root@localhost ~]# systemctl stop iptables #关闭firewalld
[root@localhost ~]# systemctl start firewalld #启动firewalld
[root@localhost ~]# systemctl disable iptables #禁止开机启动firewalld
[root@localhost ~]# systemctl enable firewalld #开机自动启动firewalld


将之前打开的iptables关掉,启动firewalld。可以用iptables查看表的规则。为啥可以,请看以前的问章,https://www.kkpan.com/article/2564.html


[root@localhost ~]# firewall-cmd --get-zones     #查看是所有zone
block dmz drop external home internal public trusted work

以上是默认的9个zone,当然你也可以自己添加,


centos7 firewall防火墙创建新zone并加载生效


[root@localhost ~]# firewall-cmd --get-default-zone      #查看默认zone
public


默认的zone为public。


firewalld关于zone的操作



修改默认的zone


[root@localhost ~]# firewall-cmd --set-default-zone=work     #将默认的zone修改为work
success
[root@localhost ~]# firewall-cmd --get-default-zone      #查看默认的zone
work


查看指定网卡的zone

[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33   #查看ens33网卡的zone
work
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens37   #查看ens37网卡的zone
work
[root@localhost ~]# firewall-cmd --get-zone-of-interface=lo  #查看lo的zone

no zone

给指定网卡增加zone

[root@localhost ~]# firewall-cmd --zone=public --add-interface=lo    #给lo网卡指定zone为public
success
[root@localhost ~]# firewall-cmd --get-zone-of-interface=lo  #查看lo网卡的zone
public


修改指定网卡的zone

[root@localhost ~]# firewall-cmd --zone=block --change-interface=ens37   #将网卡ens37的zone改成block
The interface is under control of NetworkManager, setting zone to 'block'.
success
[root@localhost ~]# firewall-cmd     --get-zone-of-interface=ens37
block

删除指定网卡的zone

[root@localhost ~]# firewall-cmd --zone=block --remove-interface=ens37   #删除ens37网卡的block zone
The interface is under control of NetworkManager, setting zone to default.
success
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens37
work

删除指定网卡修改的zone之后,它的zone会变回默认的zone

删除指定网卡修改的zone之后,它的zone会变回默认的zone

删除指定网卡修改的zone之后,它的zone会变回默认的zone

貌似很智能哦。

以上这些操作都在ifcnf-ens37中体现,自己可以去看看网卡配置。


查看系统中所有网卡所在的zone

[root@localhost ~]# firewall-cmd --get-active-zones  #查看系统中所有网卡所在的zone
work
    interfaces: ens33 ens37
public
    interfaces: lo

firewalld关于service的操作

service 就是zone下面的一个子单元,可以理解成指定的一个端口。


查看所有的servie

[root@localhost ~]# firewall-cmd --get-service
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@localhost ~]# firewall-cmd --list-service

ssh dhcpv6-client

查看指定zone下的service

[root@localhost ~]# firewall-cmd --zone=public --list-service    #指定查看zone=public 下的service

dhcpv6-client ssh

把服务增加到public的zone下(临时添加)

[root@localhost ~]# firewall-cmd --zone=public --add-service=http    #把http服务临时添加到public的zone下
success
[root@localhost ~]# firewall-cmd --zone=public --list-service
dhcpv6-client ssh http

临时添加的service是在内存中,配置文件中没有,重启之后


把服务永久添加增加到public的zone下

zone的配置文件路径/etc/firewalld/zones/

[root@localhost ~]# firewall-cmd --zone=public --add-service=http     --permanent
success
[root@localhost ~]# firewall-cmd --zone=public --list-service
dhcpv6-client ssh http

–permanent 将配置写到配置文件中

[root@localhost ~]# ls /etc/firewalld/zones
public.xml  public.xml.old

每当永久修改完配置文件之后,系统都会将修改之前的配置文件备份一份,后缀名是old。


zone的配置文件模板

zone,service配置文件的模板存放路径:

/usr/lib/firewalld/zones

/usr/lib/firewalld/services

删除zone下的某服务

[root@localhost ~]# firewall-cmd --zone=public --remove-service=http     #临时删除
[root@localhost ~]# firewall-cmd --zone=public --remove-service=http --permanent     #永久删除


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


第一步:复制ftp的配置文件到/etc/firewalld/services/


[root@localhost ~]# cp /usr/lib/firewalld/services/ftp.xml  /etc/firewalld/services/

第二步:编辑该文件,将port="21"改为port="1121"


[root@localhost ~]# vim /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 available, enable this option. You need the vsftpd package installed for this option to be useful.</description>
 <port protocol="tcp" port="1121"/>
 <module name="nf_conntrack_ftp"/>
</service>

第三步:复制workzone的配置文件到/etc/firewalld/zones/


[root@localhost ~]# cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/

第四步:编辑该文件,增加“<service name="ftp"/>”


[root@localhost ~]# vim /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>


第六步:重新加载,无效的话重启防火墙,我的就没生效,奇怪了。

[root@localhost ~]# firewall-cmd --reload
success


相关文章

  • centos7-环境安装-PM2-管理-node

    centos7-环境安装-PM2-管理-node,前言: 由于最新的项目中用到的框架是 ssr 框架。 Vue使用的ssr是 nuxt.js,由于 nuxt.js 和普通的Vue项目不同,所以部署到Linux服务器的方式和普通的Vue项目是有区别的。PM2 是一款非常优秀的 Node 进程管理工具,它有着丰富的特性:能够充分利用多核 CPU且能够负载均衡、能够帮助应用在崩溃后、指定时间(cluster model)和超出最大内存限制等情况下实现自动重启。PM2 是开源的基于 Nodejs 的进程管理器,包...
  • 基于centos7.9二进制部署kubernetes1.25.4

    基于centos7.9二进制部署kubernetes1.25.4(下),8、安装Calico#以下步骤只在master01执行[root@k8s-master01k8s-ha-install]#cd/root/k8s-ha-install/calico/#更改calico的网段,主要需要将红色部分的网段,改为自己的Pod网段[root@k8s-master01calico]#sed-i"s#POD_CIDR#172.16.0.0/12#g"calico...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。