仅将 Web 流量转发到另一个接口

KK *_*tel 3 ufw interface

我的 Ubuntu 服务器有两个接口。

1) Public - eth0

2) Internal -  eth1
Run Code Online (Sandbox Code Playgroud)

如何将网络流量(端口 80)从公共接口 eth0 转发到在 eth1 上运行的 nginx ?我不知道确切的 ufw 规则来完成这个。

谢谢

pl_*_*ock 6

ufw不会解决您允许转发的问题,但不会进行转发。如果你想转发你的流量,那么你必须编写NAT规则,将来自公共 ip 的流量转发到私有 ip。

如果你想允许从特定网络转发到另一个网络,那么你可以使用:

sudo ufw route allow in on eth0 out  on  eth1  to  10.0.0.0/8 port 80  from 192.168.0.0/16
Run Code Online (Sandbox Code Playgroud)

或者

如果要转发所有网络请求,则可以使用 like

sudo ufw route allow in on eth0 out  on  eth1  to  any port 80  from any
Run Code Online (Sandbox Code Playgroud)

它会显示如下:

sudo ufw status
Status: active
To                         Action      From
--                         ------      ----
10.0.0.0/8 80 on eth1      ALLOW FWD   192.168.0.0/16 on eth0
Run Code Online (Sandbox Code Playgroud)

有关更多信息,您可以查看

man ufw 
Run Code Online (Sandbox Code Playgroud)