在Ubuntu 18.04/Ubuntu 16.04上安装和使用防火墙

时间:2020-02-23 14:32:56  来源:igfitidea点击:

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

在本教程中,将介绍Ubuntu 18.04和Ubuntu 16.04 Linux发行版对Firewalld的基本用法。

如何在Ubuntu 18.04/Ubuntu 16.04上安装防火墙

Ubuntu的默认防火墙系统是UFW,但如果我们愿意,我们可以安装和使用防火墙。
自从我是沉重的CentOS 7用户,Firewalld对我来说很好。

通过运行命令在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,请禁用它以使防火墙默认防火墙

sudo ufw disable

在Ubuntu上使用防火墙18.04/Ubuntu 16.04

既然程序包已安装并启动防火服务已启动,让我们看几个使用情况

请参阅以下示例以获取防火墙的基本使用。

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:

sshdhcpv6-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.删除端口/服务

代替 --add–-remove有关进一步阅读,请参阅官方防火墙文档