云网牛站
所在位置:首页 > Linux安全 > 在Ubuntu 18.04/16.04系统上安装和使用Firewalld的方法

在Ubuntu 18.04/16.04系统上安装和使用Firewalld的方法

2019-02-18 20:57:49作者:牛福昕稿源:云网牛站

本文介绍Firewalld在Ubuntu 18.04或Ubuntu 16.04发行版上的安装方法及基本用法。

 

简介

Firewalld是Linux防火墙管理工具,支持IPv4、IPv6、以太网桥和IPSet防火墙设置,它充当Linux内核的netfilter框架的前端,同时Firewalld是RHEL 7系列上的默认防火墙管理软件。

在Ubuntu 18.04/16.04系统上安装和使用Firewalld的方法

 

在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=<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的基本用法了。

 

相关主题

双网卡Firewalld在Linux系统中的配置方法

精选文章
热门文章