2017-02-20 51 views
0

我在服務器上運行Debian 7.0,並且我有一些OpenVZ的容器。OpenVZ:根據端口發送請求到容器

我想根據請求到服務器發送這個請求到一個特定的容器。 例子:

domain.com:500 -> Container1 will handle it 

domain.com:501 -> Container2 will handle it 

我想,如果可能的話,避免造成的IPTables我只是有它的煩惱,從來沒有真正瞭解它的規則(我很想避免HAProxy的太)。使用UFW我沒有問題。

我正在尋找一個非常簡單的解決方案。

+0

UFW其使用iptables。它只是爲iptables提供了一個更簡單的配置,就這些。如果你喜歡並且做端口轉發,你可以使用ufw。 –

回答

0

如果您使用ufw,請轉到/ etc/ufw /並編輯以前的文件。該文件開頭:

# NAT table rules 
*nat 
:PREROUTING ACCEPT [0:0] 
:POSTROUTING ACCEPT [0:0] 
-F 

後正確的請加(這只是一個例子):

# container 1 rules 
-A PREROUTING -i eth0 -p tcp --dport 500 -j DNAT --to-destination container1-ip-address:port 
# container 2 rules 
-A PREROUTING -i eth0 -p tcp --dport 501 -j DNAT --to-destination container2-ip-address:port 

,就應該替換與您的服務器的界面(我假設你正在使用橋接)的eth0。

保存文件。重新啓動UFW防火牆:

ufw disable 
ufw enable 

我想你的容器已經有互聯網接入,所以我假設你已經在你的內核中啓用端口轉發支持(你應該在/etc/sysctl.conf中此行):

net.ipv4.conf.all.forwarding = 1 
net.ipv4.ip_forward = 1