在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:
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.
删除端口/服务
代替 --add
和 –-remove
有关进一步阅读,请参阅官方防火墙文档