中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

centos7云服務器如何使用firewalld防火墻

小晨
214
2021-07-26 09:33:13
欄目: 云計算

centos7云服務器使用firewalld防火墻的方法:1、打開centos7云服務器終端控制臺;2、輸入“systemctl status firewalld”命令查看firewalld狀態來檢查firewalld是否已成功安裝;3、firewalld防火墻安裝成功后,能夠用來進行區域管理、服務管理、端口管理等等操作。

centos7云服務器如何使用firewalld防火墻

具體內容如下:

首先我們需要確認firewalld是否已成功安裝。用下面的命令來查看firewalld的狀態:

$ systemctl status firewalld

firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)

Active: active (running) since Thu 2016-03-10 15:07:00 UTC; 1min 30s ago

可以看出,在這臺云服務器上,firewalld已成功安裝并加載。

我們還可以用firewall-cmd工具來查看:

$ firewall-cmd --state

running

1、區域管理

和iptables不同,firewalld引入了一個叫做區域的概念,用于定義安全等級。區域的使用很靈活,我們可以把不同的網絡接口添加到不同的區域中,也可以把所有的網絡接口都添加到一個區域中。通過這樣的劃分,只要在區域上設置了防火墻規則,就可以應用于該區域下的所有網絡接口。為了便于用戶上手,firewalld建立了一個初始的默認區域。和區域相關的常用命令如下。

查看當前區域:

$ firewall-cmd --get-zones

block dmz drop external home internal public trusted work

查看默認區域:

$ firewall-cmd --get-default-zone

public

更改默認區域:

$ firewall-cmd --set-default-zone=home

值得注意的是,firewalld的設置文件是/etc/firewalld/firewalld.conf。雖然可以通過手工修改這個文件來設置firewalld,但是仍然推薦使用firewall-cmd命令,否則容易出現錯誤。

獲取活躍區域:

$ firewall-cmd --get-active-zones

獲取某個網絡接口對應的區域(以eth0為例):

$  firewall-cmd --get-zone-of-interface=eth0

如果默認區域不能滿足更精細化的需求,還可以創建新區域(以zone1為例):

$ firewall-cmd --permanent --new-zone=zone1

創建之后,需要重新加載:

$ firewall-cmd --reload

把某個網絡接口(以eth1為例)添加到某個區域(以internal為例)下:

$ firewall-cmd --permanent --zone=internal --change-interface=eth1

列出某個區域下的全部信息,包括網絡接口、允許的服務、端口設置等:

$ firewall-cmd --permanent --zone=public --list-all

public (default)

  interfaces:

  sources:

  services: dhcpv6-client ssh

  ports:

  masquerade: no

  forward-ports:

  icmp-blocks:

  rich rules:

2、服務管理

區域設置完畢之后,就可以把服務添加到區域中了。這里的服務指的是協議和端口的組合。

查看可用服務:

$ firewall-cmd --get-services

RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target 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 rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-https

查看默認區域下的服務:

$ firewall-cmd --list-services

dhcpv6-client ssh

把某個服務(以http為例)添加到某個區域(以public為例)下:

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

重新加載firewalld:

$ firewall-cmd --reload

驗證是否添加成功:

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

dhcpv6-client http ssh

把某個服務(以http為例)從某個區域(以public為例)中刪除:

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

如果我們要做一些自定義設置,比如修改了默認的SSH端口,那么就需要添加自定義服務。服務是以XML文件的格式來定義的,默認服務存放在/usr/lib/firewalld/services目錄下。我們用tree命令查看該目錄下的文件:

$ tree /usr/lib/firewalld/services

/usr/lib/firewalld/services

├── amanda-client.xml

├── bacula-client.xml

├── bacula.xml

├── dhcpv6-client.xml

├── dhcpv6.xml

├── dhcp.xml

├── dns.xml

├── freeipa-ldaps.xml

├── freeipa-ldap.xml

├── freeipa-replication.xml

├── ftp.xml

├── high-availability.xml

├── https.xml

├── http.xml

創建自定義服務最簡單的方法就是復制一份默認的服務XML文件,在此基礎上做修改。自定義服務存放在/etc/firewalld/services目錄下。例如,我們要創建自定義SSH服務,先復制一份SSH服務對應的XML文件。

$ cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-custom.xml

XML文件的內容如下:

$ cat /etc/firewalld/services/ssh-custom.xml

<?xml version="1.0" encoding="utf-8"?>

<service>

  <short>SSH</short>

  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>

  <port protocol="tcp" port="22"/>

</service>

假如我們要把端口號從22改成1234,那么要修改short標簽的內容和port標簽的屬性。修改后的文件如下:

$ nano /etc/firewalld/services/ssh-custom.xml

<?xml version="1.0" encoding="utf-8"?>

<service>

  <short>SSH-Custom</short>

  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>

  <port protocol="tcp" port="1234"/>

</service>

重新加載firewalld:

$ firewall-cmd --reload

把新創建的服務添加到默認區域下:

$ firewall-cmd --permanent --zone=public --add-service=ssh-custom

3、端口管理

除了通過服務來定義協議和端口規則之外,還可以單獨設置協議和端口的防火墻規則。比如我們要運行TCP協議7777端口,就可以這樣設置:

$ firewall-cmd --permanent --zone=public --add-port=7777/tcp

設置端口范圍也是沒有問題的:

$ firewall-cmd --permanent --zone=public --add-port=7000-8000/tcp

刪除剛才設置的協議和端口:

$ firewall-cmd --permanent --zone=public --remove-port=7777/tcp

查看某個區域下允許的協議和端口:

$ firewall-cmd --zone=public --list-ports

7000-8000/tcp

在所有設置完成之后,需要啟用firewalld,使其能跟隨系統自動啟動。

$ systemctl enable firewalld

0
汨罗市| 资溪县| 阿瓦提县| 弋阳县| 揭阳市| 玉屏| 来凤县| 宁国市| 墨江| 修武县| 津市市| 朝阳区| 曲阳县| 皋兰县| 祥云县| 杭州市| 蓬溪县| 柯坪县| 海淀区| 白城市| 芦溪县| 梧州市| 剑川县| 九龙城区| 彰武县| 宣恩县| 来凤县| 镇平县| 烟台市| 高邮市| 平定县| 贡觉县| 偃师市| 中西区| 苍梧县| 崇礼县| 澄迈县| 攀枝花市| 青浦区| 札达县| 德清县|