今天,在使用fedora時,需要修改防火牆規則,一時間忘記了命令是什麼,這裡進行記錄一下。 目前 fedora 28/ centos 7 使用 firewalld 作為防火牆軟體;下麵我就怎麼簡單管理防火牆規則進行記錄,網上的例子很多,這裡我列舉我經常使用的命令,來進行備忘: 基本使用(使用這些命令 ...
今天,在使用fedora時,需要修改防火牆規則,一時間忘記了命令是什麼,這裡進行記錄一下。 目前 fedora 28/ centos 7 使用 firewalld 作為防火牆軟體;下麵我就怎麼簡單管理防火牆規則進行記錄,網上的例子很多,這裡我列舉我經常使用的命令,來進行備忘:
基本使用(使用這些命令需要管理員許可權):
啟動: systemctl start firewalld
關閉: systemctl stop firewalld
查看狀態: systemctl status firewalld
開機禁用 : systemctl disable firewalld
重啟一個服務:systemctl restart firewalld.service
開機啟用 : systemctl enable firewalld
查看服務是否開機啟動:systemctl is-enabled firewalld.service
查看已啟動的服務列表:systemctl list-unit-files|grep enabled
查看啟動失敗的服務列表:systemctl --failed
firewall-cmd 管理防火牆:
查看版本: firewall-cmd --version 查看幫助: firewall-cmd --help 顯示狀態: firewall-cmd --state 更新防火牆規則: firewall-cmd --reload (在每次修改玩規則的時候,一定要使用命令來進行重新載入防火牆規則) 查看區域信息: firewall-cmd --get-active-zones 拒絕所有包:firewall-cmd --panic-on 取消拒絕狀態: firewall-cmd --panic-off 查看是否拒絕: firewall-cmd --query-panic開啟和關閉一個埠:
添加 firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此參數重啟後失效, --zone 此參數也可以不帶,這樣就是查看所有域, 註意:在修改過規則後,一定要進行重新載入規則) 重新載入 firewall-cmd --reload 查看 firewall-cmd --zone= public --query-port=80/tcp 刪除 firewall-cmd --zone= public --remove-port=80/tcp --permanent
打開特定服務:
查看可以打開的服務
# firewall-cmd --get-services
查看服務, 特定域
# firewall-cmd --zone=public --list-services 查看服務 # firewall-cmd --list-services 添加服務 # firewall-cmd --zone=public --add-service=http (可以不限制public域)註意:所有的規則在修改過後,一定要使用 reload 命令進行重新載入 firewall-cmd --reload 刪除服務 # firewall-cmd --zone=public --remove-service=http
添加特定埠對應的服務:
自定義的服務,一般添加到 firewalld 的 /etc 中的配置文件夾之中:/etc/firewalld/services
當然也可以添加到 /usr/lib/firewalld/services 之中:
我們首先查看原有的服務,可見系統已經事先為我們配置好了很多知名的服務,如http, smtp, ftp 等:
root@yaowenxu /u/l/f/services# ls amanda-client.xml elasticsearch.xml kadmin.xml nfs.xml redis.xml syslog.xml amanda-k5-client.xml freeipa-ldaps.xml kerberos.xml nmea-0183.xml RH-Satellite-6.xml telnet.xml bacula-client.xml freeipa-ldap.xml kibana.xml nrpe.xml rpc-bind.xml tftp-client.xml bacula.xml freeipa-replication.xml klogin.xml ntp.xml rsh.xml tftp.xml bgp.xml freeipa-trust.xml kpasswd.xml openvpn.xml rsyncd.xml tinc.xml bitcoin-rpc.xml ftp.xml kprop.xml ovirt-imageio.xml samba-client.xml tor-socks.xml bitcoin-testnet-rpc.xml ganglia-client.xml kshell.xml ovirt-storageconsole.xml samba.xml transmission-client.xml bitcoin-testnet.xml ganglia-master.xml ldaps.xml ovirt-vmconsole.xml sane.xml upnp-client.xml bitcoin.xml git.xml ldap.xml pmcd.xml sips.xml vdsm.xml ceph-mon.xml gre.xml libvirt-tls.xml pmproxy.xml sip.xml vnc-server.xml ceph.xml high-availability.xml libvirt.xml pmwebapis.xml smtp-submission.xml wbem-https.xml cfengine.xml https.xml managesieve.xml pmwebapi.xml smtps.xml xmpp-bosh.xml cockpit.xml http.xml mdns.xml pop3s.xml smtp.xml xmpp-client.xml condor-collector.xml imaps.xml minidlna.xml pop3.xml snmptrap.xml xmpp-local.xml ctdb.xml imap.xml mongodb.xml postgresql.xml snmp.xml xmpp-server.xml dhcpv6-client.xml ipp-client.xml mosh.xml privoxy.xml spideroak-lansync.xml zabbix-agent.xml dhcpv6.xml ipp.xml mountd.xml proxy-dhcp.xml squid.xml zabbix-server.xml dhcp.xml ipsec.xml mssql.xml ptp.xml ssh.xml dns.xml ircs.xml ms-wbt.xml pulseaudio.xml syncthing-gui.xml docker-registry.xml irc.xml murmur.xml puppetmaster.xml syncthing.xml docker-swarm.xml iscsi-target.xml mysql.xml quassel.xml synergy.xml dropbox-lansync.xml jenkins.xml nfs3.xml radius.xml syslog-tls.xmlView Code
我們查看 http.xml 文件的內容:
root@yaowenxu /u/l/f/services# cat http.xml <?xml version="1.0" encoding="utf-8"?> <service> <short>WWW (HTTP)</short> <description>HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.</description> <port protocol="tcp" port="80"/> </service>
我們對新增服務進行舉例:
就要新建一個服務,在/usr/lib/firewalld/services,隨便拷貝一個xml文件到一個新名字,比如myservice.xml,把裡面的short改為想要名字(這個名字只是為了人來閱讀,沒有實際影響。重要的是修改 protocol和port。修改完保存。重啟firewalld服務。否則可能提示找不到剛纔新建的service。
然後把新建的service添加到firewalld:
firewall-cmd --permanent --add-service=myservice
firewall-cmd --reload 後生效。
保持更新,轉載請註明出處。如果對您有幫助,請點擊右下角的推薦進行支持。