使用UFW配置端口转发

如果要从公共IP转发流量,例如。
“150.129.148.155”“端口”80和443到具有IP地址192.168.1.120的另一个内部服务器。
然后,我们可以通过编辑/etc/default/prefore.rules进行执行此操作:

# nano /etc/default/before.rules

更改文件如下所示:

:PREROUTING ACCEPT [0:0] 
-A PREROUTING -i eth0 -d 150.129.148.155   -p tcp --dport 80 -j  DNAT --to-destination 192.168.1.120:80 
-A PREROUTING -i eth0 -d 150.129.148.155   -p tcp --dport 443 -j  DNAT --to-destination 192.168.1.120:443 
-A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE

接下来,使用以下命令重新启动UFW:

# ufw disable
# ufw enable

接下来,我们还需要允许端口80和443.我们可以通过运行以下命令来执行此操作:

# ufw allow proto tcp from any to 150.129.148.155 port 80
# ufw allow proto tcp from any to 150.129.148.155 port 443

添加和删除防火墙规则

我们可以使用端口号或者使用服务名称以两种方式添加允许传入和传出流量的规则。

例如,如果要允许HTTP服务的传入和传出连接。
使用服务名称:

ufw allow http

或者,使用端口号,运行以下命令:

ufw allow 80

如果要根据TCP或者UDP过滤数据包,则运行以下命令:

ufw allow 80/tcp 
ufw allow 21/udp

我们可以使用以下Linux命令查看添加规则的状态。

ufw status verbose

我们应该看到以下输出:

Status: active 
Logging: on (low) 
Default: deny (incoming), allow (outgoing), deny (routed) 
New profiles: skip 
To                         Action      From 
--                         ------      ---- 
80/tcp                     ALLOW IN    Anywhere 
21/udp                     ALLOW IN    Anywhere 
80/tcp (v6)                ALLOW IN    Anywhere (v6) 
21/udp (v6)                ALLOW IN    Anywhere (v6)

我们还可以随时拒绝任何传入和传出流量,其中包含以下命令:

# ufw deny 80 
# ufw deny 21

如果要删除HTTP的允许规则,只需在原理的规则前面添加delete,如下所示:

# ufw delete allow http 
# ufw delete deny 21

安装UFW

Ubuntu

默认情况下,UFW在大多数基于Ubuntu的发行版中可用。
如果已删除,则可以通过运行以下Linux命令来安装它。

# apt-get install ufw -y

debian

我们可以通过运行以下Linux命令在Debian中安装UFW:

# apt-get install ufw -y

Centos

默认情况下,UFW在CentOS存储库中不可用。
因此,我们需要将EPEL存储库安装到系统中。
我们可以通过运行以下Linux命令来执行此操作:

# yum install epel-release -y

安装EPEL存储库后,只需运行以下Linux命令即可安装UFW:

# yum install --enablerepo="epel" ufw -y

安装UFW后,启动UFW服务并通过运行以下Linux命令启动它以启动启动时间。

# ufw enable

使用以下Linux命令检查UFW的状态。

# ufw status 
Status: active

我们还可以通过运行以下Linux命令来禁用UFW防火墙:

# ufw disable
如何在Linux上安装和使用UFW防火墙

高级UFW规则

我们还可以添加特定的IP地址以允许和拒绝访问所有服务。

运行以下命令以允许IP 192.168.0.200访问服务器上的所有服务:

# ufw allow from 192.168.0.200

要拒绝IP 192.168.0.200访问服务器上的所有服务:

# ufw deny from 192.168.0.200

我们可以在UFW中允许IP地址范围。
运行以下命令以允许IP 192.168.1.1至192.168.1.254的所有连接:

# ufw allow from 192.168.1.0/24

要允许IP地址192.168.1.200使用TCP访问端口80,请运行以下Linux命令:

# ufw allow from 192.168.1.200 to any port 80 proto tcp

要允许访问TCP和UDP端口范围从2000到3000,请运行以下Linux命令:

# ufw allow 2000:3000/tcp 
# ufw allow 2000:3000/udp

如果要阻止IP 192.168.0.4和192.168.0.10的端口22,但允许所有其他IP访问端口22,请运行以下命令:

# ufw deny from 192.168.0.4 to any port 22 
# ufw deny from 192.168.0.10 to any port 22 
# ufw allow from 192.168.0.0/24 to any port 22

要允许网络接口eth0上的HTTP流量,请运行以下Linux命令:

# ufw allow in on eth0 to any port 80

默认情况下,UFW允许ping请求。
如果要拒绝ping请求,则需要编辑/etc/ufw/before.rules文件:

# nano /etc/ufw/before.rules

删除以下行:

-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

完成后保存文件。

如果我们需要重置UFW,请删除所有规则,可以通过以下Linux命令执行此操作。

# ufw reset

使用UFW配置NAT

如果要使用UFW将与外部接口的连接到内部。

然后,我们可以通过编辑/etc/default/ufw/etc/ufw/free.rules文件来执行此操作。

首先,使用nano编辑器开放/etc/default/ufw文件:

# nano /etc/default/ufw

更改以下行:

DEFAULT_FORWARD_POLICY="ACCEPT"

接下来,我们还需要允许IPv4转发。
我们可以通过编辑/etc/ufw/sysctl.conf文件来完成此操作:

# nano /etc/ufw/sysctl.conf

更改以下行:

net/ipv4/ip_forward=1

接下来,我们需要将NAT添加到UFW的配置文件。
我们可以通过编辑/etc/ufw/befuare.rules文件来执行此操作:

# nano /etc/ufw/before.rules

在过滤器规则之前添加以下行:

# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
# don't delete the 'COMMIT' line or these nat table rules won't
# be processed
COMMIT
Save the file when you are finished. Then restart UFW with the following linux command:
ufw disable
ufw enable

设置UFW默认策略

默认情况下,UFW默认策略设置以阻止所有传入流量并允许所有传出流量。

我们可以使用以下Linux命令设置自己的默认策略。

ufw default allow outgoing 
ufw default deny incoming
日期:2020-07-07 20:56:20 来源:oir作者:oir