Ubuntu

ufw埠轉發不起作用

  • August 30, 2015

我正在嘗試將 ubuntu 14.04 伺服器設置為還進行一些埠轉發的路由器。我已經讓路由器部分工作了,但我一生都無法弄清楚為什麼埠轉發不起作用。我已經完成了以下步驟,目標是將 SMTP 和 http 流量轉發到私有子網上的伺服器:

  1. 取消註釋轉發行/etc/ufw/sysctl.conf
  2. 更新 /etc/default/ufw 行DEFAULT_FORWARD_POLICY="ACCEPT"
  3. 將以下行添加到/etc/ufw/before.rules(在 *filter 部分之前和之後都嘗試過):

*nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -p tcp -i eth0 --dport 25 -j DNAT --to-destination 10.16.0.51:25 -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 10.16.0.20:80 -A POSTROUTING -s 10.16.0.0/24 -o eth0 -j MASQUERADE COMMIT 4. 將以下行添加到(根據此處***filter**的範例)的部分:/etc/ufw/before.rules

-A PREROUTING -p tcp -i eth0 --dport 25 -j DNAT --to-destination 10.16.0.51:25 -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 10.16.0.20:80 5. 添加了 UFW 規則:

`To Action From


10.16.0.5 22 ALLOW 10.10.20.0/24 10.16.0.51 25 ALLOW [Public IP on eth0] 10.16.0.20 80 ALLOW [Public IP on eth0]`

我檢查了 UFW 日誌,它們顯示了它允許流量通過防火牆的位置,但我認為這就是它停止的地方。我已經按照各種不同文章和執行緒的指南和範例進行操作,無論出於何種原因,流量都沒有被轉發。

如果有幫助,我做了一個iptables -t nat -L -v

Chain PREROUTING (policy ACCEPT 1600 packets, 202K bytes)
pkts bytes target   prot opt in     out   source     destination
   1    60 DNAT     tcp  --  eth0   any   anywhere   anywhere   tcp dpt:smtp to:10.16.0.51:25
   1    60 DNAT     tcp  --  eth0   any   anywhere   anywhere   tcp dpt:http to:10.16.0.20:80

Chain INPUT (policy ACCEPT 4 packets, 770 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 20 packets, 1430 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 22 packets, 1550 bytes)
pkts bytes target     prot opt  in     out     source               destination
   0     0 MASQUERADE  all  --  any    eth0    10.16.0.0/24         anywhere

據我所知,它應該可以工作。我還能檢查什麼?我錯過了任何步驟嗎?有什麼工具可以用來嘗試找出可能發生的事情嗎?非常感謝任何幫助或建議。謝謝。

問題是網路路由問題。我一直在嘗試設置一種 DMZ,所以我讓伺服器指向內部路由器。網關可以 ping 伺服器,但我猜它不知道如何路由 smtp 或 http 流量。將郵件和 Web 伺服器更改為指向 ubuntu 網關修復了路由問題,並且轉發開始工作。

引用自:https://serverfault.com/questions/717772