O OpenVZ Host é o endereço IP de origem, em vez dos web surfers reais?

1

Estou experimentando algo um pouco estranho. Estou executando o OpenZV em um servidor do CentOS 5. Parece que nos contêineres o endereço IP de origem que diz que o servidor Apache vê uma solicitação é o endereço IP do Host OpenVZ em vez do endereço IP do usuário real. Alguma sugestão sobre por que isso pode estar ocorrendo?

Este é o meu sysctl.conf:

# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0

# Enables source route verification
net.ipv4.conf.all.rp_filter = 1

# Enables the magic-sysrq key
kernel.sysrq = 1

# We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

Saída de salvamento do iptables:

# Generated by iptables-save v1.3.5 on Sun Jan  3 15:23:59 2010
*nat
:PREROUTING ACCEPT [756200:49422664]
:POSTROUTING ACCEPT [903767:67426359]
:OUTPUT ACCEPT [369070:31874494]
-A POSTROUTING -m mark --mark 0x9 -j MASQUERADE 
COMMIT
# Completed on Sun Jan  3 15:23:59 2010
# Generated by iptables-save v1.3.5 on Sun Jan  3 15:23:59 2010
*mangle
:PREROUTING ACCEPT [12320704:7736523164]
:INPUT ACCEPT [384169:50094465]
:FORWARD ACCEPT [11926020:7685806944]
:OUTPUT ACCEPT [386465:36820058]
:POSTROUTING ACCEPT [12308944:7722398683]
-A PREROUTING -i eth0 -j MARK --set-mark 0x9 
COMMIT
# Completed on Sun Jan  3 15:23:59 2010
# Generated by iptables-save v1.3.5 on Sun Jan  3 15:23:59 2010
*filter
:INPUT ACCEPT [379753:49502640]
:FORWARD ACCEPT [11855492:7632198223]
:OUTPUT ACCEPT [386465:36820058]
:RH-Firewall-1-INPUT - [0:0]
COMMIT
# Completed on Sun Jan  3 15:23:59 2010

saída ip ro sh:

68.168.248.39 dev venet0  scope link 
68.168.248.38 dev venet0  scope link 
68.168.248.37 dev venet0  scope link 
68.168.248.36 dev venet0  scope link 
68.168.248.35 dev venet0  scope link 
68.168.248.34 dev venet0  scope link 
68.168.248.33 dev venet0  scope link 
68.168.248.40 dev venet0  scope link 
208.89.162.96/27 dev eth0  proto kernel  scope link  src 208.89.162.114 
169.254.0.0/16 dev eth0  scope link 
default via 208.89.162.97 dev eth0 
    
por Jerry Tunin 03.01.2010 / 19:32

4 respostas

0

Parece que tudo se resume a ter o mangle no iptables. Uma vez que foi removido tudo parece estar funcionando como deveria. Não tenho certeza se esta é uma configuração padrão do CentOS ou algo que foi definido ao longo do caminho. Então, se você está enfrentando essa corrida:

iptables -t nat -L
iptables -t mangle -L

E certifique-se de que tudo esteja limpo. Além disso, verifique se as alterações estão refletidas em / etc / sysconfig / iptables para que ele não ocorra novamente na reinicialização.

    
por 04.01.2010 / 23:38
2

link

Verifique se você está usando ponte Ethernet para convidados, em vez de "nat no nível do host"

    
por 03.01.2010 / 21:47
0

Você está invertendo o NAT em seu contêiner ou algum outro truque estranho?

Eu vejo isso no trabalho porque temos balanceadores de carga da Web baseados no Piranha no trabalho, portanto, quando uma solicitação vem de um IP público I NAT em meus servidores da Web, em vez de expô-los à Internet

    
por 03.01.2010 / 19:59
0

Você pode dizer (e anexar a saída):

iptables-save
ip ro sh

no seu host?

Qual distribuição é essa?

    
por 03.01.2010 / 23:22