本文介紹Firewalld在Ubuntu 18.04或Ubuntu 16.04發行版上的安裝方法及基本用法。
簡介
Firewalld是Linux防火墻管理工具,支持IPv4、IPv6、以太網橋和IPSet防火墻設置,它充當Linux內核的netfilter框架的前端,同時Firewalld是RHEL 7系列上的默認防火墻管理軟件。
在Ubuntu 18.04/Ubuntu 16.04上安裝Firewalld的方法
Ubuntu系統的默認防火墻系統是ufw(參考:在Ubuntu 18.04系統中使用UFW設置防火墻),但是可以安裝和使用Firewalld,Firewalld對我來說很好,因為我以前是一個CentOS 7用戶。
通過運行命令在Ubuntu 18.04/Ubuntu 16.04上安裝Firewalld:
sudo apt-get install firewalld
默認情況下,應該啟動服務,如果沒有運行,則啟動并啟用它以在啟動時啟動:
sudo systemctl enable firewalld
sudo systemctl start firewalld
確認該服務正在運行:
$ sudo firewall-cmd --state
running
如果已啟用ufw,請將其禁用以使firewalld成為你的默認防火墻:
sudo ufw disable
在Ubuntu 18.04/Ubuntu 16.04上使用Firewalld的方法
現在已經安裝了軟件包并啟動了firewalld服務,讓我們看一些使用示例。
1.列出配置的所有防火墻規則
# firewall-cmd --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
啟動firewalld服務時,默認情況下會啟用ssh和dhcpv6-client服務。
2.獲取可以使用名稱啟用的所有服務的列表
sudo firewall-cmd --get-services
3.啟用http服務
sudo firewall-cmd --add-service=http --permanent
--permanent選項意味著針對服務器重新啟動的持久規則。
4.在一行上啟用http和https
sudo firewall-cmd --permanent --add-service={http,https} --permanent
5.啟用TCP端口7070
sudo firewall-cmd --add-port=7070/tcp --permanent
6.啟用UDP端口514
sudo firewall-cmd --add-port=514/udp --permanent
7.創建一個新區域
sudo firewall-cmd --new-zone=myzone --permanent
8.在特定區域上啟用服務
sudo firewall-cmd --zone=myzone --add-port=4567/tcp --permanent
9.設置默認區域
sudo firewall-cmd --set-default-zone=public --permanent
10.向區域添加接口
sudo firewall-cmd --get-zone-of-interface=eth0 --permanent
sudo firewall-cmd --zone= --add-interface=eth0 --permanent
11.允許從特定子網/ IP訪問端口
$ sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh"
source address="192.168.0.12/32" accept' --permanent
$ sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh"
source address="10.1.1.0/24" accept' --permanent
12.列出豐富的規則
sudo firewall-cmd --list-rich-rules
13.配置端口轉發
# Enable masquerading
$ sudo firewall-cmd --add-masquerade --permanent
# Port forward to a different port within same server ( 22 > 2022)
$ sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toport=2022 --permanent
# Port forward to same port on a different server (local:22 > 192.168.2.10:22)
$ sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toaddr=192.168.2.10 --permanent
# Port forward to different port on a different server (local:7071 > 10.50.142.37:9071)
$ sudo firewall-cmd --add-forward-port=port=7071:proto=tcp:toport=9071:toaddr=10.50.142.37 --permanent
14.刪除端口/服務
請用--remove替換--add
注:以上就是有關firewalld的基本用法了。
相關主題