编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

CentOS7系统Firewall基本管理(centos firewall)

wxchong 2024-07-25 13:43:43 开源技术 37 ℃ 0 评论

CentOS7的发布,防火墙功能由现在的Firewalld取代以往的IPtables。在Firewalld的各种服务里,是以区域为定义进行设定的。设定的区域和网络接口关联起来才能有效。今天本文就介绍一下Firewalld基本管理操作。

开/关启Firewalld

1.启动Firewalld,及开机自启。

# systemctl start firewalld
# systemctl enable firewalld
ln -s '/usr/lib/systemd/system/firewalld.service' '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
ln -s '/usr/lib/systemd/system/firewalld.service' '/etc/systemd/system/basic.target.wants/firewalld.service'

2.停止Firewalld,及关闭开机自启。

# systemctl stop firewalld
#  systemctl disable firewalld
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'

区域管理

「public」作为默认区域,为网络接口所应用,允许dhcpv6-client, ssh服务。使用「firewall-cmd」可进行多种操作。如果省略指定的应用区域(–zone=***),就使用该默认区域。

1.查看默认区域。

# firewall-cmd --get-default-zone
Public

2.查看现在的区域设定。

# firewall-cmd --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

3.查看定义的所有区域。

# firewall-cmd --list-all-zones
block
  interfaces:
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:
dmz
  interfaces:
  sources:
?????
?????

4.查看指定区域(如external),所允许的服务。

# firewall-cmd --list-service --zone=external
ssh

5.变更默认区域(如external)。

# firewall-cmd --set-default-zone=external
success

服务管理

1.确认所定义的服务一览。

# firewall-cmd --get-services
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https

2. 所定义的服务保存目录。

# ls /usr/lib/firewalld/services
amanda-client.xml      ipp-client.xml   mysql.xml       rpc-bind.xml
bacula-client.xml      ipp.xml          nfs.xml         samba-client.xml
bacula.xml             ipsec.xml        ntp.xml         samba.xml
?????
?????

注:如果单独追加定义服务的话,在/usr/lib/firewalld/services下,添加XML文件。

添加/删除服务

1.添加http服务(设定即时有效)。

# firewall-cmd --add-service=http
success
# firewall-cmd --list-service
http ssh

2.删除http服务。

# firewall-cmd --remove-service=http
success
# firewall-cmd --list-service
ssh

3.永久添加http服务(为使设定生效,需重启firewalld)。

# firewall-cmd --add-service=http --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --list-service
http ssh

注:永久变更的话,需要指定「–permanent」参数。如果不指定「–permanent」的话,系统重启后,设定就无效了。

端口的管理

1.添加888端口。

# firewall-cmd --add-port=888/tcp
success
# firewall-cmd --list-port
888/tcp

2.删除888端口。

# firewall-cmd --remove-port=888/tcp
Success
# firewall-cmd --list-port

3.永远追加888端口(为使设定生效,需重firewall-cmd )。

# firewall-cmd --add-port=888/tcp --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --list-port
888/tcp

ICMP类型的添加/删除

1.添加echo-reply。

# firewall-cmd --add-icmp-block=echo-reply
success
# firewall-cmd --list-icmp-blocks
echo-reply

2.删除echo-reply。

# firewall-cmd --remove-icmp-block=echo-reply
success
# firewall-cmd --list-icmp-blocks
echo-request

3.查看可以指定的ICMP类型一览。

# firewall-cmd --get-icmptypes
destination-unreachable echo-reply echo-request parameter-problem redirect router-advertisement router-solicitation source-quench time-exceeded

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表