本文介绍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的基本用法了。
相关主题