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

1

Eu tenho um problema com o meu VPS. Exemplo simples:

<?php $ip = $_SERVER['REMOTE_ADDR']; 
Echo "User IP : " . $ip; 
?>

Esse código deve exibir o endereço IP do usuário, mas está mostrando o endereço IP do HN (não o endereço IP do VPS).

Novamente, quando estou registrando via ssh para o contêiner virtual, o IP que efetuou login é o IP do nod de hardware.

Existe um problema semelhante: OpenVZ Host é o endereço IP de origem, em vez de surfistas reais?

Aqui está a configuração do openVZ:

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1

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

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 1

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
# Disable proxy arp
net.ipv4.conf.default.proxy_arp = 0
# We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.ip_conntrack_max=32760

Configuração do IPTables

[root@nod1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  anywhere             anywhere
           all  --  clienti.alba.rdsnet.ro  anywhere
           all  --  anywhere             clienti.alba.rdsnet.ro
           all  --  clienti.alba.rdsnet.ro  anywhere
           all  --  anywhere             clienti.alba.rdsnet.ro
           all  --  clienti.alba.rdsnet.ro  anywhere
           all  --  anywhere             clienti.alba.rdsnet.ro

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     esp  --  anywhere             anywhere
ACCEPT     ah   --  anywhere             anywhere
ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTAB                                                                     LISHED
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:s                                                                     sh
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:s                                                                     mtp
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:h                                                                     ttp
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:f                                                                     tp
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:h                                                                     ttps
REJECT     all  --  anywhere             anywhere            reject-with icmp-ho      

Alguém por favor pode me ajudar? Além disso, eu não sou um especialista, então se alguém puder explicar passo a passo, eu realmente aprecio isso.

    
por Community 05.08.2010 / 11:48

4 respostas

0

Você poderia por favor colar uma saída da sua configuração do iptables? Você já tentou o que Jerry Tunin sugeriu como uma solução potencial?

iptables -t nat -L
iptables -t mangle -L
    
por 05.08.2010 / 12:43
2

OK, então aqui está o que eu fiz. Eu parei o serviço iptables e removi a seção com mangle e nat do / etc / sysconfig / iptables. Conforme instruído por Adam, eu removi "iptable_mangle" do arquivo / etc / sysconfig / vz na seção de linha "## IPv4 iptables kernel modules". Eu fiz:

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

Eu reiniciei o serviço iptables e o problema foi resolvido.

Agora posso ver meu IP privado no log do servidor: D

Muitos agradecem a Adam por apontar o mangle e nat.

Boa sorte!

    
por 07.08.2010 / 00:48
0

Você provavelmente tem um dispositivo de loopback em todas as suas máquinas VPS, portanto, tente removê-lo da configuração geral ou, para fins de teste, acesse o VPS e digite:

ifconfig lo down

verifique o IP de saída mais uma vez.

Atenciosamente, B. Bovhev

    
por 29.08.2010 / 06:30
0

Você tem um proxy no seu HN que envia o pedido para o servidor no CT?

Se esse for o seu caso, você deve informar ao seu proxy para encaminhar o IP do cliente para o seu servidor CT, e então ler o cabeçalho X-Forwarding-For.

    
por 05.09.2010 / 02:44